git 高效命令大全

基础

查看本地分支和远程分支关联关系

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 
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 
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 
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

你可能感兴趣的:(git 高效命令大全)