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 [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
恢復最近一次的臨時儲存

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

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