Git更新远程仓库代码到本地 git fetch

来源:互联网 发布:淘宝试用网 编辑:程序博客网 时间:2024/05/16 09:29

当我们在多台电脑上开发一个项目的时候,需要经常修改提交内容并在另一台电脑上更新远程最新的代码,今天看了一下如何从远程代码仓库获取更新到本地,总结了一下网上的文章,采用如下的方式比较简单。

 

查看远程分支

使用如下命令可以查看远程仓库(我这里有一个origin仓库)

1
2
3
$ git remote -v
origin  git@github.com:username/Animations.git (fetch)
origin  git@github.com:username/Animations.git (push)

 

从远程获取最新版本到本地

使用如下命令可以在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支

1
2
3
4
5
6
7
8
$ git fetch origin master:temp
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 11 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (11/11), done.
From github.com:username/Animations
 * [new branch]      master     -> temp
   c07bdc7..40f902d  master     -> origin/master

 

比较本地仓库与下载的temp分支

使用如下命令来比较本地代码与刚刚从远程下载下来的代码的区别:

1
2
3
4
5
6
7
8
9
10
11
$ git diff temp
diff --git a/README.md b/README.md
deleted file mode 100644
index 76699ed..0000000
--- a/README.md
+++ /dev/null
@@ -1,6+0,0@@
-Animations
-==========
-
。。。

 

合并temp分支到本地的master分支

对比区别之后,如果觉得没有问题,可以使用如下命令进行代码合并:

1
2
3
4
5
6
7
$ git merge temp
Updating c07bdc7..40f902d
Fast-forward
 README.md                                                  | 6 ++++++
 src/cn/exercise/animations/MainActivity.java | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)
 create mode 100644 README.md

 

删除temp分支

如果temp分支不想要保留,可以使用如下命令删除该分支:

1
2
$ git branch -d temp
Deleted branch temp (was 40f902d).

如果该分支的代码之前没有merge到本地,那么删除该分支会报错,可以使用git branch -D temp强制删除该分支。

 

这样,我们把远程仓库代码更新到本地了。不过,还有一些其他方式更新,后面找时间再研究一下。另外,git diff如果不借助一些GUI工具,看起来比较痛苦,下一次配置一个图形化比较工具来体验一下。

1 0