我想要两个版本的项目:stable
和dev
。
它应该看起来像:
/home/me/proj/stable
/home/me/proj/dev
我想对dev
版本进行一些更改,然后将它们带到stable
。
我如何解决任务:
1)在dev
目录
2)git clone dev stable
3)dev
中的每次更改:
cd /home/me/proj/dev
git add .
git commit -m 'fixes'
cd ../stable
git pull
它工作正常,但当我从dev
删除某些文件,然后执行pull
时,这些文件仍在stable
中。我不希望他们在那里。我希望stable
是dev
的完整副本。
答案 0 :(得分:3)
或者您可以尝试使用GIT和两个分支,dev和stable,并通过合并分支来保持两个“版本”同步。为:
$ mkdir /home/me/proj; cd /home/me/proj
$ git init
$ echo 'README' > README; git add README; git commit -m 'README'
$ git branch stable
$ git checkout -b dev
# do your development
$ git commit <stuff>
# now bring the stuff to <stable>
$ git checkout stable
$ git merge dev
注意:dev
中删除的文件在上述合并后会在stable
中消失。
# back to dev for more development
$ git checkout dev
如果您需要在某处部署稳定版本,请使用
$ cd <parent dir for deploy>
$ git clone /home/me/proj --branch stable
答案 1 :(得分:1)
我想你可能在寻找
git clean -df .
(但是,如果删除版本已经版本化,那么它应该是自动的,除非有本地更改)
要确保跟踪删除,请执行
git add -A .
而不仅仅是
git commit -am '........'