保持同步
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
博客所有内容仅供自已学习和学习过程的记录,如有侵权,请联系我删除!!!