Git

git一个分布式的版本控制管理系统;

版本控制:所谓版本控制就是版本迭代;

主流的版本控制管理工具有以下几种:

  • git、svn、cvs、vss、tfs、visual studio online等;

Git Bash: Unix与Linux的风格的命令行,推荐使用;

Git CMP:windons风格的命令行;

Git GUI:图形界面的Git;

git配置:

命令:

git config -l 查看git所有的配置;

git config --system --list 查看系统中git的配置;

git config --global --list 查看自己配置配置;

git config --global user.name "设置自己的用户名" (这步操作是安装git之后,必须配置的)

git config --global user.email "设置自己的邮箱" (这步操作是安装git之后,必须配置的)

Git工作原理:

git有四个工作区域,本地三个,远程一个,分别是:

本地:工作目录(Working Directory)、暂存区(Satge / index)、资源库(Repository / Git Disectory)

远程:Git仓库

Git向远程仓库推送版本数据的流程:

三个命令:git add 、git commit 、git push

首先在本地的工作目录,通过命令git add flies把文件存放在暂存区,然后git commit 提交到本地仓库,最后通过命令git push把数据推送至远程仓库当中;

在使用git commit提交项目到本地时,若不想提交了,可使用git reset进行数据回滚,

在暂存区将数据重新放回本地,使用命令git checkout即可;

Git从远程仓库下载版本数据至本地的流程:

三个命令:git pull 或 git clone / git fetch 、git checkout

只需要使用命令git pull即可;

版本控制分类:

  • 本地版本控制:

记录文件的每次更新,可以对每个版本一个快照,

或者是记录补丁文件,只适合于个人使用;

  • 集中式版本控制:

将所有的版本数据集中保存于服务器上,协同开发者从服务器上同步更新或者上次修改;

  • 分布式版本控制:

将所有版本的数据都同步到每个用户,这样就可以离线查看所有的版本信息,同时可离线提交,只要在联网时push到服务器或其他用户上即可,由于每个用户都保存了所有的版本信息,这要就增加了本地的存储空间,不过,在出现故障时,只要有其中一个用户的设备没有问题,那就可以恢复原来的所有数据;

本地仓库的搭建

仓库搭建有两种方式:

  1. 创建一个全新的仓库;

使用git init 就会创建一个.git的隐藏目录;

该.git目录包含了所有的版本信息;

  1. 在克隆远程仓库;

使用git clone 克隆远程仓库,克隆后的仓库和远程仓库的文件完成一致;

使用Git Bash Here提交项目

  1. 打开Git Bash Here

  2. 需要将路径转到当前项目下;

  3. 输入命令:git add .

  4. 输入命令:git status

查看文件的状态

  1. 输入命令:git commit -m "描述信息"

  1. 输入命令:git push origin master

提交时若发生以下错误:

可以进行以下步骤:

  1. 将远程仓库中的项目拉下来进行合并;

git pull --rebase origin master

2.再次把项目提交push到远程仓库中;

git push -u origin master 

 

 

 

git的卸载

  1. 首先检查环境变量是否存在与git相关的配置,然后对其进行删除;

  2. 在控制面版中的程序中卸载git即可;

git命令

git add [flie] 添加文件至暂存区

git status 查看文件状态;

git commit -m 将暂存区文件添加到本地仓库, -m 为提交信息,可以在后面编写描述信息;

git push origin master 将本地仓库目录推送至远程仓库,

origin 代表当前用户,master代表主分支;

git pull 从远程仓库拉去项目;

git clone [url] 从远程仓库克隆项目;

git checkout 将暂存区文件退回至本地工作区;

git init 初始化目录;

git分支命令:

git branch 列出所有本地分支;

git branch -r 列出所有远程分支;

git branch [branch-name] 新建一个分支,但依然停留在当前分支;

git checkout -b [branch-name] 新建一个分支,并且切换到该分支下;

git merge [branch-name] 将当前分支与指导分支进行合并;

git branch -d [branch-name] 删除分支;

删除远程分支:

git push origin --delete [branch-name]

git branch -dr [branch-name]

忽略文件

有时候,我们并不想把所有的项目都纳入版本控制当中,比如一些数据库文件、临时文件等;

这个时候,我们就可以对这些文件进行过滤,忽略;

在主项目下新建一个名为 .gitignore 的文件;

但一般在使用开发工具(IDEA)创建项目时,都会默认创建 。gitignore 文件;

该文件的作用就是用于过滤某个不想被纳入到版本控制的文件;

  1. 以 # 开头的为注释;

  2. 可以使用linux通配符;

* 代表任意多个字符;

? 代表一个字符;

[abc] 代表可选字符范围;

({string1,string2,...})代表可选的字符串;

  1. ! 该符号若使用在名称前面,表示例外规则,将不被忽略;

  2. / 该符号若在名称前面,表示忽略此目录下的文件,但不包括子目录;

  3. / 该符号若在名称后面,表示忽略此目录下的子目录,而非文件(默认文件或目录都忽略)

例如:

# 为注释
*.txt #忽略所有以.txt结尾的文件
!hello.txt #hello.txt文件除外
/temp #仅忽略项目根目录下的TODO文件,不包含其他目录remp
build/ #忽略build目录下的所有文件
doc/*.txt #忽略doc目录下所有以.txt结尾的文件,但不包括子目录下的.txt文件

 

 

posted on 2022-05-27 17:31  Jron*  阅读(32)  评论(0编辑  收藏  举报