如何“连接”git存储库而不首先克隆它?

时间:2016-01-21 17:10:07

标签: git centos bitbucket

我在bitbucket上有一个git repo,几个月前用于php应用程序。

我现在有了一个新服务器,我想在该存储库上连接此应用程序的本地文件夹。对我来说,挑战是本地版本现在比bitbucket版本更新。我是git的新手,我发现的说明总是暗示我们首先克隆了回购。我不想先覆盖本地文件。

5 个答案:

答案 0 :(得分:4)

我认为您想要添加或更改遥控器。要更改默认远程使用git remote set-url origin <url>或添加新远程使用git remote add

答案 1 :(得分:2)

如果您有一些文件的本地(非git修订版)目录和同一项目的git存储库,并且您希望使用本地文件的内容更新git存储库,那么您需要将存储库克隆到其中自己的目录然后手动复制克隆目录顶部的所有本地文件,然后添加,提交并将新内容/更改推送到远程git服务器。

$ git clone https://name@bitbucket.org/name/name.git
# If the directory structures are identical then you might be able to do this with a single `cp`.
$ cp -r /path/to/local/code/* name
$ cd name
$ git status
# will show all the changed files, added files, etc.

然后你可以使用普通的git操作来添加和提交你的更改,然后在完成后全部推送它们。如果您想要一个大的更新内容,您可以批量添加和提交更改。提交,但我强烈建议尽可能避免这种情况(保持存储库历史至少有点理智和可理解),在这种情况下,您可以使用git add -p等从更改中创建原子提交。

答案 2 :(得分:1)

将远程存储库连接到本地源:

git init
git remote add origin {remote-repository-url}

要更改存储库:

git remote set-url origin {remote-repository-url}

答案 3 :(得分:0)

代替:

git clone {remote-url} .

执行此操作,假设您所在的目录中没有存储库

git init
git remote set-url origin {remote-url}

现在您已经拥有一个已经克隆但已经连接到远程源的存储库。

答案 4 :(得分:0)

无需任何 Git init 或 clone 即可:

git ls-remote [url] 

这是您的输出:

5fe978a5381f1fbad26a80e682ddd2a401966740    refs/heads/master
d6602ec5194c87b0fc87103ca4d67251c76f233a    refs/tags/v0.99

在这里查看更多Git Documentation git ls-remote