diff --git a/Configuring a remote for a fork.md b/Configuring a remote for a fork.md new file mode 100644 index 0000000..7eacd42 --- /dev/null +++ b/Configuring a remote for a fork.md @@ -0,0 +1,3 @@ + + +参考 \ No newline at end of file diff --git a/Pushing to a remote.md b/Pushing to a remote.md new file mode 100644 index 0000000..e69491b --- /dev/null +++ b/Pushing to a remote.md @@ -0,0 +1,4 @@ +Pushing to a remote +==== + +参考 \ No newline at end of file diff --git a/README.md b/README.md index b8f17dc..fb7a56e 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ Chinese translation of the Github Help(https://help.github.com/index.html) and t ##Collaborating 合作 +* [Syncing a fork 同步一个 fork](Syncing a fork.md) * [What happens to forks when a repository is deleted or changes visibility 当库删除或者改变了可见性,其 fork 发生了什么](https://github.com/waylau/github-help/blob/master/What%20happens%20to%20forks%20when%20a%20repository%20is%20deleted%20or%20changes%20visibility%20%E5%BD%93%E5%BA%93%E5%88%A0%E9%99%A4%E6%88%96%E8%80%85%E6%94%B9%E5%8F%98%E4%BA%86%E5%8F%AF%E8%A7%81%E6%80%A7%2C%E5%85%B6%20fork%20%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88.md) ##Managing projects 管理项目 diff --git a/Syncing a fork.md b/Syncing a fork.md index 4a61f83..6e4b80e 100644 --- a/Syncing a fork.md +++ b/Syncing a fork.md @@ -1,4 +1,61 @@ -Syncing a fork +Syncing a fork 同步一个 fork ==== -*ο* \ No newline at end of file +同步 fork, 使与上游仓库保持一致。 + +*提示:在您同步你的 fork 和上游仓库时,您必须[配置远程指向 Git 的上游仓库](Configuring a remote for a fork.md)。* + +1. 打开终端(Mac)或者命令提示符 (Windows 或者 Linux) +2. 修改当前工作目录到你本地项目 +3. 获取分支和他们来自上游库的各自的提交。提交到 `master` 将会存储到本地的分支 `upstream/master` + +```java + + git fetch upstream + # remote: Counting objects: 75, done. + # remote: Compressing objects: 100% (53/53), done. + # remote: Total 62 (delta 27), reused 44 (delta 9) + # Unpacking objects: 100% (62/62), done. + # From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY + # * [new branch] master -> upstream/master + +``` +4. 检出你 fork 的本地`master`分支 + +```java + + git checkout master + # Switched to branch 'master' + +``` + +5. 合并 `upstream/maste`的变化到你本地 `master`分支。这样你 fork 的 `master`会和上游仓库同步,而不会丢失你本地的变化。 + +```java + + git merge upstream/master + # Updating a422352..5fdff0f + # Fast-forward + # README | 9 ------- + # README.md | 7 ++++++ + # 2 files changed, 7 insertions(+), 9 deletions(-) + # delete mode 100644 README + # create mode 100644 README.md + +``` + +如果你本地分支没有唯一的提交,Git 将会提示 "fast-forward": + +```java + + git merge upstream/master + # Updating 34e91da..16c56ad + # Fast-forward + # README.md | 5 +++-- + # 1 file changed, 3 insertions(+), 2 deletions(-) + +``` + +*提示:同步你的 fork 仅更新你库的本地副本。更新在 GitHub 上 fork,你必须 [push 你的变化](Pushing to a remote.md)。* + +*参考*: \ No newline at end of file