Git学习
Git环境配置
git配置文件本质都是基本的文件
安装后必须配置项
# 配置用户信息
git config --global user.name ='用户名'
git config --global user.email ='邮箱地址
查看配置
git config -l
查看不同级别的配置文件:
# 查看系统config
git config --system --list
# 查看当前(global)config
git config --global --list
Git 相关配置文件:
1)系统配置文件:Git安装目录\Git\etc\gitconfig
2)用户配置文件:
Git基本原理
基本概念
-
工作区:就是你在电脑里能看到的目录(本地目录)。
-
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,
所以我们把暂存区有时也叫作索引(index)。
-
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
工作区
Git本地有四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系。
Workspace: 工作区,就是你平时存放项目代码的地方
Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
构建Git项目
1.创建全新项目
# 项目初始化
git init
执行构建完成后,项目目录下会出现一个.git目录
2.克隆远程仓库
在gitee(国内)或者 GitHub(国外)
# 仓库地址URL
git clone [url]
Git文件操作
文件的四种状态
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add状态变为Staged.
Unmodify: 文件已入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处,如果它被修改, 而变为Modified,如果使用git rm移出版本库, 则成为Untracked文件
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified
查看文件状态
# 查看所有状态
git status
# 查看指定文件状态
git statu [filename]
忽略文件
在主目录下创建 .gitignore 文件,此文件有以下规则
- 忽略文件中的空行或者井号(#)开始的行将会 被忽略
- 可以使用Linux通配符。如 * 代表任意多个字符,? 代表一个字符,[abc] 代表字符的可选范围,{string1,string2.....} 代表可选的字符串等
- 如果名称最前面有一个( !) ,表示例外规则,将不被忽略
- 如果名称最前面有一个( / ) ,表示要忽略的文件在此目录下,而子目录的文件不被忽略
- 如果名称最后面有一个( / ) ,表示要忽略该目录下的为该名称的子目录,而非文件(默认文件和目录都被忽略 )
# 注释
*.txt 忽略所有.txt文件
!lib.txt lib.txt忽略除外
/temp 仅忽略项目根目录下的,不包括temp目录
build/ 忽略build/目录下的所有文件
doc/*.txt 会忽略doc/a.txt, 但不忽略doc/other/b.txt
常用命令
1.项目初始化
git init
2.添加或连接远程github仓库
git remote add origin [仓库地址]
git remote add origin https://github.com/VanjunQQ/movie.git
3.查看连接的远程仓库
git remote
4.查看本地文件的状态
git status
5.暂存所有未暂存的文件
git add
6.提交暂存文件
git commit -m "说明"
7.推送/上传文件到远程仓库
git push
git push -u origin master
8.获取本地库的最新版本,检查新文件,分支,删除等
git fetch
9.拉取远程库最新版本文件
git pull
10.在远程库删除文件
git rm 文件名
多人协作
git checkout -b dev //创建并切换到分支dev
//创建并切换到分支dev,同上
git branch dev //创建
git checkout dev //切换
//新版本
git switch -c dev //创建并切换到分支dev
git switch master //直接切换分支
git branch //查看当前分支
git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
git branch -d dev //删除dev分支
git stash //将现场储藏起来
git stash list //查看储存的工作现场
//恢复和删除
git stash apply
git stash drop
//恢复并删除
git stash pop
git cherry-pick 4c805e2 //复制修改
git push origin master(dev) //推送分支
git checkout -b dev origin/dev //创建远程origin的dev分支到本地
git pull //抓取分支(解决冲突)
git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
git rebase //把本地未push的分叉提交历史整理成直线
标签:文件,git,--,dev,忽略,Git,笔记
From: https://www.cnblogs.com/vanjnbolg/p/18063081