0
点赞
收藏
分享

微信扫一扫

Android Git 工作流,基础,回撤commit


一 Git的工作流程

我们知道Git有三大区(工作区、暂存区、版本库)以及3 个状态(untracked、unstaged、uncommited),下面只是简述下Git的大概工作流程,详细的可以参见 git 帮助文档 【链接】。
(1)打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件所在的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit)。
  (2)首次新建的文件都是untracked状态(未跟踪),此时需要git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态,需要git commit提交到版本库。添加到了版本库之后,再对文件进行修改,那么文件的状态会变为unstaged状态。

1.git分区

工作区、暂存区、版本库

tip:

1.1 除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区 (默认)
1.2 工作区的文件需要添加到Git的暂存区(git add)
1.3 Git的版本库(git commit)

2.git 状态

untracked、unstaged、uncommited

2.1 新建的文件都是untracked状态(未跟踪)
2.2 git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态
2.3 git commit生成版本库,添加到了版本库之后,再对文件进行修改,那么文件的状态会变为unstaged状态

回撤操作

团队协同开发过程中需要频繁的commit ,无法避免会出现误操作误提交情况。在git误提交后能够对代码进行回撤,也会是非常考验开发者能力必不可少的一项技能。

【回撤暂存区】
1.新建文件,执行 git add 文件。文件被添加到暂存区
2. git rm --cache 文件名

优点:只删除暂存区,对工作区保留修改状态,如果需要,再次进行git add 文件,可以加入暂存区

git status 查看当前文件的状态[untracked、unstaged、uncommited]

【同时回撤暂存区和工作区】

3.同时删除暂存区和工作区文件

git rm -f 文件名

【同时回撤暂存区和工作区和版本库】

4.对于已经commit 未 push 的文件,进行回撤

如果只对工作区,暂存区进行rm,是清理不干净的。版本库中已经包含commit的文件
,需要将commit 版本库中的文件进行清理。

git reset --[soft,mixed,hard] 三种可选

4.1 soft 只清除版本库中commit的内容,暂存区和工作区文件依然保持修改待提交状态
4.2 mixed 对于无误提交版本后,在工作区又进行了修改。需要回撤commit的文件同时保留工作区,提交后更改的内容,建议采用
4.3 hard 完全初始化到指定的提交版本,不了解或者不明白的慎用,因为git reset --hard 会将提交后修改全部初始化。

git reset --[soft,mixed,hard] -提交版本号

版本号可以在commit记录上右键,copy revision Number 进行复制,或者配合 git log -n 条数。

E:\reworlderDev\reworldproject>git  log -n 2

error: cannot spawn more: No such file or directory
commit 73fc7025fbde761184f8c2c07a9d087645bb8c (HEAD -> reworld_dev)
Author: 1111111 <2222@qq.com>
Date: Tue Jul 28 21:26:26 2020 +0800
集成2019
commit 50702e89c7557fcad5c199415e4f1aeaac58ca (origin/reworld_dev)
Merge: 173d2c18b 9dd9fe35b
Author: 11111 <11111@qq.com>
Date: Tue Jul 28 17:34:55 2020 +0800

Merge remote-tracking branch 'origin/reworld_dev' into reworld_dev

tips :

回撤到你期望版本前一个版本即可。


举报

相关推荐

0 条评论