Git常用操作指北(一)

一、基本概念

Git在管理项目时,文件有五种状态,分别是:未修改已修改已提交已暂存已推送

而文件流转在几个工作区域,分别是:工作目录暂存区域本地仓库远程仓库

二、常用操作及命令

1)提交文件

1、提交的基本操作流程:

  • git add
  • git commit
  • git push
对应的文件状态及工作区域流转图:

2、追加提交

当commit完之后需要再次修改,追加到上一次提交时,无需回退版本,可以通过以下命令操作

1)git add .
2)git commit --amend
3)修改commit mesage

注:如果不修改commit message,可以使用 git commit --amend --no-edit

3、多commit之间操作

可以使用 git rebase -i [commit_id]操作多个commit,其中commit_id是操作的commit的父commit节点的id

👇 下面是具体的使用场景及操作的命令

现在有如下的提交历史:

commit_id - commit_message
----------------------------------------
<a76194b> - d
<d487196> - c
<b261836> - b
<0488d24> - a
<935b7cc> - init
  • 调换a、c两个commit的的顺序

    • 1)执行 git rebase -i 935b7cc (即 init节点的 commit_id)

    • 2)弹出vi界面信息如下

      pick 0488d24 a
      pick b261836 b
      pick d487196 c
      pick a76194b d
      
    • 3)将a、c所在行调换,保存退出vi

      pick d487196 c
      pick b261836 b
      pick 0488d24 a
      pick a76194b d
      
  • 修改节点b的文件/修改节点b的commit_message

    • 1)执行 git rebase -i 0488d24(即 a节点的 commit_id)

    • 2)弹出vi界面信息如下

      pick b261836 b
      pick d487196 c
      pick a76194b d
      
    • 3)修改b所在行的pick为edit或者缩写e,保存退出vi

      edit b261836 b
      pick d487196 c
      pick a76194b d
      
    • 4)修改后执行 git commit --amend

    • 5)修改commit_message

    • 6)执行 git rebase --continue

  • 删除b、c两个commit

    • 1)执行 git rebase -i 0488d24(即 a节点的 commit_id)

    • 2)弹出vi界面信息如下

      pick b261836 b
      pick d487196 c
      pick a76194b d
      
    • 3)修改b、c所在行的pick为drop或着缩写d,保存退出vi

      drop b261836 b
      drop d487196 c
      pick a76194b d
      
  • 合并节点b、c到a

    • 1)执行 git rebase -i 935b7cc (即 init节点的 commit_id)

    • 2)弹出vi界面信息如下

      pick 0488d24 a
      pick b261836 b
      pick d487196 c
      pick a76194b d
      
    • 3)将a、c所在行的pick改为squash或者s,保存退出vi

      pick 0488d24 a
      squash b261836 b
      squash d487196 c
      pick a76194b d
      
    • 4)修改合并后的commit_message,保存退出vi

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 7,036评论 0 1
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 9,147评论 0 10
  • Git init 在当前目录下初始化创建Git仓库 先要cd Git add . 将所有修改添加到暂存区 git ...
    lhg_serven阅读 4,256评论 0 0
  • 一、Git是什么? 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常 大的项目版本管理。 Git ...
    名字谁不会取阅读 4,744评论 0 0
  • 朋友整理的,放这里偶尔过来看看 一、基本介绍 首先,Git作为版本控制系统,他的原理与SVN为首的集中式版本控制系...
    allenzhan阅读 4,590评论 0 3