git解決衝突

好方法:
git pull --rebase
修改
Git stash
Git pull --rebase
Git stash pop
Git add .
Git commit -m ''
git push origin HEAD:refs/for/devgit

 

場景一:
撤銷工做區的修改:git checkout -- file
場景二:
撤銷暫存區的修改(只是add還未commit):1.撤銷單個文件或文件夾:git reset HEAD -filename 2.撤銷全部的已經add的文件:git reset HEAD .
場景三:
已經commit還未推送到遠程:git reset --hard HEAD^(版本回退)服務器

 

 

柔持git操做步驟開發

- [ ] git branch -av 確保在dev分支下,若是不在該分支下,用git checkout dev切換到該分支
- [ ] 查看修改的文件狀態,git status
- [ ] 紅色的修改文件,須要經過git add **,新增到git控制中,而後顏色會變綠
- [ ] 經過git commit -m 「Bugfix: ….」,提交到本地倉庫
- [ ] 經過git push origin HEAD:refs/for/dev,push到遠程倉庫it

- [ ] 經過git pull --rebase,能夠將遠程倉庫的代碼拉到本地,注意分支,拉遠程A分支到本地B分支,會自動merge,切記!!ast

提交到gerrit後要求修改再次提交時:
- [ ] git add ***
- [ ] 經過git diff --cached,查看此次修改的內容
- [ ] 提交到本地倉庫:git commit --amend,將此次修改的內容覆蓋最新的提交,若是最新的提交是其餘人提交的,此時會有問題!!!
- [ ] push到遠程倉庫: git push origin HEAD:refs/for/dev
將dev的代碼推到pre上,且在一條直線上:git push origin dev:prestream

刪除本地分支:
- [ ] git branch -d tmp(-D強制刪除,不能刪除當前的分支)file

跟蹤Git項目源代碼:
- [ ] gitk --all&方法

取遠程dev分支並分化一個新分支tmp:
- [ ] git checkout -b tmp origin/dev項目

將本地一個分支上的commit (de56ab78b4911fd648b8b86a46571db217a86b9e) , 放到當前分支下提交:
- [ ] git cherry-pick de56ab78b4911fd648b8b86a46571db217a86b9e
在有衝突的前提下,要先解決衝突,再continue,或者經過abort放棄操做:
- [ ] git cherry-pick --continue
- [ ] git cherry-pick --abortdb

push到遠程倉庫:
- [ ] git push origin HEAD:refs/for/dev

回退到某個版本:
- [ ] git reset --hard {commitID},退回到指定版本
- [ ] git reset --hard HEAD^,退到上個版本
- [ ] git reset --hard HEAD^^,退到上上個版本

撤銷修改
- [ ] git checkout -- <file>,丟棄工做區的修改
- [ ] git reset HEAD <file>,撤銷暫存區的修改,放到工做區

撤銷git push以後的提交
- [ ] git revert {commitId},再git push。產生一個revert的提交
- [ ] git reset --hard {commitID},再git push。不產生新的提交。可是存在風險,容易將同伴的提交給撤銷了

1.git pull --rebase
2.修改
3.git add -A
4.git commit -m "BOSS-1172:審覈狀態"
3.git push origin HEAD:refs/for/dev

解決衝突:
git log

 

 

1.首先是克隆項目
<pre data-lang="-1">git clone 項目地址

修改提交人暱稱
git config --global user.name "你的名字(能夠是中文)"
</pre>
2.而後進代碼目錄

<b>經常使用命令</b>有:
<pre>添加
git add 文件名 //添加單個文件
git add -A //添加全部文件

提交
git commit -am "註釋內容" //提交到分支
git add命令實際上就是把要提交的全部修改放到暫存區(Stage),而後,執行git commit就能夠一次性把暫存區的全部修改提交到分支

更新
git pull //更新

push
git push origin 分支名 //push到服務器

查看狀態
git status

查看提交歷史
git log

文件比較
git diff //工做文件比對暫存文件
git diff --cached //暫存文件和已經提交文件
git diff --staged //暫存文件和已經提交文件

移除文件
git rm
git rm --cached readme.txt //從暫存區及倉庫移除,之後再也不跟蹤這個文件


移動或更名
git mv</pre>


<b>不經常使用的命令</b>:

解決版本衝突須要用到的
<pre>回退
git revert HEAD //回退到上一次提交
git revert HEAD^ //回退到上上一次提交,能夠增長「^」來回到更前一次提交
---------注意revert回退工做目錄後,能夠當即作一個最新的commit,至關於拷貝一箇舊版本到最新的位置

重置
git reset --hard HEAD //重置工做目錄(不包括未跟蹤的文件)
---------要恢復單個文件,能夠checkout那個文件:git checkout -- filename

合併
git merge hotfix //合併hotfix分支到當前分支。注意,只是合併,合併以後的結果並未提交commit
git merge upstream/master //合併一個遠程取回的分支
</pre>
&nbsp;


<b>提交流程</b>:
<pre>
1.切換到develop開發分支 git checkout develop

2.拉取develop最新代碼 git pull origin develop

3.基於develop建立本身的代碼分支 git branch 你的分支名稱

4.在本身的分支開發修改新增文件

5.若是有新增文件就 git add 文件名 多個文件能夠 git add -A

6.提交到本地的版本庫 git commit -am "提交改動信息" Commit message 必須填寫

7.推送到遠端分支 git push origin 你的分支名稱

</pre>

切換到develop pull 而後切到 zhuleixiao merge develop 而後修改本地代碼 而後commit 最後 push

相關文章
相關標籤/搜索