2017-05-26 49 views
0

我一直在研究一個非常大的項目。 我在Gitlab上有我的項目,名爲ProjectXYZ,過去有幾次提交。Git - 如何用其他開發人員的新代碼更新我的回購

我最近給我的代碼給第三個人做了一些修改(這可能是添加,刪除,修改文件)

雖然我把代碼給了第三個人,但我沒有對我做任何改變。所以,如果有什麼變化,它就在第三個人身上。

最近這個人遞給我一個.ZIP文件夾中修改完整的代碼。

我提取了ZIP文件夾,並啓動了解決方案文件,並確認事情正在使用該人的新代碼。

現在,我想把這個新代碼推到我現有的Gitlab上的ProjectXYZ上。我也想保存所有以前的提交。

以下步驟是我認爲我會做的,請讓我知道這是否可行。

1)我將進入我的本地PC上的現有ProjectXYZ目錄並刪除除了.git文件夾(保留git)以外的所有內容。

2)然後,我從其他人發送給我的文件夾中複製所有內容,並將其粘貼到本地PC上現有的ProjectXYZ目錄中。 3)我會做一個git add * - > git commit - > git push - >來更新我的git repo。

注意:因爲在將代碼提供給第三方代碼後,我沒有對其進行任何更改,所以我不擔心丟失任何代碼更改。

請讓我知道,如果這是一個正確的做法。據我所知,可能有其他的方式做,但請相信我,我已經嘗試和失敗這樣一個My other post

謝謝

+1

如果你的工作樹將從開發人員開始工作的地方站在修訂版本上,這聽起來是正確的......但是,在提交時,確保設置--author,以便知道應該責怪誰有些東西是不正確的。 – eftshift0

+0

@ Edmundo我會失去任何歷史/曲目變化嗎? – CB4

+1

只要不刪除.git目錄,就不會丟失項目歷史記錄中的任何內容。 – eftshift0

回答

1

您可以按照此步驟:

  1. git的結帳-b變化(這裏的變化是所有變化做了由第三人)
  2. 粘貼.zip文件中的所有文件在該分支
  3. 執行git的添加,提交和推送像你說的
  4. 做底墊:git的重訂主
  5. 返回用git結帳主掌握

爲什麼這樣做?

當你使用rebase而不是合併你的mantain清理超出你的日誌時保存在另一個分支中隔離的更改。

+0

@ Ivan我該怎麼做2)將.zip中的所有文件粘貼到這個分支中? – CB4

+0

當我做git checkout -b changes - > git創建一個名爲changes的新分支時,將.zip的內容提取到最近創建的分支,名爲changes –

+0

,但我將無法在本地目錄中看到此文件夾把它粘貼到那裏? – CB4

0

@Ivan羅德里格斯

我開始用你的建議,最終我找到了解決辦法如下。這種方法是:

我)創建一個「開發」分支

ii)作出,並承諾本Dev分支的任何更改(您不必爲「推」,如果你不想要的git顯示在項目樹Dev分支)

III)終於合併這個掌握

下面是對我的作品的步驟:

1.git結賬-b BranchX

2.do你的開發工作......或根據需要進行

3.git添加*(添加所有的變化)

4.git提交-m任何改變文件/文件夾/目錄「我的消息「

5.git推起源BranchX(你不需要做到這一點,它劇照工作)

6.git重訂主

7.git結賬主

8.git合併BranchX

9.git推起源主

現在,主分支將所有的東西,最新的。

再次,非常感謝大家的幫助。

+0

有人可以確認我在這裏描述的方法是否正確嗎?我以後不想再有任何問題。謝謝 – CB4

相關問題