学习笔记之GitHub入门(1)

    实验室在做的开发项目需要我们十一个成员共同开发一个心理测试系统,团队合作最重要的是配合,关于代码管理当然首选github,也在这里记录一下如何使用git。

学习笔记之GitHub入门(1)

  一,我所理解的git

    git是一个分布式的代码管理工具,举一个例子,比如我们实验室的同学共同开发一个系统,同学们分别负责A、B、C、D四个部分,我们可以在各自的电脑上进行开发,互相各不干扰,每天的工作结束之后,每个人把自己的代码push到各自的分支上,然后有一个同学负责解决冲突,进行整合。第二天开工之前,大家做的第一件事就是在电脑上把最新版本的代码down到自己的电脑上,然后在开始每天的工作。所有人每次上传的版本都会被记录,完全可以在必要的时候查看。

二,安装git

   在App Store中下载Xcode,Xcode中集成了Git,但是需要自己手动安装,下载Xcode之后,运行它,选择菜单Xcode->preference->Downloads->command Line tools->install即可完成git的安装

三,创建一个本地的git代码库

   在你的电脑上选择一个地方建一个文件夹,取个名字就叫GitHub吧,用来管理我的所有的代码仓库。再在这个文件夹中在建一个文件夹叫Rose,作为我的一个代码仓库的名字。在我的电脑上,本地的代码仓库位于:/Users/wenlei/Documents/GitHub。

通过以下这个命令创建一个空白目录(注意要在GiHub这个目录下创建)

学习笔记之GitHub入门(1)

此时可以查看一下GitHub目录下已经出现Rose文件夹了

学习笔记之GitHub入门(1)

第二步,利用下面的命令将Rose这个代码仓库变成Git可以管理的仓库(注意要先CD到Rose文件中再执行这个命令);可以发现这个命令表示将一个普通的文件夹变成了一个空的git可以管理的代码仓库

学习笔记之GitHub入门(1)

用 ls -a命令可以发现出现了.git,这样就表示先前的操作正确

学习笔记之GitHub入门(1)

第三步,我们开始尝试着忘这个代码仓库中添加文件:

随便创建一个文件,我在里面写了hello world!

学习笔记之GitHub入门(1)

将这个文件添加到仓库中:

学习笔记之GitHub入门(1)

命令一:git add readme.txt表示通知git我要添加这个文件

命令二:git commit -m "这是我要添加到代码库的文件"表示把文件添加到代码库,并且对这个文件进行了一定的描述

四,创建远程仓库

    创建一个远程库主要是为了大家团队合作的方便,你可以在一天的工作结束之后将自己的代码push到这个远程仓库,也叫做托管自己的代码,而且其他人也可以看到你的代码(如果你选择的是public属性),你也可以下载别人的代码。就相当于你的本地git仓库将自己的代码托管给了github仓库,所以你必须先注册一个github的账号。

第一步:创建SSH key;

由于本地的git库和远程github库的传输是通过SSH进行加密的,所以要进行一些设置,

学习笔记之GitHub入门(1)

命令:

ssh-****** -t rsa -C "[email protected]@qq.com"


中你需要填写自己的邮箱

学习笔记之GitHub入门(1)

在上面出现的这句话中,你可以在后面填写你想让**文件保存的位置以及文件的名字

后面就一直按enter键就好了,然后你就可以看到你的桌面上出现两个新的文件(因为我让它保存在桌面上了),mima(私钥),mima.pub(公钥)然后打开mima.pub文件你可以看到你的**了

学习笔记之GitHub入门(1)

接下来,进入github官网,选择settings->SSH and GPG keys->

学习笔记之GitHub入门(1)

然后再选择new ssh key

学习笔记之GitHub入门(1)

然后在title那里随便起个名字,在key那里复制mima.pub中的内容就好了

学习笔记之GitHub入门(1)

     这其间的逻辑可以这样理解,git和github的两个仓库的通信连接依赖SSH加密方式,在以上获得两个**,私钥需要自己保留,而公钥给github,相当于把你房间的备用钥匙给你最信任的人。

五,添加一个远程仓库

   在第四部分中我们已经建立了github远程仓库与本地git库的连接,现在在github中添加一个远程仓库

学习笔记之GitHub入门(1)


然后填写仓库的名字与性质,可以选择是public或则是private

学习笔记之GitHub入门(1)

建立本地仓库 与github上某一特定仓库的连接

学习笔记之GitHub入门(1)


然后将本地的文件push到远程仓库中

学习笔记之GitHub入门(1)

还有分枝建立,合并,冲突解决等知识点,等下一次再写吧,今天晚上实在太累了。

学习笔记之GitHub入门(1)