Git-1

——分布式版本控制

对应的是集中的版本控制工具——SVN,需要联网。

分布式系统与集中式系统

  • Git是分布式版本控制系统,没有中央服务器,但是SVN有。
  • 分布式系统上每个人的都是一个版本库,工作时不需要联网

流程

工作区——暂存区——分支

 

 

 

Git用法

初始化一个仓库

git init

添加文件到仓库(两步,add一次添加一个文件,添加至暂存区stage;commit一步可提交数个文件,暂存区所有添加到当前分支)

git add file1
git add file2
git commit -m "添加了2个文件"

时刻掌握仓库当前的状态(是否被修改过,仅仅是工作区前后是否被改变)

git status

更加精确的查询那些被修改了(-红色为旧版本 ,+绿色为新版本。提交时可将此作为额外的信息。修改前和修改之后还没有进入暂存区的内容之间的差异)

git diff

git diff HEAD -- file   //检查工作区和版本库最新版的差异

Git下,总有后悔药吃

查询提交日志

git log --pretty=oneline

回到过去,简单,退到上一个版本(或几个)

git reset --hard HEAD~1
或者
git reset --hard HEAD^

回到未来(当前版本的后几个版本,借助版本号)

git reflog
git reset --hard commid_id

撤销修改(文件撤回到最近一次add 或者 commit的状态)

  1. 文件还没add进暂存区,工作区文件撤回至上次commit后的状态,版本库最新版的状态
  2. add进了暂存区,工作区文件撤回至上次add后的状态,和暂存区的状态一一致;
    •  git reset HEAD filename,将暂存区的修改回退到工作区,变为状态1
    • 假如已经commit到本地仓库,则采用版本回溯。
    • 若已经推到远程版本库,则GG

git checkout -- filename

posted @ 2020-04-20 18:06  海绵爱上星  阅读(123)  评论(0编辑  收藏  举报