Github Fork 記錄

今天是我參加掘金翻譯計劃的第一次翻譯,之前是做了一篇校對,就是review一下其他翻譯者翻譯的文章,看看有沒有一些細節問題,現在終於輪到我上手了,因爲我對github沒有過太深入的瞭解,之前只會一些簡單的命令,所以剛開始就遇到了問題。


因爲我是在很早之前就fork了掘金翻譯計劃的倉庫,我本來以爲拿到翻譯認領之後就可以直接上手了。誰知道當我查看我自己fork的倉庫的時候,發現沒有我需要翻譯的文章的那個文件,但是在原倉庫中是有的。弄了半天也沒有在我的倉庫中找到那個文件,然後我就去問老大,他說可能是你之前fork了倉庫,所以沒有顯示最新的文件,他讓我同步一下倉庫。同步?我一聽就懵逼了。什麼是同步,難道是再從新fork一下,可是我發現我重新fork並沒有什麼卵用。然後我就開始查資料,先是研究了一下什麼是同步,我該怎麼同步。接下來我就說說我是怎麼弄得。


首先,我需要在bash命令行下把我在github上的倉庫clone下來(就是之前我從原倉庫fork的那個倉庫)。

git clone https://github.com/GiggleAll/gold-miner.git

clone完成之後會默認在遠程倉庫哪兒加一個origin這個東西。你可以用命令git remote -v 來查看,你就會在下面看到一個 origin 以及他的倉庫地址。

git remote -v
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

但是因爲你是fork別人的倉庫,所以你還需要在 remote 裏面加這個遠程倉庫的地址 git remote add upstream https://github.com/xitu/gold-miner.git 添加完了之後你可以用 git remote -v 來查看一下是否添加上了。

git remote -v
origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

下一步你就需要 fetch upstream 這個遠程倉庫中的內容了。git fetch upstream 。大體運行結果是下面這個樣子的。

$ 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

下一步你需要切換到master分支

git checkout master
Switched to branch 'master'

現在你看當你執行 git fetch upstream 的時候最下面的一句提示 * [new branch] master -> upstream/master 所以你需要 merge 剛纔獲取到的更新文件,所以執行 git merge upstram/master 讓他來更新你本地倉庫的文件,命令執行效果大體如下:

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

現在你本地的倉庫以及更新到原倉庫最新的文件了,如果你想把你github上的內容也一併更新了的話,那麼用 git push origin master 就好。至於你想更新到哪個分支上的話,你查一下 git push 命令的用法就好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章