clone 跟 fork 的差異

我以前一直沒搞清楚的東西。

用情境來解釋

如果你對別人的 repository 有興趣,你可以:

  1. git clone 複製到自己的本地端。不過這只能讓你在本地端做修改(commit),你沒有辦法把本地的修改內容 push 到別人的 repository。另外,clone 也會把原本的 .git 檔案給複製一份,所以會保留原本這份專案的 commit 資訊。

  2. 先在 GitHub 上「fork」別人的專案到自己的 repository,接著在把這個複製過來的 repository 用 git clone 到自己的本地端,最後再把本地的修改用 gir push 來做更新。

如果你把 clone 下來的檔案更新又 push 回去別人的專案,Git 會跳出以下錯誤:

1
2
remote: Permission to sparanoid/chinese-copywriting-guidelines.git denied to jubeatt.
fatal: unable to access 'https://github.com/sparanoid/chinese-copywriting-guidelines.git/': The requested URL returned error: 403

簡單來說就是不允許的意思(關鍵字:Permission denied)。

Git bash 上的快捷鍵 GitHub 的一些基本功能
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×