目录
- 前言
- 注册Github账号
- 搭建Git环境
- 添加远程库(GitHub)
- 总结
1. 前言
- Git:目前世界上最先进的分布式版本控制系统。
- GitHub:免费的远程仓库,可用来托管自己的开源项目。它利用了Git强大的克隆和分支功能,让我们参与别人的开源项目和让别人参与自己的开源项目变得简单高效。
- 看到这里,相信很多人对着两个概念很模糊,廖雪峰老师生动地解释了这两个概念:Git和GitHub。
2. 注册GitHub账号
GitHub的注册页面:Join Github。
3. 搭建Git环境
GitHub其实就是Git的Hub(枢纽),在利用GitHub托管我们的项目之前。我们需要先在我们的计算机中安装、搭建好Git环境。
首先是安装Git,有两种方法:
(1) 先安装homebrew(点击),再通过它安装Git。
[1] 在Mac终端(Terminal)中输入命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
按回车等待它自己安装就可以了,安装时间会较长,请耐心等待。
[2] 检查是否安装成功,在Terminal中输入命令:
brew
如果出现这样的页面,证明homebrew安装成功。
[3] 安装Git,在Terminal中输入命令:
brew install git
接着就是再次耐心地⌛️等待了??
2. 通过Xcode安装Git
[1] 安装Xcode从App Store安装Xcode(Apple官方IDE,功能非常强大)。Xcode集成了Git,不过没有默认安装,需要手动安装Command Line Tools。
[2] 安装Command Line Tools:在Mac终端(Terminal)中输入命令:
xcode-select --install
根据提示进行安装。
[3] 检查是否安装成功,重新在Terminal中输入
xcode-select --install
此时它会提醒你:
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
证明安装成功。PS:具体操作也可参考Micky米写的Xcode中Command Line Tools安装方法。
其次是创建版本库:
版本库:又名仓库,英文名repository,我们可以简单理解成一个文件夹?,里面的所有文件?都由Git来管理。Git能跟踪每个文件的添加、修改、删除,即可以追踪历史,还可以还原任何一步的操作。
创建文件夹
我们在Users
目录下创建一个名为test
的文件夹,它就是我们未来的版本库(因为此时它只是普通的一个文件夹,我们待会对它进行进化)。打开Mac终端(Terminal),依次输入以下代码(每行前面的$
不用输入):
$ mkdir test
$ cd test
$ pwd
代码解释:
mkdir test
:创建一个名为“test”的文件夹cd
:进入“test”文件夹pwd
:显示当前路径
操作截图如下:
我们可以在Finder中看到该文件夹:
文件夹 --> 版本库
我们通过git init指令让“test”文件夹成功进化成版本库:
$ git init
Initialized empty Git repository in /Users/marsguo/test/.git/
此时我们可以在finder中看到“test”文件夹中多出了一个隐藏文件:.git
PS:很多朋友不知道怎么显示隐藏文件,指令如下:
#显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
#不显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool false
记得指令执行后,快捷键option+command+esc,重启Finder
此时,版本库创建完成。
把文件放到版本库
此时我们就可以把自己项目文件放到版本库里面。在这里我使用我一个Python文件放进“test”里进行演示,大家可以使用自己的任何文件进行操作练习。(注意:强烈不建议大家使用重要文件进行试验,大家都看得到的啊!)
把文件(可以一个,也可以多个)放到版本库中有两步:
- 用命令
git add
把文件添加到仓库(大家可用其他文件代替我的bmi.py文件)
$ git add bmi.py
如果发现指令完成后,没有任何显示,这就对了。你不信?那你用以下指令看看:
$ git status
这时候终端会显示:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: bmi.py
看到了吗? new file: bmi.py
,说明文件添加到版本库成功啦!
- 用命令
git commit
把文件提交到仓库。
这时候大家可能会郁闷,好端端地为什么还需要commit
一下呢?让我给大家好好解释一下。
Git的版本库里有两个部分,一个称为stage的暂存区,另外一个为分支master,以及指向master的一个指针叫HEAD。我们可以通过下面?的图理清一下思路。(本图来自廖雪峰老师的官方网站)
所以,git add
命令实际上就是把要提交的所有修改放到Stage,然后,执行git commit
就可以一次性把暂存区的所有修改提交到分支。也就是说,我修改好了,我就把文件提交到分支那里。
后面的时候我们会讲到我们通过commit
把我们的项目放到远程仓库(GitHub),其实就是把一个分支master放到GitHub里面,所以只需要我们commit
项目就到了GitHub里面了。
现在我们来看看怎么样commit
:
$ git commit -m "add a bmi.py file"
简单解释一下这条指令:-m
后面输入的是对这次提交的说明。不用担心,-m
后面输入的可以是随意的内容,不过你输入有意义的内容,比修改了那一部分、添加了什么内容,方便你在历史记录中找到改动记录。
通过上图,我们就知道了,bmi.py文件已经顺利地转移到了master里面了。
记得每一次得更改都需要经历这个2个步骤 :
git add <filename>
--> git commit -m <message>
4. 添加远程库(GitHub)
- 进入GitHub,登陆
- 本地Git仓库和GitHub仓库连接
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,在进行下一步骤之前,需要先设置一下它们的连接:
第一步 创建SSH Key
在Users目录(用户主目录)下,看看有没有.ssh
目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开终端Terminal创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮箱换成你注册GitHub时使用的邮箱,然后一路回车,使用默认值就可以了,可以不设置密码。
创建成功之后,你就可以在Users目录中找到.ssh
(它为隐藏文件,不过通过上面显示.gi
t文件夹,你也已经所有文件可见了),里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步 和GitHub相连
点击你的头像 --> “Setting”
点击“SSH and GPG Keys” --> “New SSH Key”
填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容(打不开id_rsa.pub
文件的朋友们,鼠标右击id_rsa.pub
,选择“打开方式” --> “TextEdit (default)”):
之后点击“Add SSH Key”按钮就可以了。
3. 点击右上角的+,创建一个新的版本库(create a new repository)
4. 输入版本库的名称(Repository name),其他选项默认,点击创建版本库(Create repository)
5. 把第二部分的指令复制到终端,把我们现有的本地仓库push到GitHub上。(英语好的同学也可以看到第一部分指令是重新创建一个全新的没有本地仓库的版本库,第三部分指令则是把已有的代码放到一个新的版本库中,大家之后也可以自行进行尝试。)
最后我们就可以看到,我们的文件已经成功来到GitHub上面了!
5. 总结
最后我们总结一下,以后每一次更新文件,我们都需要使用
git add <filename>
--> git commit -m <message>
?
git push -u origin master
我们的项目就正式加入到GitHub中啦!
PS: 当我们想要在Github上更新文件,之后我们想要把更新同步到本地,此时我们可以使用
git pull