Git 笔记

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 文件,此文件有以下规则

  1. 忽略文件中的空行或者井号(#)开始的行将会 被忽略
  2. 可以使用Linux通配符。如 * 代表任意多个字符,? 代表一个字符,[abc] 代表字符的可选范围,{string1,string2.....} 代表可选的字符串等
  3. 如果名称最前面有一个( !) ,表示例外规则,将不被忽略
  4. 如果名称最前面有一个( / ) ,表示要忽略的文件在此目录下,而子目录的文件不被忽略
  5. 如果名称最后面有一个( / ) ,表示要忽略该目录下的为该名称的子目录,而非文件(默认文件和目录都被忽略 )
#  注释
*.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的分叉提交历史整理成直线
posted @ 2024-03-09 18:04  vanjn  阅读(1)  评论(0编辑  收藏  举报