在我的位桶存储库中称为“测试”的主分支之外,我有3个分支(分支,分支2和分支3)。
我在本地Windows上克隆了该存储库,并获得了README.md文件。
然后我创建的Jenkinsfile确实进行了添加,提交和推送。我可以在bitbucket master分支上看到Jenkins文件。
然后我使用“ git checkout branchone”切换到branchone,并使用git branch命令验证了相同的结果
F:\Jenkins\MultiBranch\test>git branch
* branchone
master
branchtwo
branchthree
我确认我拥有Jenkinsfile,然后“ git add”。或“ git add Jenkinsfile”,但git status显示未上演
F:\Jenkins\MultiBranch\test>git status
在分支branchone上 您的分支机构的最新信息是“起源/分支机构”。
什么也没提交,工作树很干净
以下是我的问题:
答案 0 :(得分:1)
1。当您将jenkins文件添加到master时,提交了该文件并签出了branchone,由于您已经将其提交给master,因此jenkins文件就不会在那里了。
因此,即使您执行git add .
,branchone也不会添加任何内容。如果您再次在分支之一中专门创建了jenkins文件,则可以将其添加到branchone并提交。
2。我不确定如何一次性将更改同时应用于多个分支。但是,您可以通过以下方式分别为每个分支进行操作:
3。git中没有子分支的概念。您只有一个分支。分支只是指向提交的指针。当您说您拥有branchone时,branchone是使用#abc123提交的指针。该提交之前可能有自己的提交树。
删除分支时,将删除提交的指针,而不是提交本身。现在,回到您的问题,您可以从分支开始创建任意数量的分支。您可以使用命令git checkout -b newBranchName
。
如果从branchone创建一个新分支,branchone和newbranch都将指向先前由branchone指向的同一提交。如果在新分支中添加另一个提交,则只有newbranch指针将向上移动以指向最新的提交,而branchone指针将停留在原始提交。
希望这会有所帮助。