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