1. git commit --amend
修改最近提交
git commit --amend
会覆盖最近的一次提交。如果要更新到远程,需要强制推送:git push --force
。git reflog
查看所有的提交历史,可以使用git reset --hard <reflog-id>
找回被覆盖的提交。
2. git reset
回退版本
git reset --soft <commit>
回退版本,不影响暂存区和工作区。git reset [--mixed] <commit>
回退版本,重置暂存区,不影响工作区。--mixed
是默认选项。git reset --soft <commit>
回退版本,重置暂存区和工作区。相当于丢弃所有更改。- 如需推送到远程,需要强制推送。
3. git cherry-pick
拣选提交
git cherry-pick <commit1> <commit2> <commit3>
pick多个提交(按照依赖顺序)。git cherry-pick --continue
解决冲突后,继续cherry-pick。git cherry-pick --abort
发生代码冲突后,放弃合并。
4. git log
查看提交日志
git log -S 关键词
按关键词。git log --author="username1\|usernmae2"
按作者。git log --after="2023-2-1"
按提交时间。--before=<date>
某个日期之前。git log --merges
查看合并记录。--no-merges
过滤合并记录。git log
查看现有的所有提交记录,不包括删除和reset的操作。git reflog
可以查看包含删除的所有提交。
5. HEAD
HEAD
当前版本;HEAD^
上一个版本;HEAD^^
上上一个版本。HEAD~0
当前版本;HEAD~1
上一个版本;HEAD~2
上上一个版本。
6. git stash
存储更改
git stash
存储所有工作区更改。即git stash push
。git stash list
查看当前stash的所有内容。git stash pop
取回所有更改并从stash中删除。git stash apply
取回更改但不会从stash删除内容。git stash clear
清空stash。
7. git
分支指令
git branch
查看本地分支。-r
查看远程分支。-a
查看所有(本地+远程)分支git branch -d branch_name
删除本地分支。-D
强制删除。git branch -m <oldName> <newname>
重命名分支。git checkout -b new_branch
创建并切换到新分支。git add .
添加所有更改到暂存区。git commit -m "message"
提交暂存到本地仓库。git pull
拉取远程。即git fetch
抓取+git merge
合并。git push
推送到远程。git push origin --delete branch_name
删除远程分支。