[英]how to use git checkout to checkout a specific commit from history of commits to another folder
考慮我在git日志中有這個:
提交847a363f6676bf5d07c42d6ebec834fea1c9a363
-------------------更正:
讓我更正。 我使用git作為備份和版本控制工具。 我想在提交歷史中獲得以前的版本,而又不影響當前工作目錄中的任何內容。 我只想在給定的提交編號中將所有文件的副本保存在單獨的目錄中。
mkdir -p /path/to/it
git archive 847a363f6676bf5d07c42d6ebec834fea1c9a363 | tar Cx /path/to/it
這也允許過濾出局,請參閱export-ignore
和export-subst
屬性。
另一種方法
而不會影響我當前的工作目錄中的任何內容。 我只想在給定的提交號中將所有文件的副本放在一個單獨的目錄中
使用一次性部署索引,如下所示:
mkdir -p /path/to/dest
GIT_INDEX_FILE=.git/junk GIT_WORK_TREE=/path/to/dest \
git read-tree -u 847a363f6676bf5d07c42d6ebec834fea1c9a363
rm .git/junk
並且如果您確實想將提交添加為已簽出的提交的子樹
git read-tree -u --prefix=path/to/dest/ 847a363f6676bf5d07c42d6ebec834fea1c9a363
另一種可能性:
您想要的是git worktree 。 使用git worktree add
簽出另一個目錄中的提交。 這很容易使用,但我讓您閱讀文檔以了解具體操作方法...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.