利用GitHub实现版本控制

GIT版本控制Git版本控制

1.什么是版本控制

a) 只要进行团队软件开发,就会涉及源代码的合并共享以及带来的相关问题

i. 代码如何合并(手工合并几乎不可能)

ii. 历史版本的保存(各个版本间有大量重复,多大变化算一个版本)

iii. 跟踪哪些代码是谁修改(每个代码都写上注释说明作者?故意写成别人呢)

iv. 以上问题不解决,就会影响团队开发效率

b) 如何有效解决以上问题呢?这就需要版本控制

c) 目前计算机开发领域流行的是采用专门的版本管理软件来进行管理,大大提高了效率

2. 常用版本管理软件

a) VSS:Microsoft 提供,Window 平台,小型开发团队所适合的工具。

b) CVS:开源工具,跨平台。绝大多数 CVS 服务已改用 SVN。CVS 已停止维护

c) SVN(Subversion):开源,跨平台,在 CVS 的基础上开发。使用企业众多,稳定安全,操作简单。集中式版本控制系统。

d) GIT:开源的分布式版本控制系统,用以有效高速的处理从很小到非常大的项目版本管理。(GITHUB 是一个用 GIT 做版本控制的项目托管平台,B/S 架构。放到 GITHUB 上的代码需要开源,并且是互联网开发)
在这里插入图片描述

集中式 分布式

下载git
官网: https://git-scm.com/
在这里插入图片描述

关联Git

在这里插入图片描述
在这里插入图片描述

IDEA 创建的本地项目push到GitHub上

图解原理:
在这里插入图片描述

• 首先在github创建一个仓库
登陆 github.com
然后点击右上角账号左边的加号,点击New repository创建仓库。
Git上仓库就相当于项目的意思

这里输入仓库名称hiworld

• 创建成功,得到git地址
https://github.com/how2j/hiworld

• 本地创建一个项目
接着在本地创建一个项目hiworld,并且新建一个Java类

• 创建本地仓库
菜单->VCS->import into Version Control->Create Git Repository->e:\project\hiworld-OK

• 把项目加入到本地仓库的stage区暂存
右键项目->Git->Add

• 将暂存的项目提交到本地仓库然后提交到远程仓库(IDEA里将这两步骤简化为一步 即Commit and Push)
右键项目->Git->Commit Directory之后弹出如图所示的窗口,在Commit Message 输入 test, 然后点击 Commit And Push

• 这里会询问你要提交的哪里去,点击Define remote,并输入在" 创建成功,得到git地址 "步骤中的:
https://github.com/how2j/hiworld
-查看github
再次刷新github地址:
https://github.com/how2j/hiworld
就可以看到都push上去了

IDEA里代码提交和项目更新
• 把HiWorld随便改改,只要和以前不一样就行

• 使用快捷键CTRL+K,就会弹出提交的界面,点击Commit and Push即可

• 点击快捷键Ctrl+T,就会弹出更新的界面,点击OK即可

修改远程仓库

在这里插入图片描述

IDEA通过git回滚到某个提交节点或某个版本

1、项目右键后,点击“Git - Show History”
这里会显示有历史提交的版本记录(这里我们假设要回滚到 “提交” 版本中)
2、选中 “提交” ,右键Copy Revision Number
3、回到项目,右键-Git-Repository-Reset HEAD
4、Reset Type选择Hard,To Commit处黏贴刚刚复制的版本号;然后点击Reset按钮

以上操作就能够使得项目回滚到“提交”版本

从git上clone项目下来报错

git clone error:RPC failed; curl 18 transfer closed with outstanding read data remaining
原因:远程仓库文件目录太大,curl的postBuffer默认值太小

解决
方案一:设置缓冲区大小
git config --global http.postBuffer 524288000 #(单位B:约500M)

https://github.com/wode331/oa.git

方案二:设置深度为1 --depth 1
git clone https://github.com/wode331/gittest.git --depth 1

在这里插入图片描述

要当在哪个目录下就在哪个目录下右键执行
git bash here

解除git

在这里插入图片描述