`
wangemperor
  • 浏览: 39916 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

github学习笔记(九)远程仓库

 
阅读更多

到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。

可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。

没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库。

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?

其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。

在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

github-addkey-1

点“Add Key”,你就应该看到已经添加的Key:

github-addkey-2

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。

小结

“有了远程仓库,妈妈再也不用担心我的硬盘了。”——Git点读机

分享到:
评论

相关推荐

    git&github;学习笔记

    ### Git与GitHub学习笔记知识点详解 #### 一、Git版本控制系统概述 **1.1 Git简介** Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核的开发。Git的主要特点包括支持离线开发、强大的...

    github个人使用笔记

    3. 将改动提交到远程仓库:`git push origin master` 参与社区协作项目 参与社区协作项目需要使用以下命令: 1. Fork 主库到自己的 Github 账号 2. Clone 主库到本地 3. 添加主库 URL 4. 获取主库的修改 5. 合并...

    Github小白学习笔记.pdf

    将本地仓库与远程仓库进行连接的步骤包括在GitHub上新建仓库、复制仓库的URL、使用git remote add命令添加远程仓库并命名为shortname、执行git push命令推送本地更改到远程仓库。Git的远程仓库操作包括查看远程仓库...

    GitHub命令行笔记

    使用`git clone`命令可以从GitHub上获取远程仓库的副本到本地。例如:`git clone https://github.com/username/repository.git`,这将下载整个仓库到本地目录。 2. **添加文件(Add Files)**: `git add`命令...

    Github教程笔记.zip

    命令将远程仓库克隆到本地。 2. **查看状态**: 使用`git status`检查当前文件状态,了解哪些文件被修改或新增。 3. **添加文件**: 使用`git add .`(添加所有文件)或`git add <file>`(添加指定文件)。 4. **提交...

    Git学习笔记.pdf

    远程仓库是存放Git版本库的服务器,可以是本地网络中的服务器也可以是互联网上的公共仓库如GitHub。常用的远程仓库操作包括创建SSHKey、添加远程库、远程克隆、推送分支和抓取分支等。其中,SSHKey用于安全地访问...

    git学习笔记.zip|git学习笔记.zip

    在“git学习笔记”中,我们通常会涵盖以下几个核心知识点: 1. **Git安装与配置**:首先,我们需要了解如何在不同的操作系统(如Windows、MacOS或Linux)上安装Git,并设置用户信息,包括用户名和邮箱,这些信息会...

    两小时学会Git玩转Github-资料 零散笔记

    5. 推送更改到远程仓库(push):将本地仓库的更新推送到远程服务器上,通常是指Github。这需要用到`git push`命令。如果你是第一次推送到远程仓库,还需要先指定远程仓库的地址,使用`git remote add origin [仓库...

    2018尚硅谷Git和GitHub视频教程

    - 解决远程仓库修改冲突。 - 跨团队协作示例。 - **SSH免密登录**: - 生成SSH密钥。 - 在GitHub上添加公钥。 - **Eclipse中的Git集成**: - 使用Eclipse中的EGit插件。 - 初始化本地库。 - 设置本地库范围...

    czbk公开课笔记git 两小时学会Git玩转Github.zip

    要将本地仓库推送到GitHub,你需要使用`git remote add`添加远程仓库,然后用`git push`上传代码。此外,GitHub还支持 Fork 和 Pull Request 功能,这在开源项目中非常常见,允许社区成员贡献代码。 通过这份压缩包...

    Git的学习笔记/记录

    这份"Git的学习笔记/记录"涵盖了Git的基础知识以及高级用法,旨在帮助读者深入理解Git的工作原理和实践技巧。 一、Git的基本概念 1. 版本控制:Git的主要目标是管理项目在开发过程中的不同版本,以便于回溯、比较和...

    JavaScript学习笔记_js常用函数封装_js包.zip

    常用的GitHub命令包括`git clone`下载仓库,`git add`添加修改,`git commit`提交改动,`git push`上传代码到远程仓库等。 总的来说,这个压缩包包含的资源是一个全面学习JavaScript的起点,涵盖了基础理论、实用...

    Git学习笔记

    这份"Git学习笔记"包含了关于Git的基础知识、高级用法以及实战技巧,非常适合对Git感兴趣的初学者和进阶者进行深入学习。 Git的核心概念包括仓库(Repository)、提交(Commit)、分支(Branch)、合并(Merge)和...

    git-notes:Git和GitHub笔记

    2. 创建与克隆仓库:使用`git init`命令可以将现有目录转化为Git仓库,`git clone`则用于下载GitHub上的远程仓库到本地。 3. 基本操作:`git add`用于将文件添加到暂存区,`git commit`用来保存暂存区的更改,`git ...

    git.docx学习心得笔记

    本篇笔记主要介绍了GitHub的基本使用、Git的安装与原理,以及Git的基本操作和远程仓库的管理。 一、GitHub GitHub 是一个基于云的平台,提供版本控制服务和Git仓库托管。用户可以通过以下方式操作GitHub仓库: 1. ...

    我的SVN学习笔记(原创)

    仓库可以存放在本地磁盘,也可以托管在远程服务器上,如Apache服务器或者通过第三方服务如GitHub。 4. **初始化项目** 使用`svn import`命令将现有项目导入仓库,或者用`svn checkout`命令从仓库获取一个工作副本...

    git学习笔记.docx

    推送 `master` 分支到远程仓库。从 GitHub 获取代码通常使用 `git pull`,例如 `git pull https://github.com/TLZS/11.git master`。 总结来说,Git 是一个强大的工具,它提供了版本控制、分支管理、协同开发等一...

    git相关学习笔记值得

    通常,开发团队会有一个共享的远程仓库,如GitHub或GitLab,团队成员可以推送(`git push`)自己的更改到远程仓库,也可以拉取(`git pull`)其他人的更新到本地。使用`git clone`命令可以从远程仓库克隆一个完整的...

Global site tag (gtag.js) - Google Analytics