Git的使用
快速开始
-
基本信息设置
-
设置全局用户名
git config --global user.name "你在GitHub上注册的用户名"
-
设置全局邮箱
git config --global user.email "你在Github上注册的邮箱"
注意:配置仓库中的某项设置无需添加
--global
参数 -
-
初始化文件夹为新仓库
git init
-
添加文件到暂存区
git add test.html
-
将文件从暂存区提交到本地仓库
git commit -m 'install commit'
-
从Git中删除文件
git rm test.html
-
删除暂存区和仓库中的文件
git rm -f test.html
git clone
git clone
命令将存储库克隆到新目录中
eg: git clone http://github.com/jquery/jquery.git
- git克隆指定分支
git clone -b <分支名/commitId> <仓库地址>
git push
git push
命令用于将本地分支的更新,推送到远程主机。
语法 git push <远程主机名> <本地分支名>:<远程分支名>
- git强制推送(不建议使用)
git push -f
:将当前分支的强制(覆盖)推送到远程分支
git 设置代理加速访问github或其他git远程仓库
git config http.proxy=http://127.0.0.1:8889
git config https.proxy=https://127.0.0.1:8889
修改历史提交信息
-
配置git的
user.name
和user.email
:// 设置全局 git config --global user.name "Author Name" git config --global user.email "Author Email" // 或者设置本地项目库配置 git config user.name "Author Name" git config user.email "Author Email"
-
修改最近一次提交信息
git commit --amend --author="NewAuthor <NewEmail>"
-
修改多个提交中的邮件地址
#!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="your-old-email@example.com" CORRECT_NAME="Your Correct Name" CORRECT_EMAIL="your-correct-email@example.com" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] then export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" fi ' --tag-name-filter cat -- --branches --tags
修改需要谨慎 强制推送修改到远程仓库
git push --force --tags origin 'refs/heads/*'
-
修改某次提交的提交时间
CT_COMMITTER_DATE="2021-01-14T16:51:07" git commit --amend --date="2021-01-14T16:51:07" -C {提交id}
git merge 将一个分支的更改合并到另一个分支
eg: 将feature_branch合并到master分支
git checkout master
git merge feature_branch
此操作建议到IDEA中进行 因为有可能存在冲突 IDEA解决冲突更方便
git cherry-pick 将一个或多个提交从一个分支应用到当前分支
eg: 将feature_branch中的提交 43f4fb7d6c23d2ca371b01dd68473533f6a888de
合并到master分支
git checkout feature_branch
git log # 查找commit_sha1
git checkout master
git cherry-pick 43f4fb7d6c23d2ca371b01dd68473533f6a888de
此操作建议到IDEA中进行 IDEA更方便
参考文档
使用 SSH 连接到 GitHub - GitHub Docs https://www.silinchen.com/post/git-amend-commit-info-author-email