use*_*144 7 git visual-studio-code
在处理项目时,我希望始终在主分支以外的分支上进行编辑。Master 用于工作、经过测试的代码。
我有时会忘记这一点,然后开始在主分支上编码。然后我必须重置更改等。
我想知道有什么方法可以使主文件只读,但仍然允许合并到其中。
另一种选择是 VSCode 1.68(2022 年 5 月):
Git:分支保护
使用新
git.branchProtection设置,您可以配置要保护的特定分支。VS Code 将避免直接在受保护的分支上提交,并为您提供创建新分支来提交的机会。
您可以通过设置微调此行为git.branchProtectionPrompt。
这样,在合并回main.
VSCode 1.70(2022 年 7 月)修复了问题 153787中报告的回归并说明了该设置的工作原理:
- 推出最新的 VS Code Insider
- 打开包含 git 存储库的文件夹/工作区
- 确保该
scm.showActionButton设置已启用- 确保该
git.showActionButton设置的所有三个属性均已启用- 使用该
git.branchProtection设置为当前分支启用分支保护- 更改文件:
- 确认
Commit显示“ ”操作按钮并且具有$(check)代码图标- 将设置
git.branchProtectionPrompt设为alwaysCommitToNewBranch
- 确认
Commit显示“ ”操作按钮并且具有$(git-branch)代码图标
您可以添加一个预提交钩子(就像这个要点,它可以阻止意外提交到master)
您可以调整该钩子以绕过它进行合并提交。
VSCode 应该通过 Git 尊重预提交,如果您使用master.
你需要隐藏、切换分支、隐藏流行音乐。
实际上,使用新git switch命令(Git 2.23,2019 年 8 月),您甚至不必隐藏。
的示例部分git switch处理您的场景(开始在“错误”分支上工作)
在错误的分支中工作后,可以使用以下命令切换到正确的分支:
$ git switch mytopic
Run Code Online (Sandbox Code Playgroud)
但是,您
mytopic在本地修改的文件中的“错误”分支和正确的“”分支可能会有所不同,在这种情况下,上述切换将失败,如下所示:
$ git switch mytopic
error: You have local changes to 'frotz'; not switching branches.
Run Code Online (Sandbox Code Playgroud)
您可以将
-m标志赋予该命令,该命令将尝试三向合并:
$ git switch -m mytopic
Auto-merging frotz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3649 次 |
| 最近记录: |