Git 吉特。保持项目的稳定和开发版本
我想要两个版本的项目:Git 吉特。保持项目的稳定和开发版本,git,Git,我想要两个版本的项目:stable和dev。 它应该是这样的: /home/me/proj/stable /home/me/proj/dev 我想在dev版本上做一些更改,然后将它们带到stable 我如何解决任务: 1) 在dev目录中创建项目 2) git克隆开发稳定 3) 在dev中每次更改时: cd /home/me/proj/dev git add . git commit -m 'fixes' cd ../stable git pull 它工作正常,但是当我从dev删除一些文件,
stable
和dev
。
它应该是这样的:
/home/me/proj/stable
/home/me/proj/dev
我想在dev
版本上做一些更改,然后将它们带到stable
我如何解决任务:
1) 在dev
目录中创建项目
2) git克隆开发稳定
3) 在dev
中每次更改时:
cd /home/me/proj/dev
git add .
git commit -m 'fixes'
cd ../stable
git pull
它工作正常,但是当我从
dev
删除一些文件,然后执行pull
,这些文件仍然处于稳定状态。我不想让他们在那里。我希望stable
成为dev
的完整副本,我想您可能正在寻找
git clean -df .
(尽管如此,如果删除是版本化的,那么它应该是自动的,除非有本地更改)
要确保跟踪删除,请执行以下操作
git add -A .
而不仅仅是
git commit -am '........'
我想你可能在找
git clean -df .
(尽管如此,如果删除是版本化的,那么它应该是自动的,除非有本地更改)
要确保跟踪删除,请执行以下操作
git add -A .
而不仅仅是
git commit -am '........'
或者您可以尝试将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
如果需要在某处部署稳定版本,请使用
$ cd <parent dir for deploy>
$ git clone /home/me/proj --branch stable
$cd
$git clone/home/me/proj--分支稳定
或者您可以尝试将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
如果需要在某处部署稳定版本,请使用
$ cd <parent dir for deploy>
$ git clone /home/me/proj --branch stable
$cd
$git clone/home/me/proj--分支稳定
这就是分支的用途。你为什么不想使用它们?@Reinhenrich他是,虽然伪装成克隆人。如果两个克隆人都在签出master,那么他们就没有使用分支。@imkost当你从dev中删除文件时,你是使用了git rm
还是将删除内容添加到git索引中?@Reinhenrich我会让你得到它,但我要指出的是,人们没有更多地区分“事实”和“惯例”,这让我感到悲哀。你所描述的是惯例。但是,ref名称对图片没有任何影响refs/heads/master
与refs/remote/origin/master
是不同的分支,它们实际上甚至不需要有任何共同的提交。它们是树枝。(在某种程度上,git中不存在分支。只有ref和它们的一些名称空间(ref、tags等))这就是分支的用途。你为什么不想使用它们?@Reinhenrich他是,虽然伪装成克隆人。如果两个克隆人都在签出master,那么他们就没有使用分支。@imkost当你从dev中删除文件时,你是使用了git rm
还是将删除内容添加到git索引中?@Reinhenrich我会让你得到它,但我要指出的是,人们没有更多地区分“事实”和“惯例”,这让我感到悲哀。你所描述的是惯例。但是,ref名称对图片没有任何影响refs/heads/master
与refs/remote/origin/master
是不同的分支,它们实际上甚至不需要有任何共同的提交。它们是树枝。(在某种程度上,git中不存在分支。只有ref和它们的一些名称空间(ref、tags等)很好!我刚试过。它工作得非常好)而且比使用文件夹而不是分支更方便。非常感谢你!我刚试过。它工作得非常好)而且比使用文件夹而不是分支更方便。非常感谢你