git amend
当一些更改已提交,却发现漏提交了一部分文件,这时就可以用这个命令,可以把漏的部分追加到上一次提交
git add forgotten_file.rb
git commit ––amend
reset soft
刚刚提交,却又发现刚才的代码还有bug,想再次修改后再提交
git reset ––soft HEAD^
注意与 git reset --hard HEAD^
不同的是,--soft
并不同把上一次提交的代码删除,只是把它变成未提交的状态,而--hard
却会完全撤消上一次提交的代码。
git blame
当你想查出,一个文件里,每一行代码是谁编辑的,可以使用这个命令
git blame robin.md
git checkout tags/v1.0
当分支名和标签名相同时,需要这样写
branch_at
当你想从某一历史版本中开一个分支,而不是最新的版本中开分支,可以这样写:
git branch test_branch eadnadk213dsafdsafkl234j32ll34l2l
rebase
当远程mater分支已更改, 本地又基于旧版本的master进行的提交,可以重新指定基于远程master,之后再提交,避免冲突时把远程的代码merge 掉:
git rebase origin/master master
git push origin master
git reflog
reflog是git用来记录引用变化的一种机制,比如记录分支的变化或者是HEAD引用的变化。可以用来查找操作记录以及恢复数据
git submodule add
添加外部项目为子模块