Git是用来干什么的?
git是非常先进的分布式版本控制系统。什么是版本控制系统?版本控制系统简单通俗的来讲就是:当你对编写一个文件的时候,你需要不断的修改去完善这个文件,但是,不管的去修改和完善需要你不断的去“另存为”这样导致你的文件很乱,你甚至不知道最终的文件是那个。还有你的修改过程(你什么时候修改了文件的哪几行)这就很痛苦!
于是分布式版本就出现了,它可以记录你的文件的每一次改动,他人也可以通过这个去帮助你协同完成这个文件的修改和完善,且文件改动记录的清清楚楚。这就是Git的先进之处。
Git的远程仓库
Git是将本地的文件push到远程的服务器,也就是说本地有一个仓库而在远程也有一个仓库,本地的仓库叫本地仓库,那么远程的就是远程仓库。git的本地仓库和远程仓库需要进行连接,这样你才能将本地仓库的文件去push到远程仓库。
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "[email protected]"
第二步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
这样就可以把你的本地仓库和远程仓库建立联系。
Git本地仓库的建立和本地文件的推送
创建本地仓库如“Git”,然后选中该本地仓库右击“Git Bash Here”:(远程仓库的创建这里不多说)然后在命令行中输入:
git init 这样你的本地仓库就会初始化,并且在你的Git文件夹内,你会发现一个隐藏的 .git 文件。证明已经初始化。然后你就可以在Git文件夹内放一些你需要传到远程仓库的一些文件。注意不要放在隐藏文件夹内!
之后我们顺次输入如下命令:
touch .gitignore git提交忽略不必要的文件夹或文件(在本地仓库中生成一个隐藏文件“.gitignore”,文本编辑器打开设置要忽略的文件或文件夹如maven项目的target文件夹)
git add . 添加所有文件(add与“.”之间有空格,否则不识别的语法,提交所有文件)
git commit -a -m 'version 1.2' 提交所有修改文件
git remote add origin [email protected]:somenone/testGit.git 提交远程仓库(用SSH的形式,关联一个远程仓库)
git push -u origin master 推送远程仓库
对于github的一些使用
前面我们讲的把个人的开发项目放到github上完全没有问题,github作为一个安全免费的远程仓库可以给我们安全保障,但是github还有个很重要的功能,就是可以很多人参与到一个项目之中,对这个项目debug等操作,这也是Git极其强大的克隆和分支功能。
如何参与一个开源项目呢?你可以访问这个项目的主页,点“Fork”就在自己的账号下克隆了一个项目仓库,然后,从自己的账号下clone:git clone [email protected]:XXXXXX/XXX.git
一定要从自己的账号下clone仓库,这样你才能推送修改。
如果你想修复该项目的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。如果你希望该项目的的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了