gpt4 book ai didi

git - 使用 git 管理仅限本地的更改

转载 作者:太空狗 更新时间:2023-10-29 12:46:14 28 4
gpt4 key购买 nike

在我的本地分支上,我对 Makefile 进行了一些个人(仅限本地)更改(只是更改了编译器的路径)。显然我不想提交这些更改,因为它们只与我相关。但是,如果我不提交它们,那么当我尝试与远程分支同步时会出现错误:

% git fetch upstream
% git merge upstream/master
error: Your local changes to 'Makefile' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.

每次发生这种情况时都存储然后取消存储文件似乎很乏味。例如,在 Perforce 上,您只需将这些文件移动到单独的更改列表并在必要时解决 merge 冲突。

我想要的是让 git 自动将我的本地 Makefile 与远程 Makefile merge (如果可能),但不必提交它。我该怎么做?

最佳答案

可能有几种方法可以解决这个问题,这是我的想法。

创建一个新的 makefix 分支并在那里提交 makefile。每当您需要制作项目时,切换到该分支。您可以在 master 中工作,然后继续 merge ,或者将 makefix 分支 rebase 到 master

一般的想法是您正在创建一个包含永远不会被推送的 Makefile 的分支。

就我个人而言,我会将 makefix rebase 为 master,因此我的 Makefile 更改始终保持在实际可推送代码之前。我的头脑感觉更干净了。

代码示例

git branch makefix
git checkout makefix

Makefile 进行更改

git add Makefile
git commit -m "Add Local Makefile Changes to Compiler Path"

日常工作

git checkout master
git fetch upstream
git merge upstream/master

git checkout makefix
git rebase master

它又长又丑,所以我希望其他人有更好的方法=]

关于git - 使用 git 管理仅限本地的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262249/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com