我们一起学习git命令

基本概念:

  1. 版本库:.git文件:
    • 当我们使用git管理文件的时候,比如git init时,这个时候,会多出一个.git文件,我们把这个文件称作为版本库。
    • .git文件另外一个作用就是在他创建的时候,会自动创建master分支,并且将HEAD指针指向master分支。
  2. 工作区
    • 本地项目存放文件的位置。
    • 可以理解成图上的workspace。
  3. 暂存区(index/Stage)
    • 暂时存放文件的地方,通过add命令将工作区的文件添加到缓冲区。
  4. 本地仓库(Repository)
    • 通常情况下,我们使用commit命令可以将暂存区的文件添加到本地仓库。
    • 通常而言,HEAD指针指向的就是master分支。
  5. 远程仓库(Remote)
    • 当我们使用github托管我们的项目时,他就是一个远程仓库。
    • 通常我们将使用clone命令将远程仓库代码拷贝下来,本地代码更新之后,通过push托送到远程仓库。

git文件状态:

  • 通常我们需要查看一个文件的状态
git status
  1. Changes not staged for commit
    • 表示的大概就是工作区有该内容,但是缓存区没有,需要我们git add。
  2. Changes to be committed
    • 一般而言,这个时候,文件放在缓存区了,我们需要git commit
  3. nothing to commit, working tree clean
    • 这个时候,我们将本地的代码推送到远端即可

常见命令:

  1. git配置命令
  • 列出当前配置
git config --list
  • 列出本地仓库(Repository)配置
git config --local --list 
  • 列出全局配置
git config --global --list
  • 列出系统配置
git config --system --list
  • 配置用户名
git config --global user.name "your name"
  • 配置用户邮箱
git config --global user.email "youremail@github.com"

  1. 分支管理
  • 查看本地分支
git branch
  • 查看远程分支
git branch -r
  • 查看远程和本地分支
git branch -a
  • 从当前分支,切换到其他分支
git checkout <branch-name>
<!--例子-->
git checkout dev
  • 创建并切换到新建的分支
git check -b <branch-name>
<!--例子-->
git checkout -b dev
  • 删除分支
git branch -d <branch-name>
<!--例子-->
git branch -d dev
  • 当前分支与指定分支合并
git merge <branch-name>
<!--例子-->
git merge dev
  • 查看哪些分支已经合并到当前分支
git branch --merged
  • 查看哪些分支没有合并到当前分支
git branch --no-merged
  • 查看各个分支最后一个提交对象的信息
git branch -v
  • 删除远程分支
git push origin -d <branch-name>
<!--例子-->
git push origin -d dev
  • 重命名分支
git branch -m <oldbranch-name> <newbranch-name>
  • 拉取远程分支并创建本地分支
git checkout -b 本地分支名x origin/远程分支名x
<!--另外一种方式,也可以完成这个操作。-->
git fetch origin <branch-name>:<local-branch-name>
  1. fetch指令:
  • 将远程仓库的内容更新到本地。
  • 推荐写法:
git fetch origin <branch-name>:<local-branch-name>
  • 一般而言,origin是远程主机名,一般就是origin
  • branch-name 你要拉取的分支。
  • local-branch-name 通常而言就是你本地新建一个分支,将origin下的某个分支的代码下载到本地分支。
<!--例子-->
git fetch origin feature/template_excellent:feature/template_layout
<!--你的工作目录下,就会有feature/template_layout-->
<!--一般情况下,我们需要做的就是在这个分支开发新需求-->
<!--完成代码后,我们需要做的就是上传我们的分支-->
  1. 撤销写法
  • 撤销工作区修改
git checkout --
  • 暂存区文件撤销(不覆盖工作区)
git reset HEAD
  • 版本回退
git reset --(soft | mixed | hard)<HEAD ~(num)> |
指令作用范围
–hard回退全部,包括HEAD,index,working,tree
–mixed回退部分,包括HEAD,index
–soft只回退HEAD
  1. 状态查询
  • 查看状态
git status
  • 查看历史操作记录
git reflog
  • 查看日志
git log
  1. 文档查询
  • 展示Git命令大全
git help (--help)
  • 展示Git命令大纲全部列表
git help -a
  • 展示具体命令说明手册
git help
  1. 文件暂存
  • 添加改动到stash
git stash save -a "message"
  • 删除暂存
git stash drop stash@{ID}
  • 查看stash列表
git stash list
  • 删除全部缓存
git stash clear
  • 恢复改动
git stash pop stash@{ID}
  1. 差异比较
  • 比较工作区与缓存区
git diff
  • 比较缓存区与本地库最近一次commit内容
git diff -- cached
  • 比较工作区与本地最近一次commit内容
git diff HEAD
  • 比较两个commit之间差异
git diff
  1. 分支命名
  • master分支
    • 主分支,用于部署生产环境的分支,确保稳定性。
    • master分支一般由develop以及hotfix分支合并,任何情况下都不能直接修改代码。
  • develop 分支
    • develop为开发分支,通常情况下,保存最新完成以及bug修复后的代码。
    • 开发新功能时,feature分支都是基于develop分支下创建的。
  • feature分支
    • 开发新功能,基本上以develop为基础创建feature分支。
    • 分支命名:feature/ 开头的为特性分支, 命名规则: feature/user_module、 feature/cart_module。
  • hotfix分支
    • 分支命名:hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。
    • 线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支。
基本流程
  • 创建本地仓库git init
git init
  • 链接本地仓库与远端仓库
git remote add origin
origin默认是远端仓库别名url可以是可以使用https或者ssh的方式新建
  • 检查配置信息
git config --list
  • Git user name 与email
git config --global user.name "yourname"
git config --global user.email "your_email"
  • 生成SSH密钥
ssh-keygen -t rsa -C "这里换上你的邮箱"
cd ~/.ssh 里面有一个文件名为id_rsa.pub,把里面的内容复制到git库的我的SSHKEYs中
  • 查看远端仓库信息
git remote -v
  • 远端仓库重新命名
git remote rename old new
  • 提交到缓存区
git add . 全部上传到缓存区
git add 指定文件
  • 提交到本地仓库
git commit -m 'some message'
  • 提交远程仓库
git push <远程主机名> <本地分支名>:<远程分支名>
  • 查看分支
git branch
  • 创建新分支
git branch
  • 切换分支
git checkout

-创建分支并切换

git checkout -b
  • 删除分支
git branch -d
  • 删除远程分支
git push -d
  • 切换分支
git checkout
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值