git - 如何找到用 git 管理的特定文件的远程完整 url?

标签 git

我有一个 git 存储库(也在远程管理),如何使用单个命令找到文件的当前远程完整路径?

例如:

src/main/java/myfile.java

我想运行一个命令

git ?????? src/main/java/myfile.java

然后它将返回该文件的远程 url

https://github.com/repo/bla/src/main/java/myfile.java

有什么办法可以实现吗? 这样做的动机是我想立即获取此路径,以便我可以将 url 发送给另一个开发人员,这样当他单击 url 时,它将在浏览器中为他打开文件(如果此文件托管在 github 例如),我想要一个命令,而不是经历获取 github 基本 uri 然后连接文件的相对路径的整个过程,我希望一个命令可以为我完成这项工作。

最佳答案

没有这样的命令,原因很简单,即远程不一定由(公开的)可查看的网络服务器支持。

在最简单的情况下,远程存储库只是一个您可以在某处访问的文件夹。该文件夹既不能通过网络浏览器访问,也不能直接访问其中的文件(因为数据被打包到 Git 对象数据库中)。

这只是 GitHub 和其他一些在线存储库托管服务的特例,它们还允许通过浏览器查看存储库内容。

也就是说,如果您知道远程存储库在 GitHub 上,您当然可以解析远程 URL,提取存储库路径,并将文件路径连接到它。然后,您可以轻松地将其放入可以调用的脚本中。

关于git - 如何找到用 git 管理的特定文件的远程完整 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33232629/

相关文章:

git - 推送到 git-hub 存储库时自动忽略选定的代码更改

git - 如何在 GitHub 中使用 REST API 列出给定主题的所有存储库?

linux - 使用公钥时 Git "ERROR:gitosis.serve.main:Repository read access denied"

git - git中怎么两个分支变成 "linked"?

提交后 git push 得到 "Everything up-to-date"

git - 是否有使用 Github 提供的 noreply 电子邮件的 git push 解决方法,而不取消勾选 "Block command line pushes that expose my email"?

git - 将 git 文件保存在另一个文件夹中

git --all 缺少提交

git - 如何删除名称以 '-' 开头的分支

ruby-on-rails - 无法在 bitbucket 上使用 ssh 连接