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

 参考链接:https://blog.csdn.net/chailyuan/article/details/53292031

在下载一个较大的github项目以后,当该项目代码更新以后,我们想将更新的内容与本地的代码同步。

方法1

这种方式比较简单也好理解,如果本地代码没有修改,只需要执行中间两行就可以。

git stash        # 暂存本地的修改
git fetch --all  # 拉取项目更新
git pull         # 下载覆盖
git stash pop    # 释放本地修改

 

方法2

0x01 查看远程分支

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

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

 

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

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

 

$ 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

 

 

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

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

 

$ 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

 

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

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

 

$ 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

 

0x05 删除temp分支

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

 

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

 

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

posted @ 2018-05-08 10:27  时光不改  阅读(25183)  评论(0编辑  收藏  举报