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等)很好!我刚试过。它工作得非常好)而且比使用文件夹而不是分支更方便。非常感谢你!我刚试过。它工作得非常好)而且比使用文件夹而不是分支更方便。非常感谢你