通常,我通过命令行使用 Git。今天,我决定将它与生成以下命令的 NetBeans IDE 一起使用:
git push ssh://...myrepo.git/ refs/heads/master:refs/heads/master
谁能解释一下 refs/heads/master:refs/heads/master
是什么意思?
最佳答案
syntax使用如下:git push <repository> <src-ref>:<dst-ref>
通过使用 refs/heads/master
作为<src-ref>
和 <dst-ref>
, Git 使用 限定和明确的 refspecs (本地和远程)并且不需要根据源和目标 refspecs 猜测命名空间。此外,存储库是明确提供的,这意味着它不是由配置的名称(如 origin
)寻址的。
让我们在演示存储库中看到这一点。分公司dev
已 checkout 并在克隆后删除了 Remote 。首先,我们列出(显式提供的)远程存储库中的引用,并看到所有引用都指向 7b7d5a3。 git-push的日志显示我们更新了7b7d5a3..4a27218
在 Remote 上master
未配置远程并站在 dev
上的分支分支。再次在 Remote 上列出引用证实了这一点。
$ git branch -va
* dev 7b7d5a3 Initial commit
master 4a27218 Add file.txt
$ git ls-remote git@domain.tld:user/repo.git
7b7d5a33d6e6ea3d69d9f87fa8ef1c596a37e24c HEAD
7b7d5a33d6e6ea3d69d9f87fa8ef1c596a37e24c refs/heads/dev
7b7d5a33d6e6ea3d69d9f87fa8ef1c596a37e24c refs/heads/master
$ git push -v git@domain.tld:user/repo.git refs/heads/master:refs/heads/master
Pushing to git@domain.tld:user/repo.git
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 294 bytes | 294.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To domain.tld:user/repo.git
7b7d5a3..4a27218 master -> master
$ git ls-remote git@domain.tld:user/repo.git
4a272186f7f56f2346fb2df7e63584f09936bdad HEAD
7b7d5a33d6e6ea3d69d9f87fa8ef1c596a37e24c refs/heads/dev
4a272186f7f56f2346fb2df7e63584f09936bdad refs/heads/master
关于git - refs/heads/master :refs/heads/master mean? 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67875952/