提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
自动化测试学习
了解git,gitee,github,gitlab之间的区别
git具体操作如何?
提示:以下是本篇文章正文内容,下面案例可供参考
一、了解git,gitee,github,gitlab之间的区别?
Git 是一种分布式版本控制系统,是一个命令,是一种工具,有点像cmd(命令行工具)。
Gitee 即码云,是 oschina 免费给企业用的,不用自己搭建环境,可以建立自己的私有仓库。在云端,国内。要借助Git.
Github 是一个基于git实现在线代码托管的仓库,共有仓库免费,建立私有仓库要收费。在云端,国外。要借助Git工具实现代码的下载和上传
Gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环境。
Git-ce 是社区版,gitlab-ee是企业版,收费的。
二、git具体操作如何?
1.本机基本操作
1、注册gitee账号
2、生成ssh公钥,实现免密登录
设置本机绑定ssh公钥,实现免密登录(码云是远程仓库,平时我们是本地仓库)
由于本地git仓库+gitee仓库之间传输是通过ssh加密的,所以需要配置ssh公钥。
在gitee设置ssh公钥
进入c盘【用户】-【自己的账户下】找到ssh目录,若没有,则进行创建mkdir ~/.ssh:
ssh-keygen -t rsa
在.ssh目录下,右击打开git.bash生成公钥,输入以上命令,enter3次完成。
在本地用户上的.ssh目录下会出现一个SSH公钥和私钥,一般我们设置公钥。
也可在.ssh的git.bash下ls看一下
接着在输一个查看公钥的命令cat id_rsa.pub
在返回gitee码云上面进行粘贴ssh公钥
2.代码命令操作
Git相关配置命令:
#查看gitconfig选项--系统级别,里面是各种配置文件,我们的用户名和邮箱都在这里
# 存在于git安装目录下Git/etc/gitconfig
== 打开对应的文件可以查看此配置文件。==
# 在用户对应的文件下c:\user\administrator(自定义)\.gitconfig 只适用于当前登录的用户配置 --global全局
# 第一次安装可能没有,我们需要先设置它
git config --global --list
# 可查看当前用户名和邮箱
git config --global user.name "yxl" # 名称
git config --global user.email 123455@qq.com # 邮箱(邮箱最好是真实的)
设置用户名和邮箱很有必要,是用户的标识,因为每次git提交都会使用该信息,他会被永远嵌入你的提交中。
- 如果在一个项目中使用不同的名称和邮箱,可以在该项目中运行上述命令,且不要–global选项。*
三、Git基本理论(核心)
工作区域
三个区域:
1、工作目录(working directory):平时存放项目代码的地方。
2、暂存区(stage/index):临时存放你的改动,一个文件-保存即将提交到文件列表信息。
3、资源库、仓库区(repository):有你提交到所有版本的数据,HEAD指向最新放入仓库的版本。
4、一个远程的git仓库(remote directory):远程仓库(本地仓库),托管代码的服务器,简单说-你项目组中一台电脑用于远程数据交换。
工作流程
1、在工作目录中添加,修改文件
2、将需要进行版本管理的文件放入暂存区域
3、将暂存区的文件提交到git仓库
故:git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git项目搭建
- 创建工作目录与常用指令
工作目录(workspace)一般是你希望git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不用中文
这六个命令很重要
创建本地仓库方法有两种:一种是创建全新仓库,一种是克隆远程仓库
1、创建全新仓库,需要在Git管理的项目的根目录执行:
在当前目录下新建一个Git代码库
git init
2、执行后,仅仅在项目目录中多出一个.git目录,关于版本等的所有信息都在这个目录里面
- 克隆远程仓库
1、另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份到本地
#克隆一个项目和他的整个代码历史(版本信息)
$ git clone [url] 如(git@gitee.com:prodify/gitstudy.gitt)
本地则出现整个代码库。
Git 文件操作
- 文件四种状态
版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前是什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
1、untracked:未跟踪,此文件在文件夹中,没有加入git库,不参与版本控制,通过git add状态变为staged
2、unmodify:文件已经入库,没修改,若修改则变为modified,如果使用git rm移出版本库,则成为untracked文件
3、modified:文件仅仅是修改,有两个去处,第一通过git add可进入暂存staged状态,使用git checked则丢弃修改过,返回到unmodify状态,这个git checked即从库中取出文件,覆盖当前修改。
4、staged:暂存状态,执行git commit 则将修改同步到库中,这时库中文件和本地文件又变为一致,文件为unmodify状态,执行git reset HEAD filename取消暂存,文件状态为modified - 查看文件状态
上面的4种状态,通过如下命令可查看文件的状态
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# git add . #添加所有文件到暂存区
# git commit -m "注释内容的提交信息" # 提交暂存区中的内容到本地仓库 -m 提交信息
- 忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等。
在主目录下建立".gitignore"文件,此文件有如下规则:
1、忽略文件中的空行或#开始的行将会被忽略。
2、可以使用linux通配符。如(*)代表任意多个字符,(?)代表一个字符,([a,b,c])代表可选字符范围,({string1,string2,…})代表可选的字符串等
3、如果名称最前面有一个感叹号(!),表示例外规则,不能被忽略
4、如果名称最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中文件不忽略
5、如果名称最后面是一个路径分隔符(/),表示要忽略的文件在此目录下该名称的子目录,而非文件(默认文件或目录都忽略)
# 注释
*.txt # 忽略所有.txt结尾的文件
!lib.txt # 除lib.txt不忽略
/temp # 仅忽略项目根目录下的todo文件,不包括目录temp
build/ # 忽略build/目录下所有的文件
IDEA中集成Git
1、新建项目,绑定git
将远程git文件拷贝到项目中即可