ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git自学笔记001_Real(版本控制、版本迭代)

2021-12-22 20:58:41  阅读:242  来源: 互联网

标签:Real 文件 git Git 版本控制 版本 目录


Git自学笔记001_Real(版本控制、版本迭代)

一、版本控制概述

版本控制(Revision Control)是一种在开发过程中用于管理我们对文件,目录或工程等内容的修改历史,方便查看更改历史记录。备份以便恢复以前版本内容的软件工程技术。

  • 实现跨区域多人协同开发
  • 追踪和记载一个或多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发,提高开发效率
  • 追踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误

二、版本控制的分类

1、本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人使用。
2、集中版本控制 SVN
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。
3、分布式版本控制系统 Git
所有的版本信息仓库都同步到本地的每个用户,这样就可以在本地查询所有历史版本,可以离线在本地提交,只需要在联网的时候Push到相应的服务器或者其他用户那里,由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题,就可以恢复所有的数据,但是增加了本地存储空间的占用。(每个人都有公司的全部代码)

Git和SVN最主要的区别:

1、SVN是集中版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的是自己的电脑,所以首先要从中央处理器得到最新的版本,然后工作,完成工作后,需要把自己完成的工作推送到中央服务器,集中式版本控制系统是必须联网的才能工作的,对网络带宽要求较高。
2、Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网,因为版本都在自己的电脑上。

安装之后出现的Git含义

Git Bash:Unix和Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉命令行

三、基本的Linux系统的命令:

1、cd:改变目录
2、cd…:回到上一级目录,直接cd进入默认目录
3、pwd:显示当前所在的目录路径
4、ls/ll:两个命令都是列出当前目录中的所有文件,只不过ll列出的命令更加详细
5、touch:新建一个文件 如touch index.js,就是在当前目录下面新建一个index.js的文件
6、rm:删除一个文件,如rm index.js是将index.js文件删除
7、mkdir:新建一个目录,相当于新建一个文件夹
8、rm -r:删除一个文件夹,rm -r src删除src目录
9、mv:移动文件,mv index.html src 的意思是将该目录下的index.html移动到src文件夹下面,但是当前文件夹必须和src文件夹,在同一目录下面
10、reset:重新初始化终端/清屏
11、clear:清屏
12、history:查看命令历史
13、help:帮助
14、exit:退出
15、#:表示注释

四、Git的配置

1、查看配置:git config -l

在这里插入图片描述
2、查看系统配置:git config --system --list
在这里插入图片描述
3、查看本地配置:git config --global --list
在这里插入图片描述
4、设置用户名和邮箱:
git config --global user.name 用户名
git config --global user.email 邮箱名

五、Git基本理论(核心)

Git有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository)或Git Directory,如果在加上远程的Git仓库(Remote Directory)就可以分成四个工作区域。文件在这四个区域之间的转换关系如下:
在这里插入图片描述
workspace:工作区,就是平时村方项目代码的地方。
index / Stage:暂存区,用于临时村方本地的改动,事实上他只是一个文件,保存即将提交的文件列表信息。
Repository:仓库区(或本地仓库),就是安全村方数据的位置,这里面有提交的所有的版本数据,其中HEAD指向最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器,可以简单的认为项目组中的一台电脑用于远程数据交换。

Git的一般工作流程:

1、在工作目录中添加,修改文件;
2、将需要要进行版本管理的文件放入暂存区域中;(git add …)
3、将暂存区域中的文件教导Git仓库;(git commit)
因此,Git股那里的文件有三种状态:已修改(modified),已缓存(staged),已提交(committed)
在这里插入图片描述

六、Git项目搭建

1、创建工作目录域常用命令

工作目录(WOrkSpace)一般就是希望Git帮助管理的文件夹,可以是项目的目录,也可以是一个空目录,建议不要用中文。
在这里插入图片描述

2、本地创建仓库

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库
(1)创建全新的仓库,需要用Git管理的项目的根目录执行

# 在当前目录新建一个Git代码库
git init

执行之后就可以看到,在项目目录里面多出来一个.git目录,关于版本等所有的信息都在这个目录里面
(2)克隆远程仓库

# 克隆一个项目和它的整个代码历史(版本信息)
git clone[url] https://gitee.com/kuangstudy/kuang_livenote.git

Git文件操作

1、文件的4种状态

版本控制就是文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者需要提交的文件没提交上去。
(1)Untracked:为追踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为staged
(2)Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中有两个去处,如果它被修改,而变为Modified,如果使用git rm移出版本库,则成为了Untracked文件
(3)Modified:文件已修改,仅仅是修改,并没有进行其他的操作,这个文件也有两个去处,通过git add,可进入暂存staged状态,使用git checkout则丢弃修改过,返回到unmodify
状态,这个git checkout即从库中取出文件,覆盖当前修改
(4)Staged:暂存状态,执行git commit则将修改同步到库中,这时候库中的文件和本地的文件右边为一致,文件为unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified

2、查看文件状态

# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加左右文件到暂存区
git add .
# 提交暂存区中的所有内容到本地仓库 -m表示提交信息
git commit -m “消息内容”  #引号里面的是消息内容

3、忽略文件

有些时候我们不想把一下文件纳入到版本控制中去,比如数据库文件,临时文件,设计文件等等。
在主目录下面建立“.gitignore”文件,此文件有如下规则:
(1)忽略文件中的空行或井号(#)开始的行将会被忽略;
(2)可以使用lLinux通配符。例如:星号(*)代表任意多个字符,问好(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1, string2, …})代表可选的字符串等;
(3)如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略;
(4)如果名称的最前面有一个路径分隔符(/),表示要忽略的文件在此目录下面,而子目录中的文件将不被忽略。
(5)如果名称的最后面有一个路径分隔符(/),表示要忽略此目录下改名称的子目录,而非文件(默认文件或目录都忽略)

*txt       # 忽略所有.txt结尾的文件,这样的话上传就不会被选中。
!lib.txt   # 但lib.txt文件除外
/temp      # 仅忽略build/目录下的所有文件
build/     # 忽略build/目录下的所有文件
doc/*.txt  # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore文件的内容定义:

*.class
*.log
*.lock

# Package Files #
*.jar
*.war
*.ear
target/

# idea
.idea/
*.iml

*velocity.log*

### STS ###
.apt_generated
.factorypath
.springBeans

### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/

*.log
tmp/

# rebel
*rebel.xml*

七、Gitee的使用

注册后,生成公共密钥
在C:\Users\xueli\目录下用CMD执行mkdir .ssh命令行,生.ssh文件夹,在文件夹里面执行Git
输入命令ssh-keygen -t rsa
一路Enter下去,最后会生成公共密钥和两个文件
在这里插入图片描述

标签:Real,文件,git,Git,版本控制,版本,目录
来源: https://blog.csdn.net/weixin_46076729/article/details/122077984

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有