git远程仓库和分支

管理远程仓库需要知道如何添加远程仓库、移除无效的远程仓库、管理各种远程分支和设置是否跟踪这些分支

  1. 仓库与分支

git远程仓库和分支_第1张图片

 

2. 显示远程仓库

Git remote命令列出每个远程仓库的简短名称,在克隆某个仓库之后,至少可以看到名为origin的远程仓库,这是git给克隆的源服务器取的默认名称。可以用-v参数,这样会显示git存储的美格远程仓库对应的URL:

 

为了便于同多人协作,一个仓库会拥有多个远程仓库地址,

 

3. 添加远程库

添加一个远程仓库,并给它起一个简短名称使用,格式:

Git remote add [shortname] [url]

之前

如: git remote add test ssh://[email protected]:10053/dev/v8

git远程仓库和分支_第2张图片

这样可以在命令行中使用test替代完整的URL,比如git fetch test命令(从远程仓库中获取本地仓库没有的数据,这样后,就可以在本地引用远程仓库包含的所有分支,并可以任何时候合并或检查这些分支)

 

4. 从远程仓库获取和拉取数据

Git fetch [remote-name]

此命令从远程仓库中获取所有本地仓库没有的数据。执行后可以在本地引用远程仓库包含的所有分支,并可以在任何时候合并或检查这些分支。

当clone仓库时,clone命令会自动添加远程仓库的地址并取名为origin

比如git clone ssh://[email protected]:10053/dev/d10

当随后执行git fetch origin时,会获取到所有自上一次clone/fetch之后被推送到服务器端的新增的变更数据。请注意,git fetch命令只会把数据拉取到本地仓库,然而它不会自动将这些数据合并到本地的工作目录。准备好之后,需要手动将这些数据合并到本地内容中。Git pull可以从服务器上获取的数据自动合并到当前工作目录下的本地数据。

 

5. 推送数据到远程仓库

当我们需要把变更推送到远程仓库,采用git push [remote-name] [branch-name]。如果想把本地master分支推送到远程的origin服务器上(git clone操作会自动使用这两个名字作为默认设置)。

Git push origin master//把任意提交推送到服务器端

此命令能正常工作的前提是必须拥有clone下来的远程仓库的写权限,并且clone后没有任何其他人向远程仓库推送过数据。如果别人先推送,我们后推送,那么我们的这次推送会直接被拒绝。我们必须用git pull拉取别人的变更,将其合并到我们的工作成果中,然后才能推送。

 

6. 检查远程仓库

要查看某一远程仓库的更多信息,用git remote show remote-name命令。比如:

chenky@Lenovo-ser:~/git/d10$ git remote show origin

* remote origin

  Fetch URL: ssh://[email protected]:10053/dev/d10

  Push  URL: ssh://[email protected]:10053/dev/d10

  HEAD branch: master

  Remote branch:

master tracked

// 在本地master分支git pull远程分支remote/master合并到本地master分支

  Local branch configured for 'git pull':

master rebases onto remote master

//列出在master分支执行git push会自动推送到远程分支emote/master

  Local ref configured for 'git push':

master pushes to master (local out of date)

 

7. 删除和重命名远程仓库

Git remote rename a b//把远程仓库a重命名为b

这个操作也会更改远程分支的名称,先前的a/master分支变成了b/master。

 

如处于某种原因,需要删除某个远程仓库,比如当我们迁移了服务器地址,或是不再使用某一仓库镜像,又或是某个参与者退出协作时,可用git remote rm命令,如git remote rm a删掉远程仓库a。

8.切换分支

track表示的是远程仓库与之对应的分支,这个信息被称为upstream,上游,远程仓库的,是上游。本地的,是下游,有一个对应的关系。track 本意是轨迹、跟踪的意思,使用了--track或者--no-track 来设置这个,这个信息会传递给git branch

git checkout -t origin/xxx,xxx是分支名字

你可能感兴趣的:(软件和工具的使用)