常用的Git命令

2021-07-26 13:46:27 字數 3152 閱讀 4661

1.分支相關的命令

git branch test       ##新建乙個本地的test分支

git checkout test    ##切換到test分支

git branch -a          ##顯示本地的所有分支

git branch -d test   ##刪除test分支

2.更新**

2.1 git pull origin develop/master  ##獲取庫上develop/master分支上的最新**,再進行merge操作

該命令相當於:

git fetch origin develop    ##從遠端develop分支獲取最新**

git merge origin/develop  ##將本地修改和遠端**進行merge操作

該操作的缺點:常常由於不恰當的merge,導致沒有change id,從而使得下次的提交失敗。這時候的解決方法如下:

git reset --soft 沒有change id的那次提交的雜湊值      ##使cmd id回退到該版本

git commit --amend      ##再提交一次,使其產生change id

再進行如下的提交操作

git add .     ##提交本資料夾下的所有修改過的檔案

git commit -m "注釋"

2.2 通過fetch和rebase實現

git fetch origin develop

git log -p develop..origin/develop    ##檢視兩者差異

git rebase origin/develop

git add xx_path/xx_file  ##有衝突時,先解決再add衝突檔案

git rebase --continue

(注:在做rebase時,最好不要同時提交新的修改;此時就不需要使用git commit命令了,從而避免將庫上的歷史搞亂)

git push origin head:refs/for/develop

3.檢視檔案的修改

git reflog    ##檢視本地的操作記錄

git log origin/develop..head           ##檢視本地的大致修改

git log --stat origin/develop..head  ##檢視本地的詳細修改

git status

(git status -s 簡單模式檢視狀態,第一列本地庫和快取區的差異,第二列快取區和工作目錄的差異),

git diff file_name      ##檢視file_name的具體修改

git log -n 4      ##檢視更新到本地的最新4次修改日誌

git log --stat    ##檢視每次修改都更改了哪些檔案

git log --pretty=oneline path/file  ##檢視乙個檔案的所有修改

git show 雜湊值 檔名     ##檢視某個檔案的某次修改

git log origin/develop..head

git log --name-status  ##檢視日誌及每次修改的檔案

git log ..origin/develop --oneline     ##檢視庫上比本地的新修改

git log origin/develop.. --oneline     ##檢視本地比庫上的新修改

git log -graph

4. 提交**

git config --list  ##檢視本人的配置情況(若已配置則忽略下面兩步)

git config user.name yyy

git config user.email [email protected]

git config --list  ##檢視配置是否生效

git add .           ##將本地的修改都上庫

git commit -m "注釋"

git push origin develop:refs/for/develop  ##將修改的**推送到遠端(第一次上庫時使用)

git push origin head:refs/for/develop    ##將修改的**推送到遠端(非第一次上庫時使用)

最後到gerrit的網頁上確認提交是否生效

5.編譯庫上的最新的乾淨版本

git fetch

git checkout -b test origin/develop   ##新建並切換到test分支,更新遠端develop的**至此分支

cp ../rawprjall/build/dll/id_rsa.ppk build/dll/

cp ../rawprjall/build/dll/username.gittxt build/dll/

然後進入build目錄再執行編譯指令碼

6.提取gerrit伺服器上感興趣的(或出問題的)某個版本(如:某次提交後導致出問題的版本)

git fetch ssh://yyy@ip:29418/** && git checkout -b newtest fetch_head

git log  ##檢視提交日誌,假設出問題的版本的雜湊值為111, 想要回退的版本的雜湊值為222

git reset --hard 222

(git reset --hard head  ##比如merge衝突時,回退到本地之前的**先)

git cherry-pick 111 ##將111版本中提交的修改更新到本地的222版本上

7.將多個提交合成乙個

假設使用git log檢視到了111, 222,333,444四個修改,現在想將前面3個修改合併

git reset 444

git add .

git commit -m "將前三個修改合併"

git log      ##假設新提交為555

git diff 111 555  ##比較合併後的和之前的,確認無漏

git push origin head:refs/for/develop

8.其餘命令

git remote -v

####更加release的版本號1111,反推是從哪個git commit編譯出來的

git log --reverse --oneline origin/develop | head -n 1111 | tail -n1

git常用的命令

1.複製版本庫 研發人員首先clone整個版本庫 git clone git git clone git 2.建立分支 預設clone下來的git庫只包含master本地分支 master remotes origin head origin master remotes origin r91p1 ...

常用的Git命令

git add 檔案 新增檔案到暫存區 git add 則新增當前工作區全部檔案,當然忽略的檔案除外。git commit m 說明 也有不是新增說明直接提交的方法,但是強烈建議使用這個。git status 檢視當前工作區的狀態,不解釋,這個應該是最常用的吧。git log 檢視git日誌 git...

git常用的命令

2.使用不同的顏色顯示 git config global color.ui auto 3.初始化倉庫 前往倉庫 cd 倉庫路徑 初始化 git init 4.新增當前倉庫中要提交的檔案到暫存區 git add 5.檢視狀態 os x命令列下,綠色為可以提交狀態,紅色則不可以 git status ...