GitHub的使用
一、下载git
二、原理
git就是一个软件管理器,不同一般的是它是分布式的,不仅有一个中心的服务器控制最新版本代码,而且每个开发者自己还有个本地仓库,所以在开发过程中都是先将代码提交到本地仓库再推送到中心服务器上的,这样的好处就是每个人都依赖于中心服务器来实现交互,但又不会被中心服务器限制,就算中心服务器挂了,也能很容易的找到最新版本的代码,而且我自己的工作依然可以顺利进行,提交到本地仓库,当中心服务器修复之后,再将自己仓库的东西推送到中心服务器。

- 工作区 (workspace) 当前工作空间
- 暂存区 (index) 暂时存放在暂存区中的文件将随着一个 commit 一起提交到 local repository
- 本地仓库 (local repository) git 是分布式版本控制系统,和其他版本控制系统不同的是他可以完全去中心化工作,你可以不用和中央服务器 (remote server) 进行通信,在本地即可进行全部离线操作
- 远程仓库 (remote repository) 中心化仓库,所有人共享,本地仓库会需要和远程仓库进行交互,也就能将其他所有人内容更新到本地仓库把自己内容上传分享给其他
那么如何拥有自己的git仓库:
- 一 是在自己已有的目录里初始化自己的git仓库然后和中心服务器建立连接,更新最新代码到自己的git仓库
- 二 是将一个已经存在的项目克隆到自己的目录成为自己的git仓库
执行git init命令,就会创建并初始化git仓库,这个时候在该目录下会产生一个.git的隐藏文件夹,而该目录就是你的工作目录,你的一切行为都是在这个目录里,而这个.git文件夹就是你的本地仓库。
- config文件,这是你项目的配置文件,里面有中心服务器的信息和分支信息
- HEAD文件指向当前的分支
- index文件是暂存区的相关信息
- logs目录中都是相关操作产生的日志
Git基本命令:
- git init
- git clone
- git status
- git add
- git commit
- git checkout -b
- git reset
- git pull
三、git基本使用
- 在github上新建项目
- 在本地新建文件夹test
- 进入本地文件夹执行git init生成本地仓库.git
- git clone远程项目
- 修改本地代码
- 添加远程仓库元数据信息(git remote add origin https://github.com/ShenJianPing0307/test.git)
- 此时与远程仓库进行了联系,通过git pull测试,如果出现fatal: unable to access ..., OpenSSL SSL_read: Connection was reset, errno 10054
进行配置文件修改:.git/config
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = https://github.com/ShenJianPing0307/test.git fetch = +refs/heads/*:refs/remotes/origin/* # 加入下面两行 [http] sslverify = false [https] sslverify = false
或者通过命令:
git config --global http.sslverify false
刷新DNS
ipconfig /flushdns
测试 git pull
修改文件后提交代码需要设置用户名
这是git的配置,代码提交后会出现提交者的信息
git config --global user.email "gitHub邮箱" git config --global user.name "gitHub用户名"
查看配置信息:
git config --list --show-origin
git add / git commit -a / git push origin master
通过push提交到远程仓库,还是需要github的认证,这一步可以通过ssh连接解决
四、SSH连接
SSH 为 Secure Shell 的缩写,为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。
- 使用方式
配置好SSH密匙后,本地代码pull/push就更简单了。
# 命令生成 ssh-keygen -t rsa -C "[email protected]" # 获取id_rsa.pub,将生成的id_rsa.pub添加到gitlab中的ssh管理处 cat ~/.ssh/id_rsa.pub
如果出现:The authenticity of host 'github.com (20.205.243.166)' can't be established.填写yes
然后进行:
- git clone ssh连接
- 修改代码
- git add .
- git commit -m
- git push origin master
五、代码管理
git log 查看commitid
回退
# 回退到当前版本 git reset --hard HEAD # 回退到上一个版本 git reset --hard HEAD^ # 回退到指定版本 git reset --hard 94e2d6b5d2ecd2ef800046053626e5fff0e364c0
分支
# 新建分支 git checkout -b dev # 切换分支 git checkout dev # 查看分支 git branch # 合并分支,将dev分支合并到当前分支 git merge dev