在git中创建一个分支,但担心会损害现有的稳定主机

在git中创建一个分支,但担心会损害现有的稳定主机,git,git-branch,Git,Git Branch,我的硬盘上有一个宝贵的安装: /var/www/lukevan/po2/po 这就是“PO”项目。我们希望为我们的客户维护这个版本,但是现在我们需要做一个新的、实验性的分支,在我们准备好将其合并回当前的、稳定的PO项目之前,这个分支可能会有一段时间不稳定。我已经复习过了,但让我困惑的是,我是否应该在我珍贵的/var/www/lukevan/po2/po文件夹中运行这个,或者我是否应该做些别的事情,以免伤害我珍贵的/var/www/lukevan/po2/po文件夹?在你的情况下,你应该在安全的地

我的硬盘上有一个宝贵的安装:

/var/www/lukevan/po2/po


这就是“PO”项目。我们希望为我们的客户维护这个版本,但是现在我们需要做一个新的、实验性的分支,在我们准备好将其合并回当前的、稳定的PO项目之前,这个分支可能会有一段时间不稳定。我已经复习过了,但让我困惑的是,我是否应该在我珍贵的/var/www/lukevan/po2/po文件夹中运行这个,或者我是否应该做些别的事情,以免伤害我珍贵的/var/www/lukevan/po2/po文件夹?

在你的情况下,你应该在安全的地方克隆你的回购协议,然后再进行克隆


这样,您的工作不会影响原始回购协议的工作目录。

在您的情况下,您应该将回购协议克隆到安全的地方,然后使用克隆


这样,您的工作不会影响原始回购的工作目录。

版本控制系统的一个好处是能够还原您的更改。不要太担心它。

版本控制系统的好处之一是能够恢复更改。不要太担心它。

克隆“珍贵”文件夹,然后在克隆中创建分支。如果出现严重问题,你可以开始使用原始回购协议

实际上,这就是使用版本控制系统的全部意义所在,但有时有点偏执也无妨。

克隆“珍贵”文件夹,然后在克隆中创建分支。如果出现严重问题,你可以开始使用原始回购协议


事实上,这就是使用版本控制系统的全部意义所在,但有时有点偏执并没有什么坏处。

Git并不善变。绝对不需要重新克隆此存储库。这就是创建分支的目的,也就是说,可以创建一个seam,在这里可以独立工作,而不必担心对其他分支进行更改。只需创建新分支并开始黑客攻击和提交

git checkout -b experimental
// hack hack hack
git add foo
git commit -m 'changed foo'
现在,/var/www/lukevan/po2/po中的文件在实验分支上已经更改,而在主分支上的文件没有更改。当您切换回master时,文件将根据它们在master分支上的外观进行签出


克隆是一项昂贵的操作。创建分支只需要41字节的文件开销,而且速度非常快,重量也非常轻。当涉及到分支时,Git是规则的。使用它!:)

Git不是水银。绝对不需要重新克隆此存储库。这就是创建分支的目的,也就是说,可以创建一个seam,在这里可以独立工作,而不必担心对其他分支进行更改。只需创建新分支并开始黑客攻击和提交

git checkout -b experimental
// hack hack hack
git add foo
git commit -m 'changed foo'
现在,/var/www/lukevan/po2/po中的文件在实验分支上已经更改,而在主分支上的文件没有更改。当您切换回master时,文件将根据它们在master分支上的外观进行签出


克隆是一项昂贵的操作。创建分支只需要41字节的文件开销,而且速度非常快,重量也非常轻。当涉及到分支时,Git是规则的。使用它!:)

以下是我所做的,尽管我不知道这是否是处理这个问题的最佳方式:

在具有web服务器的开发工作站上:

cd /var/www/lukevan
mkdir pof2
cd pof2
git clone user@domain.com:po.git
ls
# a po folder was listed -- that's the MASTER of our project, called "po".
git branch pof2
git checkout pof2

我现在可以使用/var/www/lukevan/po2/po在必要时使用稳定的主分支,然后使用/var/www/lukevan/pof2/po在必要时使用不稳定的实验分支。我可以运行我的“git pull origin master”或“git pull origin pof2”来下载最新的文件,黑客攻击,然后运行git add.,然后运行git commit-m“what I'm commit”,然后运行git push origin master for master和git push origin pof2 for pof2。

下面是我所做的,尽管我不知道这是否是处理这个问题的最佳方法:

在具有web服务器的开发工作站上:

cd /var/www/lukevan
mkdir pof2
cd pof2
git clone user@domain.com:po.git
ls
# a po folder was listed -- that's the MASTER of our project, called "po".
git branch pof2
git checkout pof2

我现在可以使用/var/www/lukevan/po2/po在必要时使用稳定的主分支,然后使用/var/www/lukevan/pof2/po在必要时使用不稳定的实验分支。我可以运行我的“git pull origin master”或“git pull origin pof2”来下载最新的文件,黑客攻击,然后运行git add.,然后运行git commit-m“what I'm commit”,然后为master运行git push origin master,为pof2运行git push origin pof2。

除非/var/www是(顾名思义)一个生产站点。他提到它安装在他的硬盘上。我希望这不是生产。@ColinHebert,不是。在这种情况下,它是我的本地工作站web服务器。除非/var/www(顾名思义)是一个生产站点。他提到它安装在他的硬盘上。我希望这不是生产。@ColinHebert,不是。在这种情况下,这是我的本地工作站web服务器。我将研究克隆命令。我对git还是很熟悉。我将研究克隆命令。我对git还是很熟悉。除了我珍贵的/var/www/lukevan/po2/po文件夹之外,还有没有其他方法可以在单独的目录中实现这一点?我不明白你为什么需要另一个文件夹。工作树中的文件只是存储库的一个视图。分支与文件夹无关,只需创建分支并开始提交即可。当您切换回master时,磁盘上的文件将与master分支上的版本相匹配,并且您在实验分支上所做的更改不会更改master上的文件。有没有办法在一个单独的目录中执行此操作,而不是在我珍贵的/var/www/lukevan/po2/po文件夹中?我不明白您为什么需要另一个文件夹。工作树中的文件只是存储库的一个视图。分支与文件夹无关,只需创建分支并开始提交即可。当您切换回主机时,磁盘上的文件将与主机上的版本匹配