gitlab創建分支,多人協同開發

新建分支:
1、$git checkout -b dev
#創建dev分支,並且切換到dev分支
相當於:
$git branch dev
$git checkout dev
2、git branch
#查看自己所在的分支, *代表當前所在分支
3、可以在自己的分支上隨便修改文件
4、
$git add .
$git commit -m "註釋“
5、現在分支已經被推送到本地倉庫中了,但是主分支還是沒有剛纔修改的文件的,需要切換到主分支,然後合併分支纔可以
$git checkout master
$git merge dev #合併分支
6、可以選擇刪除分支
$git branch -d dev

git checkout -b dev
可以用git switch -c dev 替換
git switch master 替換git checkout master

查看提交的日誌信息
git log
查看git版本號
git relog

拉取遠程倉庫的最新代碼(基於本地倉庫有源代碼,則使用pull)
git pull origin 默認分支

使用Git下載指定分支命令爲:git clone -b 分支名 倉庫地址
示例:git clone -b xiaozhong http://10.0.0.253:8081/smart_navigation/navigation_zhao.git

多人協同開發介紹和方法:
https://www.cnblogs.com/liqing1009/p/6096461.html
上述網址複製過來的
情景(以下的模擬場景沒有把develop分支考慮進去,直接在master分支上分解功能分支。)

1.管理員唐僧建好了一個項目,把孫悟空加入,並授予Developer角色權限,唐僧本身就是比孫悟空高一級的Master角色。唐僧在自己的電腦上設定好了master分支爲受保護分支。

2.員工孫悟空在自己電腦上工作,並推送已經寫好的代碼到遠程服務器的孫悟空分支上,即swkFeature1上
Snap13

孫悟空做了如下操作

git clone [email protected]:root/testc01.git //從管理員唐僧那裏克隆項目

cd testc01 //進入項目工作

git checkout -b swkFeature1 //創建自己的分支,並切換到此分支上,分支的命名規則爲開發人員名字+所開發的功能名字。本例中命名爲swkfeature1

vim aa.html //寫了一個名爲aa的html文件

git add aa.html //加入跟蹤

ggit commit -am “swkFeature1 is ready” //提交

git push origin swkFeature1 //推送到遠程服務器孫悟空分支上,git提示推送成功

git push origin swkFeature1:master //孫悟空想嘗試直接推送到受保護的分支上,孫悟空是沒有這個權限的,git會提示爲推送失敗

Snap15

孫悟空在Commit頁面上瀏覽分支swkFeature1,然後向項目領導唐僧創建一個合併請求。

3.這個合併請求除了唐僧可以登錄gitlab上看到之外,還可以通過郵件方式看到。唐僧即使沒有登錄gitlab,只要他的郵箱支持手機郵箱等方式,
手機郵箱可以通過短信的方式通知唐僧,唐僧可以實時看到合併要求。

管理員唐僧對要求合併的分支代碼進行審覈。
管理員唐僧從服務器上獲取孫悟空提交的分支。
git fetch

然後孫悟空推送的遠程新分支被管理員唐僧拉拽到本地,但是不是以本地分支存在,
而是保存在 .git/refs/heads 之外(.git/refs/remotes/origin/之中)的遠程分支。
管理員唐僧可以如下方法對孫悟空的分支進行審覈。
執行
git log master…origin/swkFeature1 //可以看到孫悟空推送了幾個提交。

管理員唐僧可以合併孫悟空的分支:
git merge origin/swkFeature1
管理員唐僧可以逐一對孫悟空的提交審覈。如果發現有問題,管理員唐僧可以本地回滾。
git reset --hard HEAD^ # 或 master@{1}
幾個反覆後,當孫悟空的分支審覈無誤,管理員唐僧將合併後的本地 master 分支推送到遠程服務器:
git push # 缺省 remote 爲 origin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章