git学习记录7-----从远程仓库获取

获取远程仓库

命令git clone
&emps;&emps;&emps;&emps;首先换到其他目录下,将 GitHub 上的仓库 clone 到本地。不要在和之前本地仓库同一目录下
如果不切换会这样

R@R MINGW64 ~
$ git clone git@github.com:XXXXXXXX/gitlearn.git
fatal: destination path 'gitlearn' already exists and is not an empty directory.


换个目录试一试

R@R MINGW64 ~/Desktop
$ git clone git@github.com:XXXXX/gitlearn.git
Cloning into 'gitlearn'...
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 20 (delta 2), reused 20 (delta 2), pack-reused 0
Receiving objects: 100% (20/20), done.
Resolving deltas: 100% (2/2), done.

&emps;&emps;&emps;&emps;执行 git clone命令后我们会默认处于 master 分支下,同时系统会自动将 origin 设置成该远程仓库的标识符。也就是说,当前本地仓库的 master 分支与 GitHub 端远程仓库(origin)的 master 分支在内容上是完全相同的。
分支如下:

R@R MINGW64 ~/Desktop/gitlearn (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/feature-D
  remotes/origin/master

获取远程的 feature-D 分支

将eature-D 分支添加到本地

R@R MINGW64 ~/Desktop/gitlearn (master)
$ git checkout -b feature-D origin/feature-D
Switched to a new branch 'feature-D'
branch 'feature-D' set up to track 'origin/feature-D'.

  • b 参数的后面是本地仓库中新建分支的名称
    &emps;&emps;&emps;&emps;为了便于理解,我们仍将其命名为 feature-D,让它与远程仓库的对应分支保持同名。新建分支名称后面是获取来源的分支名称。例子中指定了 origin/feature-D,就是说以名为 origin 的仓库(这里指 GitHub 端的仓库)的 feature-D 分支为来源,在本地仓库中创建 feature-D 分支

向本地feature-D提交更改

在README.md加一行
加一行feature-D
检查不同

R@R MINGW64 ~/Desktop/gitlearn (feature-D)
$ git diff
diff --git a/README.md b/README.md
index 3367333..7632788 100644
--- a/README.md
+++ b/README.md
@@ -3,4 +3,4 @@
  - feature-A
  - fix-B
  - feature-C
-
+ - feature-D

提交

R@R MINGW64 ~/Desktop/gitlearn (feature-D)
$ git commit -am "add feature-D"
[feature-D 01ebf21] add feature-D
 1 file changed, 1 insertion(+), 1 deletion(-)

推送feature-D

git push

R@R MINGW64 ~/Desktop/gitlearn (feature-D)
$ git push
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 280 bytes | 280.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:R97416032/gitlearn.git
   b90b2c6..01ebf21  feature-D -> feature-D

去远程仓库查看一下
远程仓库更新

获取最新的分支

现在我们离开刚刚修改的目录,回到以前的目录,获取最新的feature-D分支

R@R MINGW64 ~/Desktop/gitlearn (feature-D)
$ cd

R@R MINGW64 ~
$ cd gitlearn/

R@R MINGW64 ~/gitlearn (master)

注意目录变啦!

R@R MINGW64 ~/gitlearn (master)
$ git pull origin feature-D
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 260 bytes | 28.00 KiB/s, done.
From github.com:R97416032/gitlearn
 * branch            feature-D  -> FETCH_HEAD
   b90b2c6..01ebf21  feature-D  -> origin/feature-D
Updating b90b2c6..01ebf21
Fast-forward
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

看一下README.md更新了没
检查README.md

&emps;&emps;&emps;&emps;GitHub 端远程仓库中的 feature-D 分支是最新状态,所以本地仓库中的 feature-D 分支就得到了更新。今后只需要像平常一样在本地进行提交再 push 给远程仓库,就可以与其他开发者同时在同一个分支中进行作业,不断给 feature-D 增加新功能。如果两人同时修改了同一部分的源代码,push 时就很容易发生冲突。所以多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁地进行 push 和 pull 操作。

また明日ね!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广阔天地,大有可为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值