利用Git创建本地仓库并且和远程仓库建立链接

建立本地仓库和远程仓库

在这里,我会新建一个Giterge的空文件夹,并且我会将该文件设置为本地仓库以及在github远程仓库中建立相对应的Giterge远程仓库。
首先,在github新建一个远程仓库,命名为GitMerge,如下图所示:

远程仓库的建立

建立本地仓库GitMerge,并且初始化本地仓库,如下图所示:
在这里插入图片描述我会在本地仓库GitMerge存放一个Git.txt文件,内容初始为:

Git is a divided software
Git also is a free sortware
Git used to learn

将本地仓库的内容推送到远程仓库

首先,我们把Git.txt文档推送到本地仓库中:
推送成功后可以看到Git.txt文件标绿,表示当前文件推送成功。
在这里插入图片描述
接下来,我们就可以将本地仓库与远程仓库建立链接:
我们首先找到远程仓库GitMerge的ssh密钥,如下图所示,红色标记的是ssh密钥或者可以找到http的链接,两个都可以,但是http链接每次都需要输入用户名和密码,使用ssh密钥第一次需要确认,其余都可以,一般建议使用ssh密钥:
在这里插入图片描述
建立本地仓库和远程仓库的链接,如下图所示:
图4
因为我已经建立本地仓库和远程仓库的链接,所以就会显示已经存在,主要原因是本地仓库与远程仓库的对应关系为一对一的格式,一个本地仓库只能对应一个远程仓库。

将本地仓库的内容推送到远程仓库

建立链接完就可以向远程仓库push本地仓库文件
我们将本地仓库的Git.txt文档push到远程仓库下,如下图所示:我们第一次push时,因为本地仓库在远程仓库下是没有对应的主枝“master”,所以需要在远程仓库下新建一个主枝,Git是基于时间线进行修改,所以必须将本地仓库和远程仓库下的每个branch对应。
在这里插入图片描述
Push成功后就会看到远程仓库下对应的文件,如下图所示:
在这里插入图片描述

本地仓库下进行Merge

Merge主要功能是用于合并不同的branch内容,并且和并为最终的master并提交到远程仓库:
新建一个本地文件
首先,我们建立一个新的name.txt,如下图所示,我在本地仓库建立name.txt,并且在这里新建一个新的分支”branch”命名为”dev”, name.txt的内容如下:

Hello every
My name is SunZexing

在这里插入图片描述
在本地新建分支并建立对应的远程仓库
接下来,我把新建的文件推送到本地仓库“dev”的分支下,如下图所示:
在这里插入图片描述
“git add –A”命令会将当前改动的文件全部添加到“dev”的分支下.现在将该文件push到分支“dev”对应的远程仓库下,如下图所示,在远程仓库dev下可以看到name.txt和Git.txt都已经添加到远程仓库下:
图9

对两个文件进行合并

现在在本地仓库对两个分支进行合并到 “master”主枝:
首先,我们切换到主枝“master”下,在对“master”和分支“dev”进行合并,如下图所示:

图10
接下来提交到远程仓库如前面提到的。如下图所示,远程仓库已经含义两个txt文档.

图11

对远程仓库进行修改

现在我对远程仓库的master主枝下的Git.txt进行修改如下:

Git is a divided software
Git also is a free sortware
Git used to learn
Git wiill been used to rebase

将远程仓库的文件pull到本地仓库
首先,我先将远程仓库的文档pull到本地,如下图1所示,可以看到本地的Git已经修改:
图11

对本地分支dev进行rebase

首先,远程仓库修改后的Git.txt如下:
在这里插入图片描述
对本地文件进行修改如下:

Git is a divided software
Git also is a free sortware
Git used to learn

Git also can be used to rebase

现在,我想将远程仓库的文件和本地仓库的文件进行合并。

建立本地分支

首先,我还是现在本地建立一个分支,命名为dev,如下图所示:
图13
并且将修改后的Git.txt添加到本地分支dev.

将远程仓库的内容pull到本地master分支

图14
如上图将远程pull到本地,可以看到Git.txt文档是远程仓库的内容。
现在先进入分支dev中,在对dev中的内容进行修改。

Rebase

在当前文件鼠标右键,打开TortoiseGit选择显示日志,如下图所示
图15
红色分别是分枝“master”和分支“dev”.再鼠标右键master选择“变基dev到这里”如下图所示:
图16
图17
在这里插入图片描述
如上图所示,最终合并的txt文档为下面,可以选择使用两个上面的冲突文档进行合并。
如下图所示,可以看到最终时间线合并为master整条时间线。
图19
最后提交到远程仓库就合并完成。

一些常遇到的问题解决方案

git push遇到的问题:

在这里插入图片描述

解决方法1:

 git push –f (将本地仓库的文件全部推送到远地)
 git fetch 
 git merge (等同于git pull)

主要原因:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值