git操作

1. 查看git配置选项

 

# 查看所有配置
git config -l

#查看系统config
git config --system --list
  
#查看当前用户(global)配置
git config --global  --list

2. 设置全局配置

配置你的姓名和邮箱,以后每次git提交都会使用改信息

git config --global user.name "liujiashun"  #名称
git config --global user.email 1248895427@qq.com   #邮箱

3. git分区:三个本地区和一个远程区

  • workspace::工作区,平时存放代码的地方
  • index/stage::暂存区,用于临时存放你的改动,本质是一个文件,保存即将提交到文件列表的信息
  • Repository:本地仓库,包含所有你提交的版本的数据,其中HEAD指向最新放入仓库的版本
  • remote:远程仓库 

 4. git本地区详解

  •  Directory:git管理的要给目录,即仓库。包含我们的工作空间和git的管理空间
  • Workspace:工作空间
  • .git:存放git管理信息的目录,初始化仓库的时候自动创建(隐藏文件夹)
  • index/Stage:暂存区
  • Local Repo:本地仓库
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态

5. git工作流程

707bd8b895c1162c42607214a849b296.png

  1. 在工作目录中添加、修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到git仓库

6. git中文件的四种状态

  • Untracked:未跟踪,没有加入到git本地库,不参与版本控制,通过git add可变为Staged状态
  • Unmodify:未修改,文件已加入本地库。如果对该文件修改,则会变为Modified状态,如果使用git rm将其移出版本库,则会变为Untracked状态
  • Modified:已经修改。如果调用了git add则变为暂存staged状态,如果调用git checkout则丢弃修改回到Unmodfity状态(git checkout 表示从库中取出文件覆盖当前修改)
  • Staged:暂存状态,执行git commit 会将修改入库,变为Unmodify状态,执行git reset HEAD filename取消暂存,文件又变为Modified状态

7. git版本控制

 1. 状态查看

# 查看工作空间中的所有文件状态
git status

# 查看工作空间中指定文件的状态
git status a.txt

2. 查看历史版本

# 查看当前版本和当前版本之前的历史版本
git log

# 简写形式
git log --oneline

# 查看所有版本信息,推荐使用这个
git reflog

 3. 版本回退(重置)

# 重置到指定版本(可以向前也可以向后)
# 81cb5f2为版本标签,通过git reflog查看
# 基于索引
git reset --hard 81cb5f2


# 使用^符号,只能后退,一个^符号后退一个版本
# 后退两个版本
git reset --hard HEAD^^

# 使用~符号,也是只能后退
# 后退3个版本
git reset --hard HEAD~3

 参数说明:

  • --soft:仅仅将本地库移动HEAD指针。(即不改变工作区和暂存区)
  • --mixed:在本地库移动HEAD指针,同时重置暂存区。但不改变工作区
  • --hard:在本地库移动HEAD指针,同时重置暂存区和工作区。

4. 比较差异

# 比较工作区中与暂存区中的文件差异
git diff

# 比较指定文件
git diff a.txt

# 比较工作区与本地库中的文件差异
git diff HEAD a.txt

8. 分支管理

1. 创建分支

# 创建本地分支dev
git branch dev

2. 查看分支

# 查看分支
git branch -v

3. 切换分支

# 切换到dev分支
git checkout dev

4. 合并分支

# 如果当前分支在master分支,则表示将指定分支dev合并到当前分支master
git merge dev

5. 其他分支操作

#本地新建分支并切换到该分支
git checkout -b [brancd-name]


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

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

9 远程分支管理

1. origin在.git的配置文件中有说明,默认表示远程主机别名

2. 克隆项目

# 先从远程仓库克隆到本地
git clone https://gitee.com/liu_jiashun/demo1.git

3. 设置远程分支地址

# 设置远程分支地址别名,如果是克隆的则不需要设置
git remote add origin https://gitee.com/liu_jiashun/mybatisplus-demo.git


# 查看当前所有远程地址别名
git remote -v

4. 拉取远程分支

# 新建本地分支并拉去指定远程分支
# git checkout -b [本地分支名] origin/[远程分支名]
git checkout -b dev origin/dev

# 拉取指定远程分支到指定本地分支
# git fetch <远程主机名> <远程分支名>:<本地分支名>    # 不会自动merge
# git merge <远程主机名>/<远程分支名>				# 上一步是fetch,这一步是merge

# git pull <远程主机名> <远程分支名>:<本地分支名>	 # 上面两步的合并

git pull origin dev			#同名可以省略
git pull origin master --allow-unrelated-histories   #允许不相关历史提交,强制合并

5. 推送到远程分支

# 将本地分支推送到指定远程分支上去: 如果本地分支名与远程分支名相同可以省略冒号后面的内容
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin dev

6. 删除远程分支

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

10. git常用命令

#将一个文件夹初始化为git目录
git init

#添加所有文件到暂存区
git add .

#添加指定文件到暂存区
git add [filename]

#将暂存区中的文件取消,回到未追踪或者已修改状态
git restore --staged [filename]

#回退当前目录下所有修改,如果加入到暂存区之后又有修改,则回退到暂存区的文件内容,如果没加入暂存区,回退到版本库中的状态
git checkout .

#回退指定文件
git checkout <file>

#将暂存区中的内容提交到本地仓库 -m 提交信息
git commit -m "消息内容"

11. 忽略文件

  • 在主目录下创建 .gitignore 文件
# 忽略所有以.txt结尾的文件
*.txt  

# 不忽略lib.txt
!lib.txt

# 忽略target目录,不管target在哪一个目录下
target

# 忽略file目录下的所有文件,不管file在哪个目录下
file/

# 忽略根目录下file目录下的文件
/file/

# 忽略指定目录下的所有文件
log/*

# 忽略css目录下的.css文件
css/*.css

12. 设置本机绑定SSH公钥,实现免密登录

# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen

# 会在此目录下生成公私钥

# 将公钥信息添加到码元账户中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值