Git常见命令和用法

Git 文件状态

Git 文件 2 种状态:

  • 未跟踪:新文件,从未被 Git 管理过
  • 已跟踪:Git 已经知道和管理的文件
    在这里插入图片描述

常用命令

命令作用注意
git -v查看 git 版本
git init初始化 git 仓库初始化之后有工作区、暂存区(本地库)、版本库
git add 文件标识暂存某个文件文件标识以终端为起始的相对路径
git add .暂存所有文件
git commit -m’说明注释’提交产生版本记录每次提交,把暂存区内容快照一份
git status查看文件状态-详细信息
git status -s查看文件状态-简略信息第一列是暂存区状态,第二列是工作区状态
git ls-files查看暂存区文件列表
git restore 文件标识从暂存区恢复到工作区如果文件标识为.则恢复所有文件
git rm --cached 文件标识从暂存区移除文件不让 git 跟踪文件变化
git log查看提交记录-详细信息
git loa --oneline查看提交记录-简略信息版本号 分支指针 提交时说明注释
git reflog --oneline查看完整历史-简略消息包括提交,切换,回退等所有记录
git reset 版本号切换版本代码到暂存区和工作区soft 模式保留暂存区和工作区原本内容; hard 模式不保留暂存区和工作区原本内容 ; mixed 模式不保留暂存区,工作区保留(默认)先覆盖到暂存区,再用暂存区对比覆盖工作区
git branch 分支名创建分支
git branch查看本地分支
git branch -d 分支名删除分支请确保记录已经合并到别的分支下,再删除分支
git checkout 分支名切换分支
git checkout -b 分支名创建并立刻切换分支
git merge 分支名把分支提交历史记录合并到当前所在分支
git remote add 远程仓库别名 远程仓库地址添加远程仓库地址别名唯一,地址是.git 结尾的网址
git remote -v查看远程仓库地址
git remote remove 远程仓库别名删除远程仓库地址
git pull 远程仓库别名 分支名拉取完整写法:qit pull 远程仓库别名 远程分支名:本地分支名等价于:git fetch 和 git merge
git push 远程仓库别名 分支名推送完整写法:git push 远程仓库别名 本地分支名:远程分支名-u:建立通道后以后可以简写 git push
git pull --rebase 远程仓库别名 分支名拉取合并合并没有关系的记录
git clone 远程仓库地址克隆从0得到一个远程的Git仓库到本地使用

Git 远程仓库

需求:创建远程版本库,并把本地 Git 仓库推送上去保存
步骤:
1.注册第三方托管平台网站账号
2.新建仓库得到远程仓库 Git 地址
3.本地 Git 仓库添加远程仓库原点地址

git remote add 远程仓库别名远程仓库地址

例如: git remote add origin https://gitee.com/lidongxu/worktest.git

4.本地 Git 仓库推送版本记录到远程仓库

git push -u 远程仓库别名 本地和远程分支名

例如: git push -u origin master

Git 远程仓库-克隆

克隆:拷贝一个 Git 仓库到本地,进行使用

git clone 远程仓库地址

例如:git clone https://gitee.com/lidongxu/work.git
效果:在运行命令所在文件夹,生成 work项目文件夹(包含版本库,并映射到暂存区和工作区)

注意1:Git 本地仓库已经建立好和远程仓库的链接
注意2:仓库公开随意克隆,推送需要身为仓库团队成员

Git 暂存区使用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦

暂存区 ->覆盖 ->工作区,命令:git restore 目标文件(注意: 完全确认覆盖时使用)

Git 回退版本

概念:把版本库某个版本对应的内容快照,恢复到工作区/暂存区
查看提交历史: git log–oneline
回退命令:

git reset --soft 版本号(其他文件未跟踪)
git reset --hard 版本号
git reset--mixed 版本号(与 git reset 等价)

soft 回尽可能保留工作区和暂存区的文件
hard 回退回清理工作区和暂存区文件 (日常用的多的模式)
mixed 默认的模式, 工作区会保留,暂存区会被清理

注意1:只有记录在版本库的提交记录才能恢复
注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

分支创建

1、创建分支:

git branch 分支名

2、切换分支:

 git checkout 分支名

本地仓库中的所有分支

 git branch 

暂存本地

git add .
git commit -m '提交测试git'

查看提交的记录

git log --oneline

分支合并

分支-合并与删除
要求 : 把 login-bug 合并回到 master分支并删除login-bug 分支。
步骤:
1.切回到要合入的分支上:git checkout master
2.合并其他分支过来:git merge login-bug
3.删除合并后的分支指针:git branch -d login-bug

分支-合并冲突
需求1:基于 master 新建 publish分支,完成发布文章业务,然后修改内容页面的 html文件的 title 标签,并提交一次。

需求2:切换到 master,也在修改内容页面的 html文件的 title 标签,并提交一次冲突:把 publish 分支合并到 master 回来,产生合并冲突。

概念:不同分支中,对同一个文件的同一部分修改,Git无法干净的合并,产生合并冲突

在执行git merge publish命令的时候会产生冲突。如下
在这里插入图片描述

解决:
1.打开 VSCode 找到冲突文件并手动解决
2.解决后需要提交一次记录
在这里插入图片描述

  • 采用当前更改:当你选择这个选项时,VSCode
    将会保留你的本地更改,并忽略来自其他分支或提交的更改。这通常用于当你认为你的更改是正确的,而远程的更改可以被覆盖的情况
  • 采用传入的更改:相反地,如果你选择这个选项,VSCode
    将会应用来自其他分支或提交的更改,并覆盖你的本地更改。这通常用于当远程更改更重要,或者你需要更新到最新的状态时
  • 保留双方更改:如果你选择保留双方的更改,VSCode 将会在冲突的代码段中包含两个版本的更改。这通常会导致在源代码文件中留下类似
    <<<<<<< HEAD 和 >>>>>>> branch-name 的标记,需要你手动编辑文件以合并这两个版本
  • 比较变更:这个选项允许你在合并之前查看两个更改之间的差异。你可以通过一个内置的差异查看器来对比当前和传入的更改,这有助于你理解冲突的本质并决定如何解决它们。在比较之后,你可以手动选择要保留的部分,或者使用上述选项之一进行自动处理

忽略文件

概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件
目的:让 git 仓库更小更快,避免重复无意义的文件管理
例如:
1.系统或软件自动生成的文件
2.编译产生的结果文件
3.运行时生成的日志文件,缓存文件,临时文件等
4.涉密文件,密码,秘钥等文件
在这里插入图片描述

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值