当我们在多台电脑上开发一个项目的时候,需要经常修改提交内容并在另一台电脑上更新远程最新的代码,今天看了一下如何从远程代码仓库获取更新到本地,总结了一下网上的文章,采用如下的方式比较简单。
查看远程分支
使用如下命令可以查看远程仓库(我这里有一个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工具,看起来比较痛苦,下一次配置一个图形化比较工具来体验一下。