Practice GitHub

一、Git简介及优点

1、简介

     分布式版本控制系统。在IT开发过程中也可以使用版本控制思想管理代码的版本迭代。

      Repository:仓库
      Star:收藏
      Fork:复制克隆仓库到自己github上的仓库。Fork后的仓库是独立存在的(会有forked from xx)。
      Pull Request:克隆到本地之后,如果想同步到源仓库要提交这个请求,审核通过后才可以同步。
      Issue:发现代码BUG,请求标记。解决BUG后可以取消标记。
     commits:提交次数。点击可以查看每次提交情况。
     Find file:搜索仓库文件(快捷键T)。

2、优点

① 协同修改

     多人并行不悖的修改服务器端的同一个文件

② 数据备份

     不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态

③ 版本管理

     在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面SVN采用的是增量式管理的方式,而Git采取了文件系统快照的方式。

④ 权限控制

     对团队中参与开发的人员进行权限控制
     对团队外开发者贡献的代码进行审核——Git 独有。

⑤ 历史记录

     查看修改人、修改时间、修改内容、日志信息。
     将本地文件恢复到某一个历史状态

⑥ 分支管理

     允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。




二、Git初始化与原理

	git init         //	之后会在本地生成.git的隐藏文件夹
	git config --global user.name "yourusername"
	git config --global user.email "youremail"

     可以用git status查看仓库状态。本地仓库只要有未push到远程仓库的文件或者未commit到本地仓库的文件,都会有提示。

Alt
     开发的时候,如果要对远程仓库进行修改(与IDE无关)。首先要把远程仓库拉到本地,这里用clone,不需要事先调用git init初始化仓库。如果用pull拉的话,需要本地有.git隐藏文件夹(一个管理git仓库的文件夹,这里包含所有git操作所需要的东西)。





三、拉取远程仓库到本地

1、HTTPS方式

     直接拉取URL,没有前戏。优点:简单粗暴。缺点:每次都需要登录GitHub账号,相当麻烦。

 	git clone git仓库的url

Alt


     如果此时本地出现远程仓库中的文件夹,并且文件夹中还有.git隐藏文件夹,代表拉取成功。

Alt

     接下来可以增删改了。但是在实际开发的时候要先pull再push。因为当你要提交代码的时候,如果现在已经不是基于远程库的最新版所做的修改了(就是说你同事在你提交前已经提交过修改了),不能推送,必须先拉取。

                                                                 pull = fetch + merge

     即从远程仓库的最新版拉到本地仓库的主分支上面,比较差异并合并到本地的master分支。

2、SSH方式

  注: 执行git clone git仓库的url之前,要有前奏。
       用SSH的URL之前需要在远程仓库上配置SSHkeys,并且开放本地计算机的22端口。


     ① 输入ssh-keygen -t rsa -C "youremail",之后按下三个回车。下图表示配置成功。
Alt

     ② 查看生成的keys,可以从上面的执行结果看到所在路径。cd到当前目录,查看所有文件,可以看到生成了一个公钥(id_rsa)和一个私钥(id_rsa.pub),把公钥里的内容copy下来。

Alt

Alt Alt
Alt


     ③ 测试配置是否出错。报错因为本地22端口被墙了。手动开放本地TCP连接的22端口。

Alt
Alt
Alt
Alt

     4、最后在Git的安装目录E:\Git\etc\ssh下面的ssh_config添加下面的代码(只需改自己对应的email)。

	Host github.com
	User youremail
	Hostname ssh.github.com
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/id_rsa
	Port 22

     5、再次拉取。Successful!
Alt





四、实践(没和IDE结合)

     各种mkdir操作,把本地IDEA的文件夹建起来。

     各种add操作和commit操作,把文件提交到本地仓库。

     push到远程仓库。

Alt

     爬取爱奇艺海贼王的Spider代码已传GitHub。
     https://github.com/xiguanlezz/Spider




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值