最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Git学习之从远程仓库获取

XAMPP新闻 中文小张 213浏览 0评论

获取远程仓库

 

git clone

 

获取远程仓库

 

首先我们换到其他目录下,将GitHub上的仓库clone到本地。注意不要与之前操作的仓库在同一目录下。

 

$ git clone git@github.com:weirubo/git-learn.git

 

Cloning into ‘git-learn’…

 

remote: Counting objects: 23, done.

 

remote: Compressing objects: 100% (6/6), done.

 

remote: Total 23 (delta 3), reused 23 (delta 3), pack-reused 0

 

Receiving objects: 100% (23/23), done.

 

Resolving deltas: 100% (3/3), done.

 

Checking connectivity… done.

 

$ cd git-learn/

 

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

 

$ git branch -a

 

* master

 

remotes/origin/HEAD -> origin/master

 

remotes/origin/feature-D

 

remotes/origin/master

 

我们用git branch -a命令查看当前分支的相关信息。添加-a参数可以同时显示本地仓库和远程仓库的分支信息。

 

结果中显示了remotes/origin/feature-D,证明我们的远程仓库中已经有了feature-D分支。

 

获取远程仓库的feature-D分支

 

我们试着将feature-D分支获取至本地仓库

 

$ git checkout -b feature-D origin/feature-D

 

Branch feature-D set up to track remote branch feature-D from origin.

 

Switched to a new branch ‘feature-D’

 

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

向本地的feature-D分支提交更改

现在假定我们是另一名开发者,要做一个新的提交。在README.md文件中添加一行文字。

Git Learn

#Git学习

feature-A

fix-B

feature-C

feature-D

查看更改:

$ git diff

diff –git a/README.md b/README.md

index 1fdef41..61c9b62 100644

— a/README.md

+++ b/README.md

@@ -4,3 +4,4 @@ Git Learn

feature-A

fix-B

feature-C

+feature-D

按照之前学过的方式提交即可。

$ git commit -am “Add feature-D”

[feature-D 6a0de29] Add feature-

1 file changed, 1 insertion(+)

推送feature-D分支

现在来推送feature-D分支。

$ git push

Counting objects: 3, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (2/2), done.

Writing objects: 100% (3/3), 284 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To git@github.com:weirubo/git-learn.git

ed3fa4d..6a0de29 feature-D -> feature-D

从远程仓库获取feature-D分支,在本地仓库中提交更改,再将feature-D分支推送回远程仓库,通过这一系列操作,就可以与其他开发者相互合作,共同培育feature-D分支,实现某些功能。

获取最新的远程仓库分支

git pull

现在我们放下刚刚操作的目录,回到原先的那个目录下。这边的本地仓库中只创建了feature-D分支,并没有在feature-D分支中进行任何提交。然而远程仓库的feature-D分支中已经有了我们刚刚推送的提交。这时我们就可以使用git pull命令,将本地的feature-D分支更新到最新状态。当前分支为feature-D分支。

$ git pull origin feature-D

remote: Counting objects: 3, 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), done.

From github.com:weirubo/git-learn

* branch feature-D -> FETCH_HEAD

ed3fa4d..6a0de29 feature-D -> origin/feature-

Updating ed3fa4d..6a0de29

Fast-forward

README.md | 1 +

1 file changed, 1 insertion(+)

GitHub端远程仓库的feature-D分支是最新状态,所以本地仓库中的feature-D分支就得到了更新。今后只需要像平常一样在本地进行提交再push给远程仓库,就可以与其他开发者同时在同一个分支中进行作业,不断给feature-D增加新功能。

如果两人同时修改了同一部分的源代码,push时就很容易发生冲突。所以多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁地进行push和pull操做。

 

转载请注明:XAMPP中文组官网 » Git学习之从远程仓库获取