目录
[2.发现git push无法把develop推送到远程](#2.发现git push无法把develop推送到远程)
远程仓库用的gitee
一、项目克隆
可以把远程项目克隆到本地形成一个本地的仓库
git clone https://gitee.com/aaljl/test-git2.git

可以发现克隆下来的仓库和远程仓库的名字一致

进入仓库可以看到.git的配置文件和远程代码

.git中的配置可以看到目前的分支为master,远程别名是origin,关联合并的是远程分支的master

我们也可以克隆远程项目自己定义仓库名字
git clone https://gitee.com/aaljl/test-git2.git test-git1
二、多人协作
1.创建林冲仓库
上一个博客创建了鲁智深仓库,git推送本地仓库到远程(Gitee)-CSDN博客这里创建了鲁智深仓库
克隆远程仓库命名(在一个空文件下克隆即可,直接写克隆的命令)

指定本地仓库级别的用户名和邮箱
git config --local user.name '林冲'
git config --local user.email 'linchong@txjava.com'


2.协作处理
在testGit2中通过鲁智深添加文件并且推送到远程


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

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

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

3.冲突处理
当两个人修改同一个文件的同一行的时候就会发生冲突
使用鲁智深修改B.txt内容后,提交并且推送到远程
此刻林冲也修改B.txt内容,提交并且推送远程的时候发现出现冲突,推送失败
此刻git会要求我们先拉取更新
鲁智深:

林冲:


提示拉取成功,但是自动合并失败。git建议我们修改冲突后提交。
我们可以修改冲突,保留鲁智深的,然后推送到远程

三、分支推送协作
1.创建develop分支

2.发现git push无法把develop推送到远程
3.本地的分支推送到远程分支
git push --set-upstream origin develop

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


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

除此之外也可以使用下面命令完成远程分支推送
git push -u origin 分支名
创建分支,并且把分支推送到远程


分支查看

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

2.但是发现有远程分支,但是没有本地的develop分支

3.这时我们可以创建本地的develop分支,此刻我们也可以修改本地分支的名字(develop可以改名,可以不叫develop)
git checkout -b develop origin/develop
4.我们已经创建分支并且切换到develop上,而且该分支和远程分支develop关联。

5.查看

6.还可以使用另一种方式本地分支的追踪

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

也可以删除对应的远程分支
git push origin --delete feature


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

查看origin远程对应的分支(查看被删除的分支)
git remote prune origin

可以看到远程分支被删除了
