Github 添加一個儲存庫作為來自現有複製的 fork
所以我有一個 git 儲存庫,它是從 github 上的上游源複製的。我對其進行了一些更改(在主分支中未送出)。我想要做的是將我的更改作為一個新分支推送到我的 github 頁面上,並且讓 github 仍然將其視為一個分支。
那可能嗎?我對 git 和 github 還很陌生。我的問題甚至有意義嗎?
我能想到的最簡單的方法(我敢肯定這是最周到的方法)是在 github 上 fork 儲存庫。在本地將其複製到不同的目錄。添加上游原始倉庫。在那個新的分叉倉庫中創建一個分支。手動將我的程式碼更改複製到新的本地儲存庫中。然後把它推回我的github。
這是一個常見的案例,有一種更簡單的方法可以在不複製目錄的情況下進行操作嗎?
我想我在這裡問而不是 SO,因為我在 linux 上使用命令行 git 並且這裡的人給出了更好的答案 imo =]
您可以從現有儲存庫中完成所有操作(無需將 fork 複製到新的(本地)儲存庫、創建分支、複製送出/更改等)。
- 準備好發布的送出。
優化任何現有的本地送出(例如,使用
git commit --amend
和/或git rebase --interactive
)。送出您想要發布的任何未送出的更改(我不確定您的意思是暗示您在本地master上有一些送出和一些未送出的更改,或者只是一些未送出的更改;順便說一下,未送出的更改不是“在分支”,它們嚴格位於您的工作樹中)。
重命名您的master分支,為您的“新分支”賦予您想要的名稱。這不是絕對必要的(您可以從任何分支推送到任何其他分支),但從長遠來看,如果您的本地分支和 GitHub 分支中的分支具有相同的名稱,它可能會減少混淆。
git branch -m master my-feature
- 將上游 GitHub 儲存庫
(eg)分叉
github.com:UpstreamOwner/repostory_name.git
為(eg)
github.com:YourUser/repository_name.git
。這是在 GitHub 網站(或使用 GitHub API 的“客戶端”)上完成的,不涉及本地 Git 命令。 3. 在您的本地儲存庫(最初從上游 GitHub 儲存庫複製並在其master中進行更改的儲存庫)中,將您的 fork 儲存庫添加為遠端:
git remote add -f github github.com:YourUser/repository_name.git
- 將您的分支推送到 GitHub 上的 fork 儲存庫。
git push github my-feature
- (可選)重命名遙控器,使您的 fork 稱為“origin”,上游稱為“upstream”。
git remote rename origin upstream git remote rename github origin
重命名遙控器的一個原因是因為您希望能夠在
git push
不指定儲存庫的情況下使用(預設為“origin”)。