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