社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

有人能澄清一下git的工作流程吗?远程服务器上有一个分支?

kevin0110w • 3 年前 • 1068 次点击  

我使用sourcetree。

我通常的工作流程是:

  1. 从origin/main获取所有更改并将其拉入my local
  2. 创建本地分支机构- branch-1
  3. 做开发工作
  4. 犯罪
  5. 拉动(带再底座) origin/main )
  6. 推动 origin/branch-1
  7. 提交PR合并 起源/分支-1 进入 起源/主要

然而,如果公关被拒绝,我需要做进一步的改变,那么这个过程应该是什么?

我现在做的和上面一样,继续 local/branch-1 然后重新从3开始,除了sourcetree似乎让我想从 起源/分支-1 (在第5阶段)而不是 起源/主要 1.我不确定这是否正确?还是我应该退出 起源/分支-1 起源/主要 还是什么?

非常感谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133598
 
1068 次点击  
文章 [ 3 ]  |  最新文章 3 年前
eftshift0
Reply   •   1 楼
eftshift0    4 年前

实际上,我会跳过使用本地等效的 origin/main 并且会使用 起源/主要 作为我的上游分支:

git checkout -b my-feature1 origin/main

然后,如果我以后需要从上游提取更改:

git pull -r

当你想进入远程分支时:

git push origin my-feature1

但这显然不是一个非常流行的工作流。

Gaël J
Reply   •   2 楼
Gaël J    4 年前

我将替换第5步( git pull )与:

# Retrieve work done on other branches without applying it, especially it updates your origin/main
git fetch
# Rebase your work on top of origin/main
git rebase origin/main

使用 pull 通常 将远程数据拉入同一分支。

Matt
Reply   •   3 楼
Matt    4 年前

如果公关被拒绝了,我需要做进一步的改变,那么这个过程应该是什么?

继续关注你的功能分支。编辑、添加、提交并再次推送到功能分支的远程跟踪分支。完成。新的提交将自动添加到请求中。

例如,在 myfeature (假设其上游已配置为 origin/myfeature ,并且有一个正在等待的拉取请求):

echo hello > test.txt
git add test.txt; git commit -mtesting
git push

如果在浏览器中转到pull请求,您将看到此提交已按良好顺序附加到pull请求。


其他评论:

从origin/main获取所有更改并将其拉入my local

这可能是不必要的。您可以直接获取并启动功能分支 origin/main --no-track 当你这么做的时候,为了不被跟踪 起源/主要 错误地例如:

git fetch
git switch --no-track -c myfeature origin/main

这就产生了分支 我的特征 从更新的 main .

拉动(从原点/主方向重新基准)

这是不必要的。同样,您可以获取功能分支,然后将其重设为 ,但一旦你推动了这可能是一个坏主意,因为你现在将推动重写历史;而且可能没有必要。

主要的 ,最好先提取,然后合并 在按下功能分支之前,将其插入功能分支。

例如,在 我的特征

git fetch
git merge origin/main 

你的枝干永远不需要拔掉。

sourcetree似乎让我想从 origin/branch-1 (在第5阶段)而不是 起源/主要

不,您可以从Sourcetree中的任何远程分支提取。打开左边的Remotes类别,点击一个分支,然后选择Pull from。然而,我强烈建议不要使用pull。