首页   快速返回

git的各种状态     所属分类 git
Git本地仓库 三个区域  本地目录 暂存区 HEAD


工作目录  work tree, 受Git控制的文件夹,所有被跟踪记录的文件都包括在其中
暂存区(index或stage) 类似一个缓存区域,临时保存改动
HEAD 指向最近一次提交后的结果

已跟踪或未跟踪

未跟踪(Untracked) 文件的改动不受Git的版本控制
已跟踪的文件,即被纳入版本控制的文件,又分为三种状态 未修改(unmodified) 已修改(modified) 已暂存(staged)


新加入一个文件时,处于未跟踪状态,没有纳入Git版本控制
git add 放入暂存区 
被跟踪的文件,如果没有做过新的修改,处于未修改状态
做了改动,变成已修改状态,通过 git add  放入暂存区
git commit 将暂存区中的文件提交至HEAD所指向的分支

vi note.txt
# 新建的文件需要先 add
git add note.txt
git commit -m 'add note.txt'
# note.txt modify and save
# 需要先 add
git commit -m 'note update1'
# -am   add + commit
git commit -am 'note.txt update1'
git push


use "git reset HEAD $FILE..." to unstage


use "git checkout -- $FILE..." to discard changes in working directory


git reset 
git checkout .


git reset HEAD note.txt
git checkout note.txt

git log
commit f2985c3db8db227d5a6fb015f0d6882f15cc566f
Author: dugang  
Date:   Fri Jul 5 15:25:14 2019 +0800

    note.txt update 2019-07-05 15:25

commit 192c09c1e5738988684fedc85a4c5b824ca1bbfc
Author: dugang  
Date:   Fri Jul 5 15:13:50 2019 +0800

    add note.txt
    
    
    
回退到上一次commit的状态   
git reset --hard HEAD^ 
  
回退到任意版本
git reset --hard  commitid  


回退到 指定版本 192c09c1e5738988684fedc85a4c5b824ca1bbfc

git reset --hard  192c09c1e5738988684fedc85a4c5b824ca1bbfc
HEAD is now at 192c09c add note.txt

git push
To https://gitee.com/dyyx/gitdemo.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/dyyx/gitdemo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

可以强制推送
git push -f


回滚本地代码 
git revert 338536de39e4b76de01adc8512c2b16e683acfdd
通常,前几位即可
git revert 338536d

本地代码回滚到指定的历史版本
操作的时候 有文件冲突 ,解决冲突后再 提交 push
远程仓库的提交记录不会重置

上一篇     下一篇
金融行业六大证书介绍

Content-Disposition 响应头的作用

git冲突合并及强制推送

为啥GO不火

springboot2微服务实例演示

GO的垃圾特性