git中的多人协作

目录

1.1多人协作

1.1.1创建仓库

新建两个文件夹,不需要初始化为git仓库,直接克隆远程仓库命名testGit1,testGit2

指定本地仓库级别的用户名和邮箱

复制代码
git config --local user.name '林冲'
git config --local user.name '鲁智深'

git config --local user.email 'linchong@txjava.com'
git config --local user.email 'luzhishen@txjava.com'
复制代码
git config --local -l
复制代码
git branch -av

1.1.2协作处理

在testGit中通过鲁智深添加文件并且推送到远程

直接克隆远程仓库,不需要使用命令来初始化本地仓库

复制代码
git init 

vi B.txt
git add .
git commit -m 'lzs first commit'
git push
git branch -av

在testGit1仓库中林冲查看远程状态发现已经过期。

复制代码
git remote show 

此时林冲应该从远程仓库来更新拉取

复制代码
git pull --rebase

fast-forward表示不需要手工处理冲突直接合并。

复制代码
ll 
cat B.txt

1.1.3冲突处理

当两个人修改同一个文件的同一行的时候就会发生冲突

我们使用鲁智深修改B.txt内容后

提交并且推送到远程

复制代码
vi B.txt
git add .
git commit -m 'lzs first update'
git push

此刻林冲也修改B.txt内容:

复制代码
vi B.txt
git add .
git commit -m 'lc first update'
git push

我们提交并且推送远程的时候发现出现冲突,推送失败

此刻git要求我们先拉取更新,在林冲仓库中进行操作

复制代码
git pull -rebase
git push

我提示中我们发现拉取成功,但是自动合并失败。git建议我们修改冲突后提交。

我们可以修改冲突,此时和svn是一样的。我们保留林冲的,最终B.txt中的内容是冲突解决提交的B.txt中的内容

复制代码
vi B.txt
git add .
git commit -m '冲突解决'
git push

推送到远程

同时鲁智深仓库需要拉取更新

复制代码
git pull --rebase

搞定

1.2分支推送协作

林冲仓库创建develop分支

复制代码
git checkout -b develop

我们发现git push无法把develop推送到远程。

复制代码
git push

执行下面的命令,这就是把本地的分支推送到远程分支。

复制代码
git push --set-upstream origin develop

我们可以看到远程分支已经推送。

同时本地也关联了远程develop分支

复制代码
git branch -av

除此之外我们可以使用下面命令完成远程分支推送

复制代码
git push -u origin 分支名

git checkout -b feature
git push -u origin feature

我们创建分支,并且把分支推送到远程

分支查看

复制代码
git branch -av

1.3分支拉取协作

由于鲁智深已经推送,我们使用林冲的账户来拉取,我们可以看到新建立了分支

复制代码
git branch -av

但是我们发现有远程分支,但是没有本地的develop分支。

这时我们可以创建本地的develop分支,此刻我们也可以修改本地分支的名字

复制代码
git checkout -b develop origin/develop

我们已经创建分支并且切换到develop上,而且该分支和远程分支develop关联。

查看

我们还可以使用另一种方式本地分支的追踪,但是必须要先git pull

复制代码
git checkout --track origin/feature

1.4远程分支的删除

我们在鲁智深仓库删除Feature分支,删除之后远程的Feature分支关联还在。

复制代码
git branch -d feature

git branch -av

我们也可以删除对应的远程分支

复制代码
git push origin --delete feature

当我们通过另一个用户来查看本地对应的远程分支的时候可以看到远程分支的变化。

查看origin远程对应的分支

复制代码
git remote prune origin
相关推荐
Geek-Chow10 分钟前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师21 分钟前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥26 分钟前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github
淮北4941 小时前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
dunge20263 小时前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
福如意如我心意1 天前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx1 天前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化