Git 学习笔记 ---优秀的版本控制工具

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 学习笔记 ---优秀的版本控制工具相关的知识,希望对你有一定的参考价值。

在之前我们写代码的时候,有时候代码出了点问题,需要修改一下;就把之前的错误部分删除了;若还想还原时,Ctrl+Z撤销操作即可,回到查看到之前的代码;
但是若这次写的代码记录没有用U盘备份,第二次打开时,再想回顾一下之前的某些改动代码,使用Ctrl+Z的话,必然是回不到最初了;

最近学了Git,这个工具是真的好用!!!
Git 是一个免费的开源分布式版本控制系统,可快速高效地处理从小型到大型项目的所有内容。

版本控制

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。
除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,可提高协同开发的效率.

使用版本控制工具方便于保留记录中文件的修改记录;包括之前的版本信息;
当然,多人开发时也要注意及时交流,以防出现过多的代码冲突状况;

Git

Git 把内容按元数据方式存储,而 SVN 是按文件

集中式和分布式的区别

集中式

  • 集中化的版本控制系统诸如 CVS,SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
  • 每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易;
  • 缺点是中央服务器的单点故障。如果服务器宕机一小时,这一小时内,谁都无法提交更新,也就无法协同工作

分布式

  • 客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库),这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份.
  • 解决问题::==>服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的);每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

三块区域

工作区:在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具中完成).

暂存区:(stage /index)。一般存放在 .git 目录下的 index 文件(. git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.

版本库:工作区有一个隐藏目录 .git,是 Git 的版本库,提交暂存区代码到本地仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史记录,和其他版本做比较.

工作流程

  • 工作区代码添加到暂存区
  • 暂存区代码提交到本地版本库
  • 本地版本库代码推送到远程仓库
  • 从远程仓库拉取代码到本地

下载Git工具后,在IDEA中进行配置

下载即可

在IDEA的设置中配置git

在插件管理中心,下载插件.ignore,用来管理代码上传时的忽略文件;

Git常用命令

  • 查看 git 配置信息 git config --list

  • 初始化: git init 仓库名

  • 提交到暂存区:
    git add 文件名 (提交指定文件)
    git add . (提交所有所有文件)
    git add -A ( 提交所有变化到暂存区)

  • 查看暂存区
    git ls-files 恢复暂存区的指定文件到工作区:
    git reset 文件名 撤销指定文件
    git reset . 撤销所有文件

  • 提交到本地仓库:
    git commit -m 注释

  • 查看仓库状态
    git status

  • 克隆项目
    git clone 地址

在IDEA集成Git工具

点击new,创建.ignore file忽略文件,选择gitignore fileGit忽略文件


选择需要忽略的文件,比如我勾选了临时文件和java的不必要文件;

当然,也可以在生成的文件中自己配置,我这里就加入了对target文件夹的忽略;

# Created by .ignore support plugin (hsz.mobi)
### Example user template template
### Example user template

# IntelliJ project files
.idea
*.iml
out
gen
### Java template
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
target

选择要创建Git本地仓库的项目;
VCS -->import into Version Control -->Create Git Respository

比如这里我选择了

在这个项目的文件夹处,打开隐藏文件即可看到.git管理文件目录

注意到,这些红色的就是没有忽略的文件,且没有上传到本地仓库的文件;

比如说,我这里把Admin类添加到暂存区

然后提交到本地仓库;

写注释是个好习惯

然后我这里添加了一段代码

可以和历史版本进行比较;

点击这里即可回退到之前的版本

IDEA集成Gitee

github这款远程仓库也不错,但是由于网络问题,效率还是不调好;
使用国内的码云(gitee)也可以;开源中国出品,专为开发者提供稳定、高效、安全的云端软件开
发协作平台.

首先去注册一个码云账号;gitee网站
—> 建议用邮箱注册,后面集成时还是需要邮箱作为登录账号的;

根据官网的教程,生成SSH公钥

在IDEA的插件管理工具中下载gitee插件

添加账号

这样就能将本地仓库的代码推送到远程仓库了

后面提交代码时就默认提交到到这个仓库了

那么,怎么把托管到远程仓库的代码拉取下来呢

下载的话就不说了,直接下载压缩包,解压使用即可;

将复制的代码拉取即可

以上是关于Git 学习笔记 ---优秀的版本控制工具的主要内容,如果未能解决你的问题,请参考以下文章

git学习笔记

git学习笔记之远程仓库操作

git 学习笔记1

Git学习笔记

尚硅谷 git 学习笔记

git学习笔记