Git详细讲解(远程)

  1. 一、远程库操作
    1. 1.远程操作版本库
      1. remote
      2. fetch

一、远程库操作

简单介绍远程时的操作

1.远程操作版本库

  • git clone <repo> <dir> 从repo路径上的Git仓库中拷贝项目到当前目录(不添加dir参数)或dir目录下
  • git remote add <origin> <url> 将本地仓库上传至远程仓库。前者是远程主机的名称,后者是其url。在第一次提交只需要跟着GitHub引导走问题都不大。
    • git init 创建本地仓库
    • git add README.md 添加README.md文件,此文件主要在GitHub显示主页面
    • git commit -m “first commit” 提交到本地仓库
    • git remote add origin url 将本地仓库关联至远程仓库上
    • git push -u origin mastergit push命令将当前分支master推送至远程。由于远程库是空的,在第一次推送master分支,加上-u参数Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。git push origin master 之后在本地作提交,就可以用通过该命令

在我们clone项目后会发现这里并没有其他分支而是master。
github
这里可以看到我们现在的HEAD指向的是origin/master分支,而test1分支并没有。所以如果需要取到test1分支项目可以使用:
git checkout -b <分支名> <远程分支名>
这里将显示的远程分支(remote/origin/test1)合并到新建分支test1中,并切换到该分支上。

remote

该功能用于管理主机名。
git remote 还可以显示其远程仓库名,后接-v可以显示对应url
github

  • git remote show <remotename> 这个命令可以查看某一个远程仓库的更多信息。它同样会列出远程仓库的 URL 与跟踪分支的信息。这些信息非常有用,它告诉你正处于 master 分支,并且如果运行 git pull,就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。它也会列出拉取到的所有远程引用。
  • git remote add <origin> <url> 将本地仓库上传至远程仓库。前者是远程主机的名称,后者是其url。
  • git remote rm <origin> 用于删除远程主机。
  • git remote rm <OldOrigin> <NewOrigin> 用于远程主机的改名。

fetch

这里的远程仓库名为origin,我们也可以再新建一个远程仓库并查看他:
github
现在可以在命令行中使用字符串pb来代替整个URL。
git fetch <remotename> <branchname> 这个命令会访问远程仓库,从中拉取所有你还没有的数据,不会影响你的本地库。执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以”origin”为简写。所以,git fetch origin会抓取克隆(或上一次抓取)后新推送的所有工作。必须注意git fetch命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。也可以拉取特定分支的数据。