如何有效地变基而不让提交堆积在本地?

问题描述 投票:0回答:1

我正在尝试实现一个工作流程,在合并之前将我的功能分支从 master 上变基。我发现在变基之前将

feature
分支上的本地提交推送到远程存储库并不是一个好主意,因为这本质上重复了功能分支上的提交,并且需要随后的强制推送,如here所述。 (Git 101 我知道。)我绝对不想养成
--force
推送提交的习惯,通过让提交首先在本地累积而不推送,然后重新定位,然后然后推送,我可以避免这种情况。

但是,我希望在变基之前将我的提交推送到远程服务器的某个地方,特别是当本地存储库位于本地计算机上时(可能会遇到 HD 故障等)。有没有办法做到这一点,而不需要

--force
推动?我想过创建某种中间
my_work
分支,但这似乎也会导致“本地/远程分歧”问题。也许有一种聪明(或不那么聪明)的方法可以做到这一点,但我只是没有想到。

git git-merge rebase git-rebase feature-branch
1个回答
0
投票

一个可能的工作流程是:

  • 创建并在您的
    feature
    分支上工作。定期提交您的更改。
  • (可选)为了安全起见,将您的
    feature
    分支推送到备份分支或其他远程服务器。
  • 获取最新的
    master
    并将您的
    feature
    分支重新设置到它上面。
  • 成功变基后,如有必要,强制推送到您的
    feature
    分支。
  • 如果需要,请将您的功能分支远程合并到
    master
    ,而无需在本地签出
    master
# Working on feature branch
git checkout -b feature
git commit -m "Your commit message"

# Optional: Backup
git push origin feature:feature_backup  # or to a different server

# Rebase
git fetch origin
git rebase origin/master

# Force push to feature branch
git push origin +feature

# Merging into master remotely
git fetch origin
git push origin feature:master
© www.soinside.com 2019 - 2024. All rights reserved.