Git是免费的、最好用的分布式版本控制系统
集中式版本控制系统和分布式版本控制系统
首先说说集中式版本控制系统,比如svn,是将项目的版本库集中存放在中央服务器的,每次开发项目的时候都要用自己的电脑,从中央服务器取得最新的项目版本,每次对项目进行修改的期间可能有人提交了自己的修改,所以需要获取最新的版本后才进行提交,推送到中央服务器。最大的问题是需要联网,需要网速提交自己的修改。
相比较分布式版本控制系统就截然不同,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,你对项目的修改只要提交到自己电脑的版本库中,也不需要联网。多人之间只需把各自的修改推送给对方就可以完成多人协作,一般分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改。
GitHub
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,所以叫github。github也就是上面所说的“中央服务器”,用来管理自己的项目和方便“交换”大家的修改。
安装git
打开https://git-scm.com/downloads根据自己的需求进行下载,下载完毕后一路默认安装即可,安装完毕后右键桌面可以看到
在开始菜单里找到“Git”->“Git Bash”
因为Git是分布式版本控制系统,所以,每个电脑都需要有自己的标识:你的名字和Email地址
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建一个空目录,通过git init
命令把这个目录变成Git可以管理的仓库
提示说初始化了一个空仓库,可以看到该目录下多了一个叫.git的目录,这个目录是Git来跟踪管理版本库的,所以里面的东西不要修改。可以在https://blog.csdn.net/m0_37820751/article/details/97918941查看一些git常用的命令。
添加GitHub远程库
在本地创建了一个Git仓库,在也GitHub创建一个Git仓库,如果让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。
登录github,点击右上角的加号,找到new repository创建新的仓库
只需要填Repository name仓库名,其他默认即可,然后create repository创建仓库
创建完毕后可以看到自己的仓库地址,还有github的一些指令的提示
根据这些提示可以从这个仓库在本地克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。这里添加关联。
$ git remote add origin git@github.com:github账号/仓库名.git
or
$ git remote add origin https://github.com/github账号/仓库名.git
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以除了关联仓库外,还需要一点设置:
第1步:创建SSH Key。Windows下打开Git Bash输入以下命令后一路回车,使用默认值即可,可以不用设置密码。创建完成后可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
$ ssh-keygen -t rsa -C "邮箱"
第2步:登陆GitHub,打开“settings”,“SSH and GPG Keys”页面,点击new SSH key后,title随便填,在Key文本框里粘贴你的公钥id_rsa.pub文件的内容:
接下来可以在与github仓库关联的本地仓库目录下添加一个文本,试着推送到github仓库
通过git add命令要提交的所有修改放到暂存区(Stage)
然后通过git commit把暂存区的修改提交到分支,所以的修改要先add到暂存区,才能commit提交到分支。
下一步,就可以通过git push把本地库的所有内容推送到github远程库上,第一次需要登录gihub账号:
成功将本地仓库的内容提交到github仓库上了。
也可以通过命令git clone克隆一个github库到本地库:
git clone git@github.com:账户/仓库名.git