git 远程仓库操作+多人协作讲解
删除之前的仓库中的所有内容,从新建库,同时创建一个A.txt文件。
1.推送本地仓库到远程
删除之前的仓库中的所有内容,从新建库,同时创建一个A.txt文件。
1.1修改本地仓库用户名
为了本地演示多个用户操作,我们把仓库local的级别的用户设置一下
$ git config --local user.name '鲁智深'
$ git config --local user.mail 'luzhishen@126.com'

1.2 push 命令
github已创建空仓https://github.com/txjava-teach/txjava-code.git,本地库要上传并与之关联:
|
git remote add origin https://github.com/txjava-teach/txjava-code.git |
添加后,远程库的名字就是origin,这是Git默认的名字,也可以改成别的,但是origin这个名字⼀看就知道是远程库。下一步,就可以把本地库的所有内容推送到远程库上:
![]()
然后推送本地库的文件。
|
git push -u origin master |
第⼀次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master 分支关联起来
只要本地作了提交,就可以通过命令:
|
git push origin master |
把本地master分支的最新修改推送至GitHub
查看远程仓库
|
git remote show |

origin相当于远程仓库的链接别名
查看远程仓库明细
|
git remote show origin |

上面命令展示了origin的详细信息,
远程拉取的url
push推送的url
头指针指向的master分支,同时远程分支是被追踪的状态
本地master分支被配置成git pull会拉取并且合并远程master
本地master分支配置成git push推送远程master
1.3 远程分支查看
origin master关联的是远程的master分支,用于追踪远程分支的状态
查看远程分支
|
git branch -a |

我们加上参数v可以查看本地分支和远程分支的最后提交
|
git branch -av |

我们修改A.txt文件

我们通过git status可以看到我们master分支和远程分支origin/master都是最新的。
此时我们提交我们的修改后在查看git status,我们可以发现我们的本地master分支领先了1次提交。

从分支的详细信息中我们可以看到远程分支的提交版本和master的提交版本不同,本地领先了。
此刻我们把本次修改推送到远程,远程和本地便保持了版本的同步
2.git多人协作
2.1克隆项目
我们可以把远程项目克隆到本地形成一个本地的仓库
|
git clone https://github.com/txjava-teach/txjava-code.git |
我们可以发现克隆下来的仓库和远程仓库的名字一致

进入仓库可以看到.git的配置文件和远程代码
.git中的配置可以看到目前的分支为master,远程别名是origin,关联合并的是远程分支的master
注意:我们也可以克隆远程项目自己定义仓库名字
|
git clone https://github.com/txjava-teach/txjava-code.git testGit2 |
2.2多人协作
2.2.1 创建林冲仓库
克隆远程仓库命名testGit1.
指定本地仓库级别的用户名和邮箱
|
git config --local user.name '林冲' git config --local user.email 'linchong@txjava.com' |

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

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

此时林冲应该从远程仓库来更新拉取
fast-forward表示不需要手工处理冲突直接合并。

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

我提示中我们发现拉取成功,但是自动合并失败。git建议我们修改冲突后提交。
我们可以修改冲突,此时和svn是一样的。我们保留林冲的
推送到远程

搞定
感谢观看
更多推荐
所有评论(0)