如何将 URL 的代码推送到 Git 存储库?
How Do I Push A URL's Code To A Git Repository?
我是 Git 新手。
我有一个 BitBucket 帐户,我的 Windows 7 PC 上安装了 Atlassian SourceTree。
我会定期要求我们的 IRT 团队在 www.example.com/extrajs/myscript.js
上发布新代码
我对在我自己的 PC 上跟踪任何数据副本不感兴趣 - 我只想有一个按钮,我可以单击它来复制当前位于 www.example.com/extrajs/myscript 的任何内容.js 到我的存储库中。
是否可以直接从 Web 复制到 Git 存储库?如果是这样,如何? (特定于 SourceTree 或 BitBucket-web-UI-特定的答案更好!我喜欢尽可能避免使用命令行。)
谢谢!
在一般情况下1,无法将文件单独推送到存储库。它需要是树的一部分,树需要是提交的一部分,需要与存储库中的其他提交相关。这至少需要存储库某些部分的本地副本,即使它只是 in-memory.
如果您不想要持久的本地副本,则每次您要推送更新时,该工具都需要从存储库中获取一些信息,因此它知道如何构建它。这可以做到,但它与大多数分布式版本控制系统设计的工作流程相去甚远。不幸的是,这意味着任何工具都不太可能提供这样的功能 out-of-the-box。我还没有从 GitHub 或 BitBucket 听说过这样的事情。
您可能需要编写自定义脚本来处理此问题。如果您担心忘记清理它(并且不小心推送 inconsistent/stale 数据),我建议您每次使用 OS API 时使用一个唯一的临时文件夹 运行 脚本,例如 Linux 上的 mktemp -d
。您还应该了解 git clone
的 --shallow-clone
选项,它允许您仅克隆存储库的最新提交,让您无需重新下载整个历史记录即可进行更改。
1 一些 Git 服务器实际上只是标准 Linux 机器,您使用标准 SSH 连接与之交互,可能具有广泛的权限。在这种情况下,可以使用 SSH/SFTP 将文件上传到服务器,然后直接在服务器上提交。但是,这种配置已经很少见了,我不建议使用。
我是 Git 新手。
我有一个 BitBucket 帐户,我的 Windows 7 PC 上安装了 Atlassian SourceTree。
我会定期要求我们的 IRT 团队在 www.example.com/extrajs/myscript.js
上发布新代码我对在我自己的 PC 上跟踪任何数据副本不感兴趣 - 我只想有一个按钮,我可以单击它来复制当前位于 www.example.com/extrajs/myscript 的任何内容.js 到我的存储库中。
是否可以直接从 Web 复制到 Git 存储库?如果是这样,如何? (特定于 SourceTree 或 BitBucket-web-UI-特定的答案更好!我喜欢尽可能避免使用命令行。)
谢谢!
在一般情况下1,无法将文件单独推送到存储库。它需要是树的一部分,树需要是提交的一部分,需要与存储库中的其他提交相关。这至少需要存储库某些部分的本地副本,即使它只是 in-memory.
如果您不想要持久的本地副本,则每次您要推送更新时,该工具都需要从存储库中获取一些信息,因此它知道如何构建它。这可以做到,但它与大多数分布式版本控制系统设计的工作流程相去甚远。不幸的是,这意味着任何工具都不太可能提供这样的功能 out-of-the-box。我还没有从 GitHub 或 BitBucket 听说过这样的事情。
您可能需要编写自定义脚本来处理此问题。如果您担心忘记清理它(并且不小心推送 inconsistent/stale 数据),我建议您每次使用 OS API 时使用一个唯一的临时文件夹 运行 脚本,例如 Linux 上的 mktemp -d
。您还应该了解 git clone
的 --shallow-clone
选项,它允许您仅克隆存储库的最新提交,让您无需重新下载整个历史记录即可进行更改。
1 一些 Git 服务器实际上只是标准 Linux 机器,您使用标准 SSH 连接与之交互,可能具有广泛的权限。在这种情况下,可以使用 SSH/SFTP 将文件上传到服务器,然后直接在服务器上提交。但是,这种配置已经很少见了,我不建议使用。