按使用場(chǎng)景 記錄目前常用的git操作
本地分支相關(guān)操作
本地分支查看:git branch
本地分支轉(zhuǎn)換:git checkout <已有的分支名>
創(chuàng)建本地分支:git checkout -b <新建的分支名>
刪除本地分支:git branch -d <準(zhǔn)備刪除的分支名>
本地當(dāng)前分支更新:git fetch,(然后有需要的話(huà)可git rebase origin/master更新本地master分支)
從本地推送分支內(nèi)容到遠(yuǎn)程分支(推PR)
step1.?git add <準(zhǔn)備commit的文件的文件名> (或者可以git add .添加當(dāng)前所有已修改的文件)
step2.?git commit -m?"<短述這次commit的作用>"(注意要加“”號(hào),且短述一般不應(yīng)超過(guò)50個(gè)字符長(zhǎng)度)
step3. git push(非首次推PR的話(huà)會(huì)一般用git push -f ;?首次推PR一般用git push,推薦用git push --set-upstream origin <遠(yuǎn)程分支名(一般會(huì)和本地同名)>,我的理解是使上游的分支和本地的分支在首次推PR時(shí)產(chǎn)生一個(gè)一一對(duì)應(yīng)的關(guān)系,詳見(jiàn)【1】
)
PR沖突處理
step1. git fetch
step2. 保留需要的內(nèi)容(選current changes或incomming changes或both)
step3. git add .
step4. git push -f
暫存本地已編輯的內(nèi)容及相關(guān)處理
git stash save?<為這部分的內(nèi)容起一個(gè)名字>?(暫存本地已編輯的內(nèi)容)
git stash list (查看已暫存的內(nèi)容列表)
git stash pop stash@{N}?(N是已暫存的內(nèi)容列表對(duì)應(yīng)的數(shù)字;如果直接git stash pop則等同于git stash pop stash@{0})
git stash drop?stash@{N} (刪除對(duì)應(yīng)的暫存內(nèi)容)
git stash clear (刪除所有暫存的內(nèi)容)
在本地查看從遠(yuǎn)程拉下來(lái)的文件里每行代碼的編輯者
git blame <對(duì)應(yīng)文件名>
(暫時(shí)只想到這些)
Reference
-------------
【1】https://stackoverflow.com/questions/37770467/why-do-i-have-to-git-push-set-upstream-origin-branch
=END=