git的常用指令及合并2個分支

(代碼)版本控制工具

分類

???git 分布式管理---->理論上前端部門任何一個成員的電腦都可以作為服務(wù)器上上傳,但是一般都不會這么干,也是要搭一個服務(wù)器并上傳(和svn差不多)

工作區(qū)-->README.md

?? ?本地倉庫--->.git

?? ?遠程倉庫-->github屬于遠程廠庫,屬于git的一部分

安裝

mac系統(tǒng) --->直接用

window系統(tǒng)----->下載安裝 git brash

參考資料-->廖雪峰

https://www.liaoxuefeng.com/wiki/896043488029600

github 和 碼云

代碼托管平臺

github

svn 集中式管理---->公司中前端主管把代碼上傳上(服務(wù)器),組員從服務(wù)器上下載,之后在本地(自己電腦上跑),當組員把開發(fā)的功能開發(fā)完就上傳.

gitflow 的工作流:



master 分支

線上分支

dev 分支 開發(fā)分支

bug 分支

項目創(chuàng)建 默認 master分支,主程切分一個dev分支

小組成員git clone 在dev分支上 切分自己的開發(fā)分支 項目開發(fā)

開發(fā)完成之后將自己分支合并到dev分支

將dev分支提交到線上的dev分支push上線 上線之前先pull-->拉取線上代碼

將自己的分支刪掉

再從dev分支上復(fù)制一份出來

git基本命令:



?? ?git status 查看狀態(tài)值

?? ?git init 創(chuàng)建本地倉庫

git remote add origin url(地址) 創(chuàng)建遠程倉庫

git remote 查看遠程倉庫


?? ?git remote add origin url 將本地的倉庫和遠程倉庫建立連接

?? ?git clone 文件 從github克隆/git clone url 克隆遠程倉庫代碼 先有線上代碼

?? ?? git stash?? ?能夠?qū)⑺形刺峤坏男薷模üぷ鲄^(qū)和暫存區(qū))保存至堆棧中,用于后續(xù)恢復(fù)當前工作目錄。

?? ?git diff顧名思義就是查看difference

???git add 文件名 (.) 將工作區(qū)修改的文件存了放到暫存區(qū)

?? ?git commit -m '注釋' 將更改的文件進行提交,提交了本地倉庫(本地倉庫)

?? ?git push origin master 將本地倉庫的代碼提交到線上的master分支

?? ?git reset --hard 版本號 版本的回滾操作 向前 向后 版本id

?? ??? ?git log --pretty=oneline 查看當前所有的版本號

?? ??? ?git reflog 查看所有的操作

?? ?git branch --all 查看所有的分支 * 當前分支

?? ?git checkout -b 分支名 新建一個分支并且切換----->?git checkout -b dev(和master的分支一樣,因為是從master分支復(fù)制來的)

???git checkout 分支名 切換分支

?? ?git merge dev 當前分支合并dev分支

?? ?git branch -D dev 刪除某一分支

?? ?git pull 拉取線上代碼 將線上的master 分支 合并到本地的master

?? ?git push origin master 提交到線上master分支

?? ?git log會按提交時間列出所有的更新

?? ?合并分支的時候最好用:

?? ??? ?git merge 分支名 --no--ff


:q 退出~~~

沖突的解決:


====>小于號和等號之間的是我們本地的代碼,等號和大于號之間的是別人的

?? ?1.沖突絕對不能出現(xiàn)在線上

?? ?2.提交之前一定要下拉 git pull

?? ?3.有用留著,沒用的干掉



git如何合并遠程2個分支

1,先檢出項目到一個文件夾

git clone

2,你檢出的項目默認是master,所以現(xiàn)在要查看遠程全部分支

git branch -a

? 1.* master

? 2.remotes/origin/HEAD -> origin/master

? 3.remotes/origin/v1.2

? 4.remotes/origin/master

? 5.remotes/origin/v1.1

? 6.remotes/origin/v1.0

3,切換分支

比如同時有三個人開發(fā),1.2最早是基于1.0,但是由于項目未發(fā)布,1.0,1.1,1.2全部都在同時開發(fā),現(xiàn)在想把1.0已經(jīng)增加的功能先合并到1.2;

此時的步驟:check 1.2和1.0

git checkout v1.0

git checkout v1.2

然后再v1.2的分支基礎(chǔ)上執(zhí)行merge

git merge v1.0

如果沒有報錯,那就直接提交代碼git push origin v1.2

如果報錯,基本是沖突了(比如):

1.CONFLICT (content): Merge conflict in app/src/main/AndroidManifest.xml

2.Auto-merging app/build.gradle

3.CONFLICT (content): Merge conflict in app/build.gradle

4.Automatic merge failed; fix conflicts and then commit the result.

你需要去到提示的文件里把git自動標注的版本沖突注釋掉,看你具體需要的功能進行刪減

然后把沖突的文件git add,和commit

,比如你有2個沖突文件,多文件add的時候直接空格隔開

==>git add app/src/main/AndroidManifest.xml app/build.gradle

最后再commit

==>git commit -m "解決2個分支之間的沖突"

4,提交代碼

git push origin v1.2

5,搞定

參考命令:

1.Git鼓勵大量使用分支:

2.查看分支:git branch

3.創(chuàng)建分支:git branch <name>

4.切換分支:git checkout <name>

5.創(chuàng)建+切換分支:git checkout -b <name>

6.合并某分支到當前分支:git merge <name>

7.刪除分支:git branch -d <name>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容