【原创】10分钟入门git,不会不要钱~

---恢复内容开始---

为啥要用git?git有啥用?

  这是一个好问题。

  设想这样一个场景:你在公司里面,一段代码由你和同事一起来写。如果同样一段代码,你同事修改了A处,你修改了B处,那么,你怎么知道同事修改了A,你同事怎么知道你修改了B?

  啥?你说打电话沟通?不不不,这样一点也不程序员。他们认为应该有一种更炫酷的方式来和其他人沟通,所以他们搞出了svn(集中式版本控制系统 ,git的全称是分布式版本控制系统,你可以看出他们之间的关系) ,svn是这样一个东西,它把版本库(你可以想成一堆代码)集中放在中央服务器的,干活的时候,用的都是自己的电脑吧,所以程序员们首先要从中央服务器哪里得到最新的版本,然后干活, 干完后,需要把自己做完的活推送到中央服务器,必须要联网才能开始工作。

  看出有啥问题没?

  第一、如果中央服务器挂了,程序员写的代码有可能都没了(当然他们肯定会备份),第二,如果有一天,新来的实习生把里面的代码都误删除了,那这个公司基本上也就不用干了。

  所以,现在大家都用的是git,  它就没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑 上,就算你误删了自己的代码,别人的电脑里还可以clone一个。

  既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了,github就是这样一个交流的平台。

  github是啥?

  你可以把它想象成一个程序猿沟通代码的平台。之后的教程会详细的讲如何用,现在你只需要知道有这样一个东西就好。

  啊,不对,你还需要知道另一个东西:bitbucket

  它是类似于github 的平台,这次我给那个网站做的外包,他们的代码就是放在bitbucket. 他们家的好处是,私有仓库是免费的哦~

       公开的仓库:任何人都可以通过url 地址来看到

      私有的仓库:公司用,只有内部人才能看到。github会收费,一般用Bitbucked

  那么,我需要做什么?

  现在,你只需跟我一步一步做就好了,我保证,所有的步骤都是亲测有效的,纯小白也可以完成。(废话,我自己就是小白)

  1、首先,你要先安装git bash.

    下载地址如下:https://git-scm.com/downloads/

    下载好安装就好了,因为我之前安装过gitbash,所以并清除安装过程中会不会有坑→_→,有问题,在公众号留言就好,我一定会尽量为您解答的。

  2、打开git bash ,然后你会出现一个黑漆漆的窗口。这就是我们要打交道的地方:

    

  3、接下来,我们要创建一个版本库。

    版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

    

    如何创建版本库?

  创建版本库也非常的简单,比如说创建d盘的www目录下的testgit版本库:(请依次输入加粗的代码,注意不要出错;//后的是注释,请不要输入;$这个美元符,表示一行命令的开始,gitbash已经帮你输入了,请不要再写一遍)

$cd C:      //cd 是命令行中改变路径不用说了吧,C:是指进入C盘的目录中

$cd www            //进入www文件夹

$mkdir  testgit   //创建一个testgit 的目录,mkdir是新建一个目录的意思

$pwd                 //显示当前目录

  但是,这还只是一个普通的文件夹,如果想要变成git 的仓库,让git 来管理增、删、该 ,那么就输入需要这行代码:

$ git init       //这步是写在,你想要变成仓库的那个文件夹里面。运行之后,该文件夹里面就会有一个.git的文件夹,这个目录就是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

  创建完了后,我们就要把文件添加到这个版本库中,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外。对于图片和视频等,git就无能为力。

  如何把文件导入刚刚的版本库?

 

1、先新建好一个 readme.txt 的文件,然后内容就打一行“1111”。

2、在命令行中输入,$git add readme.txt   会将文件添加到缓存区(index)里面,但是还没有进仓库哦。 或者是$git add . ,表示将工作区所有的修改添加到暂存区。

3、$git commit -m"提交了readme.txt 第一次"  将会把目前在缓存区中的文件,添加到仓库中。

4、$git status  查看暂存区还有咩有  未提交的的东西

 等等,你是不是已经晕了,别急别急,我来解释一下,工作区、和暂存区和版本区。

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

暂存区:临时保存你的改动,被誉为是git最精妙的设计,之后会解释好处在哪里。

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

我们前面说过使用Git提交文件到版本库有两步:

 第一步:是使用 $ git add <filename>把文件添加进去,实际上就是把文件添加到暂存区。$git add . 命令行,则是把工作区所有的文件,添加到暂存区中。

 第二步:使用$ git commit -m" 你的评论"  提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

所以,刚才我们的代码,先是从工作区到了暂存区(git add),然后由暂存区到了版本区(git commit)。现在,你的暂存区已经空了。

但是我修改了文件中的内容,比如说在testgit.txt中加了第二行“2222”,如何添加修改呢?

1、$git status   发现有东西被change了,而且这个东西还没有被提交

2、$git  diff readme.txt  来瞅瞅究竟是哪里被修改了

     这里是对 git diff的详细讲解:

     假设一个场景:工作区、暂存区、和版本区三个内容都不一样,

     执行$git diff      比较工作区和暂存区

    

    执行$git diff --cached   比较暂存区和版本区

    

    执行$git diff master(后面是分支的名字)  对比的是工作区和版本区

    

3、查看了是哪里的不同后,就可以放心大胆的添加到版本库了。

好了,我们已经在本地折腾的差不多了,

现在到了让我们链接远程仓库的时候的。

深呼吸一口气,来跟着我来做:

1、创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:  ssh-keygen -t rsa –C “youremail@example.com” 

  id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

2、第二步:登录github,  打开 "settings”中的SSH Keys页面,然后点击“Add SSH Key”, 填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。

如何添加远程的库?

 1、首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库:在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。

2、目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令:git remote add origin  +你的网址

从现在起,只要本地作了提交,就可以通过如下命令:git push origin master   把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。

 如何从远程库克隆?

1、远程准备好

2、在本地,用git  clone 命令: $git clone "这里是从github上的地址"

3、静静等待着clone完毕

 

 

哎呀?

又又熄灯了

黑夜中我看不清我的键盘,

算啦,

剩下的部分明天再说吧,

---恢复内容结束---

原文地址:https://www.cnblogs.com/dujuncheng/p/6077143.html