如何签出特定提交并保存在另一个文件夹中

时间:2016-01-15 08:10:32

标签: git

我的计算机上有一个git存储库。我想签出一个特定的提交并将其保存到另一个不是git存储库的文件夹。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

签出提交后,您的工作副本将处于该特定提交的状态。您现在要做的就是复制整个文件夹。

有一点需要注意的是,此副本也会使目标成为git repo。您可以删除目标中的.git文件夹(隐藏文件夹),将其恢复为普通文件夹。

使用步骤:

  1. 让A成为git repo,B成为目的地
  2. git checkout <commit-id>。这使A成为您想要的状态
  3. 将A复制到B
  4. B现在与A相同。它也是一个git repo。要使其不是git repo,请删除其.git文件夹
  5. 你现在可以用A做任何你想做的事:)

答案 1 :(得分:1)

尝试使用分支:

git reflog   # get the sha or reflog shortname  of your desire commit, for example 29b89f9 
git branch branch_name 29b89f9    
git checkout branch_name

并将所有文件复制到文件夹A并删除文件夹.git中的A

如果不再需要分支,请使用以下命令删除它:

git checkout master
git branch -d branch_name