二、多人協同開發流程
伺服器角色 ip位址
git服務端 192.168.1.107
git客戶端1 192.168.1.108
git客戶端2 192.168.1.109
git clone [email protected]:這裡是倉庫在系統上的絕對路徑
#這是將/data/base1 倉庫下的內容轉殖到當前目錄下
git clone [email protected]:/data/base1 ./
#這是將base1這個目錄以及它下邊的內容轉殖到當前目錄下
git clone [email protected]:/data/base1
[root@node1 ~]
# mkdir /data
[root@node1 ~]
# cd /data/
[root@node1 data]
# mkdir base1
[root@node1 data]
# git init --bare base1/
initialized empty git repository in /data/base1/
#修改/data/base1的許可權,否則客戶端不能將資料提交到倉庫中
[root@node1 ~]
# chown -r test1:test1 /data/base1/
[root@node3 data]
# git clone [email protected]:/data/base1 ./
cloning into '.'
[email protected]'s password: #輸入test1的密碼
[root@node3 data]
# ls
[root@node3 data]
# ls -a
... .git
[root@node3 ~]
# cd /data/
[root@node3 data]
# touch test1_1
[root@node3 data]
# git add test1_1
[root@node3 data]
# git commit -m '1'
[master (root-commit) 8090303] 1
1 file changed, 1 insertion(+)
create mode 100644 test1_1
#將資料提交到遠端倉庫
[root@node3 data]
# git push origin master
[email protected]'s password:
counting objects: 3, done.
writing objects: 100% (3/3), 211 bytes | 0 bytes/s, done.
total 3 (delta 0), reused 0 (delta 0)
to [email protected]:/data/base1
* [new branch] master -> master
此時客戶端1完成了開發工作,並且提交了資料
#在客戶端2轉殖倉庫,並且提交資料
[root@node2 ~]
# git clone [email protected]:/data/base1 ./
cloning into 'base1'
[email protected]'s password: #輸入test1的密碼
remote: counting objects: 3, done.
remote: total 3 (delta 0), reused 0 (delta 0)
receiving objects: 100% (3/3), done.
#新增新資料 並且提交到遠端倉庫
[root@node2 data]# touch test2_1
[root@node2 data]# vim test2_1
[root@node2 data]# git add test2_1
[root@node2 data]# git commit -m '1'
[master f7708f1] 1
1 file changed, 1 insertion(+)
create mode 100644 test2_1
[root@node2 data]# git push origin master
[email protected]'s password:
counting objects: 4, done.
delta compression using up to 2 threads.
compressing objects: 100% (2/2), done.
writing objects: 100% (3/3), 259 bytes | 0 bytes/s, done.
total 3 (delta 0), reused 0 (delta 0)
to [email protected]:/data/base1/
8090303..f7708f1 master -> master
[root@node3 data]
# ls
test1_1
[root@node3 data]
# touch test1_2
[root@node3 data]
# touch add test1_2
[root@node3 data]
# git add -a
[root@node3 data]
# git commit -m '2'
[master f2f9707] 2
2 files changed, 1 insertion(+)
create mode 100644 add
create mode 100644 test1_2
#我們發現將資料提交到遠端倉庫的時候開始報錯了
這是因為客戶端2在客戶端1提交之前 已經提交了最新版本,客戶端1是在第一版本的基礎上進行提交的,所以版本和客戶端2提交的衝突了。
#先拉取最新版本
[root@node3 data]
# git pull
[email protected]'s password:
[root@node3 data]# ls
test1_1 test1_2 test2_1
[root@node3 data]# git push origin master
[email protected]'s password:
counting objects: 8, done.
compressing objects: 100% (4/4), done.
writing objects: 100% (6/6), 554 bytes | 0 bytes/s, done.
total 6 (delta 1), reused 0 (delta 0)
to [email protected]:/data/base1
f7708f1..7405a1a master -> master
總結:在提交資料之前 一定要先pull 將版本獲取到最新,在提交資料到遠端倉庫 Git 筆記 多人合作 流程
1.第一次建立 repo 在github上開repo 2.開始分工 分工方式 1.pull 每天開工就記得先git pull,更新本機的code 2.coding 開發新功能git branch branch name git checkout branch name 養成好習慣,修改乙個功能就記得...
git多人協作開發流程 以blog為例
時間倉促,能力有限,錯誤難免 沒有經過實際驗證,所以可能會有問題 歡迎指正 這個開發流程就是基於a successful git model這篇文章而來的,如果對英文不感冒的話,我這有翻譯版 專案背景 張三 李四 王五 打算共同協作,開發一套部落格系統 專案分工 張三 李四 負責文章系統 git雖然...
關於 Git 多人協作的流程
如今的專案,規模越來越大,功能越來越多,需要有乙個團隊進行開發。如果有多個開發人員共同開發乙個專案,如何進行協作的呢。git提供了乙個非常好的解決方案 多人協作開發。git常用命令 git init 初始化倉庫 git remote add origin 與遠端倉庫建立連線 git clone 轉殖...