首页 > 编程笔记
git clone命令:获取远程仓库
首先我们换到其他目录下,将 GitHub 上的仓库 clone 到本地。注意不要与之前操作的仓库在同一目录下。
结果中显示了 remotes/origin/feature-D,证明我们的远程仓库中已经有了 feature-D 分支。
新建分支名称后面是获取来源的分支名称。例子中指定了 origin/feature-D,就是说以名为 origin 的仓库(这里指 GitHub 端的仓库)的 feature-D 分支为来源,在本地仓库中创建 feature-D 分支。
$ git clone git@github.com:github-book/git-tutorial.git Cloning into 'git-tutorial'…… remote:Counting objects:20, done. remote:Compressing objects:100% (7/7), done. remote:Total 20 (delta 3), reused 20 (delta 3) Receiving objects:100% (20/20), done. Resolving deltas:100% (3/3), done. $ cd git-tutorial执行 git clone 命令后我们会默认处于 master 分支下,同时系统会自动将 origin 设置成该远程仓库的标识符。也就是说,当前本地仓库的 master 分支与 GitHub 端远程仓库(origin)的 master 分支在内容上是完全相同的。
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/feature-D remotes/origin/master我们用 git branch -a 命令查看当前分支的相关信息。添加 -a 参数可以同时显示本地仓库和远程仓库的分支信息。
结果中显示了 remotes/origin/feature-D,证明我们的远程仓库中已经有了 feature-D 分支。
获取远程的feature-D分支
我们试着将 feature-D 分支获取至本地仓库。$ git checkout -b feature-D origin/feature-D Branch feature-D set up to track remote branch feature-D from origin. Switched to a new branch 'feature-D'-b 参数的后面是本地仓库中新建分支的名称。为了便于理解,我们仍将其命名为 feature-D,让它与远程仓库的对应分支保持同名。
新建分支名称后面是获取来源的分支名称。例子中指定了 origin/feature-D,就是说以名为 origin 的仓库(这里指 GitHub 端的仓库)的 feature-D 分支为来源,在本地仓库中创建 feature-D 分支。
向本地的feature-D分支提交更改
现在假定我们是另一名开发者,要做一个新的提交。在 README.md 文件中添加一行文字,查看更改。$ git diff diff ——git a/README.md b/README.md index af647fd..30378c9 100644 —— a/README.md +++ b/README.md @@ -3,3 +3,4 @@ - feature-A - fix-B - feature-C + - feature-D按照之前学过的方式提交即可。
$ git commit -am "Add feature-D" [feature-D ed9721e] Add feature-D 1 file changed, 1 insertion(+)
推送 feature-D 分支
现在来推送 feature-D 分支。$ git push Counting objects:5, done. Delta compression using up to 8 threads. Compressing objects:100% (2/2), done. Writing objects:100% (3/3), 281 bytes, done. Total 3 (delta 1), reused 0 (delta 0) To git@github.com:github-book/git-tutorial.git ca0f98b..ed9721e feature-D -> feature-D从远程仓库获取 feature-D 分支,在本地仓库中提交更改,再将 feature-D 分支推送回远程仓库,通过这一系列操作,就可以与其他开发者相互合作,共同培育 feature-D 分支,实现某些功能。