Git进阶操作

本文详细介绍了Git的五个高级命令:branch用于列出、创建和删除分支;checkout用于切换分支及恢复工作区;switch专注分支切换;log显示提交历史;stash用于暂存和恢复工作区修改。了解这些命令能帮助开发者更高效地管理Git项目。
摘要由CSDN通过智能技术生成

主要内容

介绍branch,checkout, Switch,Log ,Stash等5个进阶命令的使用。

 1.branch

Branch :git-branch - List, create, or delete branches
功能:列出分支,创建分支,删除分支

2. checkout

checkout :Switch branches or restore working tree files。
功能:主要用来切换分支;同时也可以起到撤销修改的功能,用指定提交记录中内容
      恢复工作区和暂存区
(1)切换分支:git checkout [<branch>]

(2)撤销功能
    git checkout [<commit>] [--] <paths>
    使用cimmit提交的记录,恢复path中的内容  (暂存区和工作区都会恢复)

    准备工作:
        1>刚开始study_checkout.c中存在内容1,2,3,4,5,6,7,8
        2>修改后内容:1,2,3,3,5,6,7,8并添加到暂存区
        3>  修改内容:1,2,3,3,5,6,7,3但是并未添加到暂存区

   恢复暂存区和工作区内容:执行命令,git checkout [<commit>] [--] <paths>
   其中--path是用以指明恢复的文件,如果想对所有的文件进行恢复,path用.替换即可。

   验证结果如下:

如果仅仅是想恢复工作区内容:执行命令,git checkout [--] <paths>

 

3. switch

    Switch:switch branches
    功能:切换分支
    背景:由于checkout承担的职责过多(切分支和恢复工作树),git 2.23
         版本新增了switch、restore命令,命令则专门用来切换分支、创建
         并切换分支等
(1)切换分支
     在切换分支前,必须确保暂存区和工作区相关修改被提交或者暂存起来,否则分支
     切换不过去,详见下图。

  下面先用stash暂存修改内容,然后使用命令git switch [分支名]再切换分支,
  详见下图。
  注:
  1.切换分支前的内容想要丢弃,使用命令
    git swicth --discard-changes[分支名]即可。
  2.切换分支并希望将当前修改的内容,合并到新的分支上,使用命令
    git switch --merge [分支名]

(2)创建新分支
     1.基于当前节点(提交)创建新的分支使用命令git switch -c [分支名]

 

2.基于某次节点(提交)创建新的分支使用命令git switch -c [分支名] [commit id]

4. log

log: Show commit logs
功能:显示提交记录
(1)查看详细提交历史记录
       命令:git log

(2)以精简模式显示log记录
     命令:git log --pretty=oneline

(3)显示文件更改列表
     命令:git log --stat

(4)显示某个作者的提交记录
     命令:git log --author= 'name' 显示某个作者的日志
        示例:略
(5)查看某个文件的详细修改
    命令:git log -p filepath 

 5. stash

功能:将工作区中修改的内容贮藏起来
应用场景:当你在本地正在增加一个功能,代码写到中途的时候,突然有
        个紧急bug要处理,这个时候不能切换 分支但又不愿额外增加
        一次提交,通过stash命令可以先将正在修改的内容缓存起来, 
        等处理完这个问题后,再执行stash pop命令就可以将之前保存
        内容恢复
环境准备:修改study_checkout.c中内容1 2 3 3 5 7 8 -> 
         1 2 3 4 5 7 8
(1)Git stash save "name":以name名字将修改的内容贮藏起来,name以可以省略  
(2)Git stash list:查看贮藏列表
(3)Git stash pop:恢复最后一次贮藏起来的内容到工作区,并将该次贮藏从贮藏列表中删除

(4)Git stash show:git stash show stash@{i} -p 详细显示第i次存储的改动。
  下图中进行了三次stash操作,查看第2次存储的改动。

(5) Git stash apply:git stash apply stash@{i} -p 
    从贮藏列表中将第i次贮藏的内容恢复到工作区,但是该次贮藏不会从贮藏列表中删除

 

(6)Git stash drop:git stash drop stash@{i} -p 从贮藏列表中丢掉第i次贮藏内容
(7)Git stash clear:清贮藏列表

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值