我正在使用 msysgit(Windows 版 Git)。过去,运行“git pull”会自动“git fetch”,然后使用上游的新 HEAD 在每个分支上重新调整我的更改。现在似乎“git pull”通常只是给我错误,说明我的配置文件中没有设置“branch.*.merge”。当这之前工作时,我没有在我的配置文件中做任何特别的事情。这是我创建本地分支机构的方式吗?我通常这样做:
git checkout -b localbranch origin/remotebranch
这是创建分支以便“git pull”自动合并它们的最佳方式吗?(因为它似乎对我不起作用)
您的配置文件中需要类似于以下内容:
[branch "master"]
remote = origin
merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)
如果需要为现有分支添加此信息,可以使用以下命令:
git branch --set-upstream mybranch origin/remotebranch
Run Code Online (Sandbox Code Playgroud)
如果您要创建新分支,则可以使用以下命令之一确保该分支是远程跟踪分支:
git branch --track mybranch origin/remotebranch
git checkout --track -b mybranch origin/remotebranch
Run Code Online (Sandbox Code Playgroud)
但是,--track应该是默认的。如果不是,则该设置branch.autosetupmerge可能设置为 false。要重置它,您可以将其设置为 true 或取消设置:
git config --global branch.autosetupmerge true
git config --global --unset branch.autosetupmerge
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |