基礎(chǔ)
查看本地分支和遠程分支關(guān)聯(lián)關(guān)系
git branch -vv
本地分支和遠程分支建立關(guān)系
git branch --set-upstream ae origin/feature/20170109_438831_jujin_no1_1
配置全局忽略文件
git config --global core.excludesfile ~/.gitignoreglobal
push 到指定遠程分支
git push <遠程主機名> <本地分支名>:<遠程分支名>
git push origin ae:feature/20170124_492954_ae-1_1
取消本地修改
git reset --hard
高級命令
批量刪除本地分支
批量刪除本地like 'jenn'或'finna'的分支
git branch | grep 'jenn\|finna' | xargs git branch -D
批量刪除本地not like 'jenn'和'finna'的分支
git branch | grep -v 'jenn\|finna' | xargs git branch -D
查看本地分支和遠程分支對應(yīng)關(guān)系
git branch -vv
git 回滾
- 如果一個文件,未執(zhí)行 add 操作
請用 git checkout file 放棄本地修改 - 如果一個文件,已經(jīng) add 未 commit
請用 git reset HEAD file 回退 add 操作 - 如果一個文件已經(jīng) commit(或push)
請看下文:
查看commit歷史
MacintoshHD-6c96cfde3f7b:ae-crm-server duzhen$ git log
commit 7c046f41e022ffe8237069aa0f1c97ca28b08103 (HEAD -> master, origin/feature/20180413_2102487_int-service-offline_1, feature/20180413_2102487_int-service-offline_1)
Author: duzhen.dz <duzhen.dz@alibaba-inc.com>
Date: Fri Apr 13 11:36:11 2018 +0800
int service depend function to long service offline
commit 31b940cae88fad771f485d550a62ca5aa8425697 (origin/master, origin/HEAD)
Merge: 6a4dcd29 e95c6803
Author: aonebuild <aonebuild@alibaba-inc.com>
Date: Sat Mar 31 16:23:25 2018 +0800
Merge commit 'e95c68034b42e41e9c938ed99719130a694f7a00'
commit e95c68034b42e41e9c938ed99719130a694f7a00 (tag: tags/20180331162317234_ae-seller-crm-server, origin/releases/20180320094449213_r_release_47890_ae-seller-crm-server-code)
Merge: 112bfe4f f3d1ecd9
Author: aonebuild <aonebuild@alibaba-inc.com>
Date: Sat Mar 31 16:07:17 2018 +0800
Merge commit 'f3d1ecd978c2fcba8e09803376a21d7b877953f4' into releases/20180320094449213_r_release_47890_ae-seller-crm-server-code
放棄int service depend function to long service offline的修改,即回退到31b940cae88fad771f485d550a62ca5aa8425697的提交狀態(tài)。(這里不加 --hard 會把回退后的 commit 內(nèi)容保留到本地修改)
git reset --hard 31b940cae88fad771f485d550a62ca5aa8425697
push更改
git push --force
此時git log已經(jīng)無int service depend function to long service offline記錄
撤銷某次 commit,此次操作之前和之后的 commit 和 history 都會保留,并且把這次撤銷作為一次最新的提交,請使用
git revert 31b940cae88fad771f485d550a62ca5aa8425697
當前修改轉(zhuǎn)移到其他分支
先用 stash 命令暫存修改,再切換到另外一個分支,將修改 通過 stash pop 彈出
git stash
git checkout b
git stash pop