在保持历史记录的同时向上移动git目录

时间:2014-07-14 18:57:38

标签: git visual-studio

我不小心选择了我项目的Git文件夹

e:\programs\trimetric game\trimetric game

而不是一个文件夹,

e:\programs\trimetric game

我想将Git repo移动到前一个文件夹中,因为Visual Studio会跟踪Git,但只有当它在该文件夹中时才会跟踪。我不确定如何做到这一点,同时仍然保留我以前的所有提交,就好像它们发生在更高层次的文件夹中。

此外,这个项目在GitHub上,我不确定这些变化是否会影响到这一点。

1 个答案:

答案 0 :(得分:0)

编辑,因为评论显示我首先误解了这个问题

首先:只要您不删除远程分支(或push -f,基本相同),您的github仓库就是安全的:您不会丢失数据。

现在,要做你想做的事,你可以:

cp -r "e:\programs\trimetric game" "e:\programs\trimetric game.backup" #better safe than sorry
cd "e:\programs\trimetric game\trimetric game"

#Start to make the repo look like what you want
mkdir "trimetric game"
git mv * "trimetric game"
cp -r ../* .
git add . #Add to git those files we've just added
git commit -am "Changing the structure of the repo"

#Now move it up
#We could use mv, but here is a simpler approach
git push origin master #or work with another branch if you don't want to change master now
cd ../..
rm -rf "trimetric game" #We delete everything because we've backed up everything on github
git clone "https://github.com/xxx/trimectric game"