基础
查看本地分支和远程分支关联关系
git branch -vv
本地分支和远程分支建立关系
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
查看本地分支和远程分支对应关系
git branch -vv
git 回滚
- 如果一个文件,未执行 add 操作
请用 git checkout file 放弃本地修改 - 如果一个文件,已经 add 未 commit
请用 git reset HEAD file 回退 add 操作 - 如果一个文件已经 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
的提交状态。(这里不加 --hard 会把回退后的 commit 内容保留到本地修改)
git reset --hard 31b940cae88fad771f485d550a62ca5aa8425697
push更改
git push --force
此时git log
已经无int service depend function to long service offline
记录
撤销某次 commit,此次操作之前和之后的 commit 和 history 都会保留,并且把这次撤销作为一次最新的提交,请使用
git revert 31b940cae88fad771f485d550a62ca5aa8425697
当前修改转移到其他分支
先用 stash 命令暂存修改,再切换到另外一个分支,将修改 通过 stash pop 弹出
git stash
git checkout b
git stash pop