有沒有標準的方式來同步git工作區與另一個目錄。 假設我有一個在git版本控制下的目錄。該目錄將被移出現場並進行更改並完成(文件被更改,添加和刪除)。然後它被返回到我的機器。我怎樣才能輕鬆地將所有這些變化整合回git中。同步git工作區與另一個文件夾
如果我只是將文件複製過來,那麼新文件和更改後的文件都可以,但關於刪除文件的信息將會丟失。有沒有什麼辦法可以輕鬆完成目錄不在git時刪除的文件的git rm?
有沒有標準的方式來同步git工作區與另一個目錄。 假設我有一個在git版本控制下的目錄。該目錄將被移出現場並進行更改並完成(文件被更改,添加和刪除)。然後它被返回到我的機器。我怎樣才能輕鬆地將所有這些變化整合回git中。同步git工作區與另一個文件夾
如果我只是將文件複製過來,那麼新文件和更改後的文件都可以,但關於刪除文件的信息將會丟失。有沒有什麼辦法可以輕鬆完成目錄不在git時刪除的文件的git rm?
您可以使用--work-tree
選項git
command本身:
cd /path/to/your/local/repo
git --work-tree=/path/to/your/other/directory status
git --work-tree=/path/to/your/other/directory add -A .
git checkout .
將檢測新的,修改和刪除的文件。
Mike Lippert的answer中提到了最後一條命令,用於將您自己的本地工作樹與剛剛更新的索引進行同步。
這樣一來,你是比較:
another/directory
」(由--work-tree
選項參考)git
)指數VonC的答案看起來像你想要的第一部分。
的--work-tree
選項運行git --work-tree=/path/to/your/other/directory add -A .
索引是從當地的(原)目錄不同但是經過對git(1) Manual Page
描述。要使本地目錄與索引(包含脫機目錄中的所有更改)匹配,請運行git checkout .
。
git --work-tree=/path/to/your/other/directory add -A .
git checkout .
+1。好點子。我在我的回答中也包含了結帳步驟。 – VonC