似乎至少有3种方法可以做同样的事情.
# 1. git remote add origin https://x@bitbucket.org/x/y.git
# 2. git remote set-url origin ssh://git@bitbucket.org/x/y.git
# 3. git config --local remote.origin.url ssh://git@bitbucket.org/x/y.git
Run Code Online (Sandbox Code Playgroud)
注意:这似乎是一个重复此,但这些问题的答案是不完整的,不解释更改URL VS"远程"的区别?
编辑:
进一步谷歌搜索:从这个 SO回答:
a
remote
git基本上是一个不同存储库的书签,您可能希望从中获取或推送代码.带书签的存储库可能位于本地计算机上的不同文件夹中,位于远程服务器上,或者甚至可能是存储库本身......但最简单的类比是书签.存储库甚至不必是存储库的版本,它甚至可能是完全不相关的存储库.
与此:
origin
是不是远程仓库名.它是一个本地别名集,作为远程存储库URL的密钥.
该git remote
命令用于操作(使用,添加和删除)遥控器.它有十个(!)子命令:
git remote add
git remote rename
git remote remove
git remote set-branches
git remote set-head
git remote get-url
git remote set-url
git remote show
git remote prune
git remote update
每个子命令可以具有其自己的子子命令或选项; 如果根本没有子命令运行,git remote
只需列出所有遥控器.
无论出于何种原因,您只询问十个子命令中的两个:add
和set-url
.这可能是因为您不确定遥控器的位置.简短的回答是,遥控器只是一个名称,但它是一个名称,用于跟踪另一个Git存储库,在某个其他URL.
虽然它origin
是一个非常标准的远程名称,但它不是唯一可能的远程名称 - 并且您自己的存储库可能没有远程名称,在这种情况下origin
不是您的某个远程名称,因为您没有.
尽管如此,许多(如果不是大多数)存储库只有一个遥控器,因为有很多存储库是由它创建的git clone
.该git clone
命令会自动创建一个遥控器,origin
除非您告诉它使用其他名称,否则它会命名.所以大多数存储库都有一个名称origin
.
git remote add
什么git remote add
是添加新的遥控器.如果你现在有一个遥控器,并且你添加另一个遥控器,那么你将有两个遥控器.如果你没有,并添加一个,你将拥有一个.
同样,远程的要点是命名另一个Git存储库,并在某个URL上找到其他Git存储库.因此,要使远程有用,它需要一个URL.因此,git remote add
需要两个参数:要添加的新远程的名称以及与该名称关联的URL.
(这省略了很多用遥控器可以做的更好的特殊事情.我从来没有发现它们中的一些有用,但它们是有一堆选项标志的原因git remote add
.)
git remote set-url
什么git remote set-url
是对的,主要是,要改变一些相关的URL 现有的遥控器.因此,它采用现有远程名称和新URL.默认操作是删除旧URL并插入新URL.
Git尝试不在此限制您使用单个URL:它允许将多个 URL附加到每个命名的远程.准确地说,当任何一个遥控器有多个URL时会发生什么有点棘手; 在您熟悉单URL遥控器之前,最好不要这样做.
git config
该git config
命令是一个低级别的事情.您可以在Git中进行或更改的大多数设置最终都是通过配置条目完成的,这包括添加或删除遥控器以及更改与任何特定遥控器关联的URL.这意味着更高级别的git remote
命令通常会转换为一个或多个低级别git config
操作.如果您确切地知道哪些配置条目控制哪些远程(哪些)哪种方式,您可以使用它git config
来实现某些相同的git remote
功能.
有些事情git remote
不仅仅是配置设置,所以并非所有事情都可以这样翻译.但是,添加或删除遥控器以及更改其URL 都是,因此可以.
添加新远程计算机主要包括运行两个git config
命令.如果遥控器的名称是R,则两个配置项为和.设置第一不设置第二个是不是一般一个伟大的想法,你需要知道如何设置第二个到,所以它的安全使用,以增加新的遥控器.remote.R.url
remote.R.fetch
git remote
更改现有远程的(单个)URL包括仅运行一个 git config
命令.对于远程R,这是(默认值,因此您可以省略它).URL不会影响该值,因此使用它来安全(尽管有点无意义)而不是使用它.但是,如果某个特定远程名称附加了多个URL ,则会添加完全绕过的安全检查.git config remote.R.url new-url
--local
git config
fetch
git config
git remote
git remote
git config