我对git比较陌生,对此流程我有一个疑问。在下面,我切换到develop
分支并将其与远程develop
分支同步。然后,我创建my-feature
分支,以某种方式对其进行修改,分段,提交并推送到远程:
git checkout develop
//切换到本地develop
分支git pull origin develop
(或git fetch origin
/ git merge origin/develop
)//与远程develop
分支同步本地develop
git checkout -b my-feature
//创建新分支并切换到该分支,现在我知道它包含来自远程的最新代码my-feature
分支上添加和修改某些文件git add .
//暂存我修改过的所有文件git commit -m "message"
//提交所有暂存的文件git status
说:“ 什么都不做,工作正常” git push -u origin my-feature
//通过跟踪选项推送到远程git status
说:“ 您的分支的最新信息是'origin / my-feature ”。目前,我{strong>还没有完成 my-feature
。我还有工作要做,但是我会在几天之内完成。
所以,几天后,我想继续在my-feature
分支上,但是我首先要确保我的本地develop
和本地my-feature
分支是最新的,所以我知道现在,我的本地develop
和我的本地my-feature
分支中都存在其他开发人员进行的任何合并的请求请求,因此我减少了可能发生冲突的可能性。
所以,我要确保它们已更新
git checkout develop
//切换到本地develop
分支git pull origin develop
(或git fetch origin
/ git merge origin/develop
)//将最新的合并代码从远程develop
转移到本地develop
分支git checkout my-feature
//切换到my-feature
分支以继续进行工作。这表明“您的分支是最新的'origin / my-feature'” 据我所知,我现在应该通过发布develop
将更新后的本地my-feature
分支与本地git merge develop
分支合并。这会将develop
与我当前所在的分支my-feature
分支合并。因此,现在应该将远程develop
分支上来自其他开发人员的任何合并的拉取请求集成到my-feature
分支中,并且我知道我有最新的远程更改,因此我可以继续进行工作。每天这样做可以减少发生冲突的机会。
但是,在执行此操作之前,我发出git status
来查看当前分支my-feature
的状态。
我感到困惑的是,我看到我在上面第4步中添加或修改的某些文件现在被git status
报告为“已删除”>“待提交”,有些报告为“已修改”>“未暂存” ”,还有一些作为“未跟踪”文件。更令人困惑的是,当我在步骤3中切换到上面的my-feature
分支时,它显示“您的分支是最新的'origin / my-feature'”,但是文件正在显示或者未暂存,或者未提交或未跟踪。
这应该是吗?
我现在应该简单地再次执行git add
和git commit
吗?如果已经在上面的步骤6和7中进行了操作,为什么还需要再次执行?
请提供一些解释,我是git的新手,仍然感到困惑。我只熟悉上述命令。