我从事几个项目,其中一些具有main默认master分支。我无法用一个或其他名称重命名所有项目,因为并非所有项目都由我管理。我知道.gitconfig别名系统非常广泛,所以我想知道是否有一种方法可以接受涉及的每个命令的两个名称。到目前为止,我只找到了这个,但它涉及修改每个单独的命令,并且使用!sh -c它不是很“漂亮”。理想的情况是还测试两个分支是否确实存在于存储库中以避免错误。
我尝试master = main在 .gitconfig[alias]部分的开头添加,但无论哪种方式都不起作用。
要查找远程存储库的默认分支(无论名称如何),您可以查看..git/refs/remote/<remote name>/HEAD
例如:
$ cat .git/refs/remotes/origin/HEAD
ref: refs/remotes/origin/master
$ awk -F "/" '{print $NF}' .git/refs/remotes/origin/HEAD
master
Run Code Online (Sandbox Code Playgroud)
然后就可以切换到本地同名分支:
git switch $(awk -F "/" '{print $NF}' .git/refs/remotes/origin/HEAD)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |