Git学习序列3---远程仓库
来源:互联网 发布:软件系统报价表 编辑:程序博客网 时间:2024/09/21 09:20
引言
Git这种分布式版本控制系统与SVN这种集中式版本控制系统的另一点不同也是优势就在与远程仓库的不同, Git的分布式就体现在原创版本库的分布式分布上, 原始版本库推送到云端之后, 别人可以通过克隆(clone), 复制原始版本库, 然后在原始版本库上进行再次开发, 这时的版本库并没有主次之分. 往往实际情况是让一台电脑充当服务器, 别人可以从这个服务器里克隆(clone)版本库到本地, 然后推送到云端版本库, 也可以拉取别人的提交.不过现在有很多像Github, Gitlab, bitbucket这类网站, 它们可以为你提供Git的仓库托管的服务, 此处我们挑选目前应用最广泛的Github进行说明(可以自行免费注册Github帐号, Github提供免费的公有仓库托管活动,意味着别人可以通过网络看到你的项目代码,而私有的仓库则需要付费), 所以现今有很多公司开源代码都选择在
Github这个平台进行开源托管.
Github远程仓库的连接
本地Git仓库和Github远程仓库是通过SSH来进行加密传输的, 所以我们在注册好了Github账户之后, 需要进行配置.
(1) 创建SSH key. 查看用户主目录下是否有id_rsa
和id_rsa.pub
文件, 其中id_rsa
文件是私钥, id_rsa.pub
是公钥, 私钥不能随便告诉别人, 而公钥则没有关系.如若不存在则利用命令来进行设置. ssh keygen -t rsa -C "youremail@example.com"
然后就可以根据提示进行操作, 因为安全性的要求不同, 对于普通的用户来说, 其中密码可以设置为空.此时用户主目录下.ssh
内应该就会出现id_rsa
和id_rsa.pub
文件, 用来记录SSH key的信息.
(2) 接下来的一步就是在你的Github账户下添加你的SSH key, 使得Github能够识别出你的提交, 一个Github账户可以绑定多个SSH key, 方便用户在不同的电脑下工作时, 都可以利用不同的SSH key来提交更改到Github仓库.
- 部分远程命令解析
Git的基本远程操作包括git clone
, git remote
, git fetch
, git pull
, git push
.下图展示了各个操作的一些形象示意.
(1)git clone
: git clone
命令通常用于从远程仓库克隆一个版本库 git clone <版本库的网址> <本地目录名>
(若没有给出当前目录参数则克隆到当前目录) git clone
命令支持多种协议,像HTTP(s), SSH, Git, ftp(s)等
$ git clone http(s)://example.com/path/to/repo.git/$ git clone ssh://example.com/path/to/repo.git/$ git clone [user@]example.com:path/to/repo.git$ git clone git://example.com/path/to/repo.git/
(2) git remote
: git remote
命令用于管理云端的主机, 不带任何选项参数时, 会列出所有的远程的主机.使用-v
选项可以查看远程主机的网址.克隆版本库的时候, 所使用的远程主机会自动被Git默认命名为origin
, 如果想用自定义的远程主机名, 我们可以通过-o
参数进行设定. git remote show <主机名>
命令可以查看该远程主机的详细信息. git remote add <主机名> <网址>
命令可以用于添加远程主机. git remote rm <主机>
命令则正好相反, 用于删除远程主机. git remote rename
命令用于远程主机的改名.
- 远程库的添加和绑定
首先我们在Github网站上新建一个项目版本(Repository), 此时的云端版本库是空的, 我们可以克隆空的云端版本库到本地(), 并开始项目的版本控制, 也可以把本地的已经存在的本地版本库和云端的空的版本库连接起来.利用命令(远程库的默认名字就叫origin)git remote add origin git@github.com:your_github_username/repository_name.git
此时的本地库和云端库就已经连接起来了.此时, 我们就可以把本地的版本库推送到云端了git push -u origin master
此命令用git push
把本地的当前的master分支
推送到云端.
参考:- 廖雪峰的Git教程
- 网络
- Git学习序列3---远程仓库
- git学习(3)---远程仓库
- git学习笔记--远程仓库
- Git远程仓库学习笔记
- git学习笔记--远程仓库
- Git命令学习-远程仓库
- git学习之远程仓库
- git学习(本地仓库关联远程仓库)
- git学习之克隆远程仓库
- Git学习笔记四--远程仓库
- Git学习笔记(远程仓库)
- Git教程学习(五)—远程仓库
- git学习1-建立远程仓库
- Git学习使用(四):远程仓库
- git学习(三)github远程仓库
- git学习笔记整理-6-远程仓库
- Git学习笔记(三) 远程仓库
- Git学习笔记---本地关联远程仓库
- Sping下添加启动时运行的方法
- C++ String类基本函数的编写
- x265-1.8版本-common/scalinglist.h注释
- javaEE 后台框架 SpringMVC Mybatis Shiro druid Bootstrap HTML5 hibernate
- Android开发 解决"ADB Not Responding"ADB占用冲突
- Git学习序列3---远程仓库
- MySQL优化
- Ancient Cipher
- x265-1.8版本-common/slice.cpp注释
- 如何编写51单片机超声波测距SR04_lcd1602显示程序
- php中创建关联数组,以及遍历数组
- BestCoder Round #70
- linux高负载下彻底优化mysql数据库
- java后台框架 springmvc整合mybatis框架源码 bootstrap html5 mysql oracle