非git使用教程,只是記錄在實際使用中的一些重點楚午、難點,以及需要注意的地方。
設(shè)置永久訪問權(quán)限
git config --global credential.helper store
子模塊
submodule
- 刪除
git rm -rf [path]
[path]的值在.gitmodule文件中查看近哟。
舉例:git rm -rf src/Libraries/Autofac
遠程庫
- 添加遠程庫
git remote name url
- 同步遠程庫到本地
- 建立并切換分支
git pull
分支
-
設(shè)置本地分支跟蹤遠程分支
方法一 設(shè)置同名本地分支 `git checkout --track origin/serverfixBranch' 設(shè)置不同名本地分支 `git checkout -b sf origin/serverfixBranch` 方法二 `git checkout 本地分支名稱` `git branch -u 遠程分支名稱`
設(shè)置本地分支不跟蹤任何遠程分支
git checkout 本地分支名稱
git branch --unset-upstream
使用本地分支創(chuàng)建遠程分支
git push 遠程庫名稱 HEAD:待創(chuàng)建的遠程分支名稱
git reflog的使用
reflog 會記錄所有HEAD的歷史,也就是說當(dāng)你做 reset鲫寄,checkout等操作的時候吉执,這些操作會被記錄在reflog中。
$ git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit
如果要找回我們第二commit地来,只需要做如下操作:
$ git reset --hard 98abc5a
再來看一下 git 記錄:$ git log* 98abc5a (HEAD, master) more stuff added to foo* b7057a9 initial commit所以戳玫,如果你因為reset等操作丟失一個提交的時候,你總是可以把它找回來未斑。
除非你的操作已經(jīng)被git當(dāng)做垃圾處理掉了咕宿,一般是30天以后。
git reset的使用
git reset --soft
只將HEAD移動到指定的提交上蜡秽。index和working tree(本地工作副本)不動荠列。
git reset --mixed
將HEAD移動到指定的提交上,并且撤銷index载城。working tree(本地工作副本)不動肌似。
git reset --hard
將HEAD移動到指定的提交上,并且撤銷index和working tree(本地工作副本)诉瓦。