(前提,熟悉git基本原理,以及基本命令)
本博客主要記錄下自己在使用git期間的一些問題,主要是創建分支,切換分支,推送分支到遠程倉庫,以及分支合併
(1)從自己github 上克隆一個項目(原項目只有master分支)
git branch 查看當前分支,git branch -v 查看本地所有分支
git branch -a 查看所有分支 ,git branch -r 查看所有遠程分支
(2)創建兩個分支v1 ,v2,並切換分支
git branch 分支名 (創建分支)
git checkout 分支名 (切換分支)
(3)將分支推送到遠程倉庫 , 並將本地分支與遠程分支建立關聯
git push origin 分支名稱,輸入用戶名密碼即可
git branch --set-upstream-to origin/v2 v2
查看github 可以發現多了兩個分支
(4)在分支v1 新建controller ,在分支2上新建service ,然後合併到master上
v1:
v2:
切換分支到master,先合併v1 代碼(兩步)
(1)合併分支 git merge "v1"
(2)提交代碼 git push origin ,然後輸入用戶名密碼即可
合併v2 代碼一樣.......
查看github master代碼發現 v1已經被合併進來了
對於多個分支同時改變一個文件的合併
例如,master ,v1 ,v2 ,同時修改了application.properties 文件
這時想要把分支v1,v2 合併到master 上,這裏採用IDEA 操作
首先切換到master 分支
先合併v1 分支,選中v1 merge
解決衝突,點擊merge
這樣分支v1 就合併到master 上了,分支v2 合併過程一樣
最後push 到遠程master 上
在github 上查看master 發現已經合併了
指令合併以v1 爲例
先提交v1修改內容,push到遠程v1
git add .
git commit -m "指令操作"
git push -u origin v1
然後我們要把dev分支的代碼合併到master分支上 該如何?
首先切換到master分支上
git checkout master
如果是多人開發的話 需要把遠程master上的代碼pull下來
git pull origin master
然後我們把v1分支的代碼合併到master上
git merge v1
報錯了:Auto-merging src/main/resources/application.properties
CONFLICT (content): Merge conflict in src/main/resources/application.properties
Automatic merge failed; fix conflicts and then commit the result
這時需要手動解決下衝突。然後再次提交這個文件,刪除亂碼的,保留合併需要的
git add .
git commit -m "解決衝突"
最後push 到遠程master 上
git push origin master