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
相关推荐
winner888115 分钟前
git merge 冲突 解决 show case
java·git·git merge·git冲突
玩电脑的辣条哥5 小时前
怎么给git动图扣除背景?
git·抠图
isolusion7 小时前
git分支管理及策略
git
isolusion8 小时前
git仓库的基本概念和流程以及一些基本命令
git
scoone9 小时前
VSCode 中 Git 功能比较:内置 Git、GitLens 与 Git History 插件
ide·git·vscode
赛博末影猫9 小时前
git全教程(长期更新)
git
Y编程小白10 小时前
Git版本控制工具--基础命令和分支管理
大数据·git·elasticsearch
Pafey14 小时前
git 删除鉴权缓存及账号信息
git·缓存
databook16 小时前
解锁 Git Log 更多实用技巧
git