Git多人开发流程

博客介绍了git命令使用注意事项,重点阐述多人协同开发流程,包括服务端创建并初始化仓库、客户端克隆仓库、添加数据提交等。强调客户端1和客户端2开发时可能出现版本冲突,总结指出提交数据前要先pull获取最新版本,再提交到远程仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境介绍

服务器角色			IP地址
git服务端			192.168.1.107
git客户端1			192.168.1.108
git客户端2			192.168.1.109

1.git命令使用注意事项1

git clone test1@192.168.1.107:这里是仓库在系统上的绝对路径

2.1.git命令使用注意事项2

#这是将/data/base1 仓库下的内容克隆到当前目录下
git clone test1@192.168.1.107:/data/base1 ./

#这是将base1这个目录以及它下边的内容克隆到当前目录下
git clone test1@192.168.1.107:/data/base1

二、多人协同开发流程

1.在服务端创建仓库并且初始化

[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/

2.在客户端1克隆仓库

[root@node3 data]# git clone test1@192.168.1.107:/data/base1 ./
Cloning into '.'...
test1@192.168.1.107's password:  #输入test1的密码
warning: You appear to have cloned an empty repository.
[root@node3 data]# ls
[root@node3 data]# ls -a
.  ..  .git

3.在客户端1中添加数据 并提交到远程仓库

[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
test1@192.168.1.107'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 test1@192.168.1.107:/data/base1
 * [new branch]      master -> master

此时客户端1完成了开发工作,并且提交了数据

4.此时客户端2参加到了工作当中

#在客户端2克隆仓库,并且提交数据
[root@node2 ~]# git clone test1@192.168.1.107:/data/base1 ./
Cloning into 'base1'...
test1@192.168.1.107'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
test1@192.168.1.107'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 test1@192.168.1.107:/data/base1/
   8090303..f7708f1  master -> master


5.此时客户端1还在继续开发

[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
 
 #我们发现将数据提交到远程仓库的时候开始报错了
 [root@node3 data]# git push origin master
test1@192.168.1.107's password: 


在这里插入图片描述

这是因为客户端2在客户端1提交之前 已经提交了最新版本,客户端1是在第一版本的基础上进行提交的,所以版本和客户端2提交的冲突了。

6.在客户端1拉取最新版本 然后在提交

#先拉取最新版本
[root@node3 data]# git pull
test1@192.168.1.107's password: 

[root@node3 data]# ls
test1_1  test1_2  test2_1

[root@node3 data]# git push origin master
test1@192.168.1.107'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 test1@192.168.1.107:/data/base1
   f7708f1..7405a1a  master -> master


总结:在提交数据之前 一定要先pull 将版本获取到最新,在提交数据到远程仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值