git常用命令集總結

語言: CN / TW / HK

git 相關基礎操作

git br -a 查看本地和遠程所有分支

git branch 查看本地所有分支

git checkout *** 切換本地指定分支

git push origin 本地分支:遠程分支 提交本地分支到遠程

git push origin 遠程分支 提交本地到遠程分支

git branch -d 本地分支 刪除本地分支

git push origin :遠程分支 (origin 後面有空格) 或者 git push origin --delete 遠程分支

git reflog master 查看本地提交log

git reset --hard mas[email protected]{0} 本地回退到指定版本

git checkout -b 本地分支名x origin/遠程分支名x

git cherry-pick 某個commit id // 把某個commit id的提交合併到當前分支.

git remote -v 查看遠程庫地址

git remote set-url origin 倉庫地址 設置遠程倉庫地址

查看用户名和郵箱地址:

$ git config user.name
$ git config user.email

修改用户名和郵箱地址:

$ git config --global user.name "username"
$ git config --global user.email "email"

切換到 origin/Release分支,並在本地新建分支 myRelease

$ git checkout -b myRelease origin/Release

提交當前遠程倉庫分支到另一個倉庫

git push -u origin 分支名

添加遠程倉庫地址

git remote add origin [email protected]:yuzhix/TZSCustomer.git

查看遠程倉庫地址

git remote -v

刪除本地遠程倉庫地址

remote rm origin

拉取遠程分支到本地並創建本地分支

git fetch origin 遠程分支:本地分支

忽略已經被納入Git的文件

git rm --cached filename
該命令表示從git倉庫中將文件移除,不再進行版本控制,但保留工作區的該文件。
git rm表示移除某個文件,--cached表示從暫存區中移除
該命令並不會從物理上刪除文件,只是從暫存區中將文件刪除。由於該文件原本已經被版本控制了,使用了該命令後,雖然保留了工作區的該文件,但是卻會在暫存區中生成一個刪除了該文件的記錄,如果此時進行commit,就會把版本庫裏的該文件給刪掉了,如果push到遠程庫,也會被刪掉。

Git merge與Git rebase區別

合併原理不同,rebase會將分支其實位置拉到最新一次提交位置,再講本分支提交內容放在最新一次提交之後。[查看詳情](https://www.cnblogs.com/qunxiadexiaoxiangjiao/p/9489487.html)

Git rebase abort、continue、skip

1. Git rebase abort
    撤銷本次rebase
2. Git rebase continue 
    當rebase過程中遇到衝突時,解決步驟:
    一:解決衝突
    二:git add .提交到本地
    三:Git rebase continue 是本次rebase繼續進行
    - Git rebase skip
    引起此處衝突的commits會被丟棄,所以慎用

撤銷已完成的rebase

git reflog
git reset --hard 要回退到的提交號

git pull 與git fetch + git merge區別

Git在本地共有2個版本的代碼庫,一個是通常add,commit直接操作的的本地工作區master,一種是遠程倉庫在本地的映射代碼庫叫做origin/master。
git fetch方式同步遠程代碼時,實際只是將本地的origin/master同步了遠程版本,而本地工作區master並未同步遠程版本,
    還需要git merge來合併origin/master才能達到真正意義上的本地代碼同步遠程倉庫
git pull方式同步遠程代碼時,這是直接將本地工作區master 和本地遠程倉庫映射origin/master同時同步到了遠程倉庫最新版本

git stash

臨時保存工作目錄中已跟蹤文件和暫存區的修改,不受分支限制。後續可切換回當前分支繼續使用
- git stash save "本次暫存tag"
        儲藏工作目錄中已跟蹤文件和暫存區的修改
- git stash list 
查看臨時保存記錄
- git stash pop
恢復最近一次的臨時保存

未完待續,持續更新中...

本文作者:自如大前端研發中心-李恩林