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是一样的。我们保留林冲的

 

推送到远程 

搞定 

 

感谢观看

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐