保持同步

git remote

git remote 命令允许你创建、查看和删除和其它仓库之间的连接。

用法

#列出你和其他仓库之间的远程连接,同时显示每个连接的 URL
git remote -v

#创建一个新的远程仓库连接。在添加之后,你可以将 <name> 作为 <url> 便捷的别名在其他 Git 命令中使用
git remote add <name> <url>

#移除名为的远程仓库的连接
git remote rm <name>

#将远程连接从 <old-name> 重命名为 <new-name>
git remote rename <old-name> <new-name>

名为 origin 的远程连接

当你用 git clone 克隆仓库时,它自动创建了一个名为 origin 的远程连接,指向被克隆的仓库.

仓库的 URL

Git 支持多种方式来引用一个远程仓库。其中两种最简单的方式便是 HTTP 和 SSH 协议。HTTP 是允许匿名、只读访问仓库的简易方式.

http://host/path/to/repo.git

如果希望对仓库进行读写,你需要使用 SSH 协议.

ssh://user@host/path/to/repo.git

git fetch

git fetch 命令将提交从远程仓库导入到你的本地仓库.

#拉取仓库中所有的分支。同时会从另一个仓库中下载所有需要的提交和文件
git fetch <remote>

#只拉取指定的分支
git fetch <remote> <branch>

讨论

当你希望查看其他人的工作进展时,你需要 fetch。
fetch 下来的内容表示为一个远程分支,因此不会影响你的本地开发。这是一个安全的方式。你可以看到中央仓库的历史进展如何,但它不会强制你将这些进展合并入你的仓库。
你可以使用 git merge 将它并入本地分支,或者git pull 命令是这个过程的快捷方式.

远程分支查看

git branch -r

git pull

在基于 Git 的协作工作流中,将上游更改合并到你的本地仓库是一个常见的工作。我们已经知道应该使用 git fetch,然后是 git merge,但是 git pull 将这两个命令合二为一。

例子

演示了如何和一个中央仓库的 master branch 同步

# 简单地将你本地的更改放到其他人已经提交的更改之后
git checkout master
git pull --rebase origin

git push

Push 是你将本地仓库中的提交转移到远程仓库中时要做的事.

用法

#将指定的分支推送到 <remote> 上,包括所有需要的提交和提交对象
git push <remote> <branch>

#将所有本地分支推送到指定的远程仓库
git push <remote> --all

#将你所有的本地标签推送到远程仓库中去
git push <remote> --tags

讨论

git push 最常见的用法是将你的本地更改发布到中央仓库。
注意,git push 和在远程仓库内部运行 git merge master 事实上是一样的。
如果远程历史和你本地历史已经分叉,你需要将远程分支 pull 下来,在本地合并后再尝试推送。

例子

将本地提交推送到中央仓库的一些标准做法

git checkout master
git fetch origin master
git rebase -i origin/master
# Squash commits, fix up commit messages etc.
git push origin master
原文地址:https://www.cnblogs.com/zhangjianbin/p/7773903.html