我将首先解释我的设置,然后我的问题是在下面的下划线之间。
我正在尝试创建这样的开发站点结构:
直播网站,主分会将在这里:
/home/website1/public_html/
实时网站的舞台devsite,它将包含舞台分支,当进入主分支时,会将更改带到实际网站:
/home/dev/public_html/stage/site1
每个开发人员都有自己的目录和一个或多个开发站点,每个开发站点都有多个分支:
/home/dev/public_html/developer1/devsite1
/home/dev/public_html/developer1/devsite2
/home/dev/public_html/developer2/devsite1
/home/dev/public_html/developer2/devsite2
目的是在任何时候每个开发人员都可以在他们的devsites上交换分支来查看更改和功能。 例如,当项目完成时,来自developer1 / devsite1上的分支A的更改将合并到stage / site1中。 此外,在developer2运行developer2 / devsite1分支B的任何时候,他都可以使用developer1 / devsite1上分支A的更改来更新该分支B.
但是,出于测试目的,我已经将舞台网站变成了主人,尽管我认为这个过程应该仍然是相同的。
我正在尝试使用的命令是“git worktree add”,但我花了至少几个小时来搜索它为什么不适合我,增加了解我的理解并区分我得到的结果,但从未成功。
所以我接受这个命令并根据文档填写它,其中参数-b表示创建一个新分支,后跟新分支的名称,然后是我希望该分支所在的工作目录的路径并且可能后面跟着那个分支的名字,不知怎的......
git worktree add -b branch1 /home/dev/public_html/stage/site1/
这会立即在stage / site1网站上创建branch1并说:
fatal: the branch already exists.
git worktree add -b branch1 /home/dev/public_html/developer1/devsite1/ branch1
这只是说:
fatal: Not a valid object name: 'branch1'
P.S。我是Git的新手,关于动作和位置的术语,例如什么时候推动或拉动时,下游或上游等等,仍然会让我感到困惑。