git 小记

有一些不太常用的git命令记录下

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

添加外部项目为子模块

git rebase -i

0%