zoukankan      html  css  js  c++  java
  • git 工作区管理

    git工作区

    git的工作区就是电脑中能看到的目录,比如我的learning文件夹就是一个工作区

    版本库暂存区

    工作去有一个隐藏的目录.git,这个不算工作区,而是git的版本库
    git的版本库中存了很多东西,其中最重要的就是stage(或是index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫head
    

    我们把文件向git版本库里添加的时候,分为两步:
    用git add 把文件添加进行实际上就是把文件修改添加到暂存区
    用git commit提交更改,实际上就是把暂存区的内容提交到当前分支,我们创建git版本库时候,git自动为我们创建唯一一个master分支,所以现在,git commit就会想master分支提交更改。
    如我们修改了readme.txt和新添加了license,使用git status 命令就会提示我们修改了readme文件,license新添加的文件会提示Untracked的状态,使用git add 添加到暂存区
    

    使用 git commit提交到master版本库

    最后,通过git push推送到远程仓库

    git管理修改

    git跟踪并管理的是修改,而非文件。
    例如:第一次修改->git add -> 第二次修改 ->git commit
    在用git add命令后,在工作去第一次修改被放入暂存区,但是在工作区的第二次修改并没有放入暂存区,所以git commit只负责把暂存区的修改修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。(原因:git管理的是修改)
     如果需要提交第二次修改,应该如何做呢?
      > 可以继续git add再git commit
      > 别着急提交第一次修改,先git add第二次修改,在git commit,就相当于把两次修改合并后在一块提交了。
      > 第一次修改->-git add>第二次修改->git add->git commit
    

    git撤销修改

    工作文件修改错误,需要撤销,命令git checkout -- 就派上用场
    命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,有两种情况
    readme.txt修改后没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
    readme.txt已经添加到暂存区,又作了修改,现在撤销修改就回到添加到暂存区后的状态
    总之,就是让这个文件回到最近一次git commit或git add时的状态
    如果文件已经修改并git add添加到暂存区,在git commit之前,需要撤销修改,使用命令 git reset head file.
    命令 git reset head file 可以把暂存区的修改撤销掉,重新放回工作区。
    
    (场景1)如果改乱了工作区的某个文件的内容,想直接丢弃工作去的修改的时候,使用命令 git checkout --file
    (场景2)不然改乱了工作去并且添加到暂存区的时候,想直接丢弃,分为两步 第一 使用命令 git reset Head file ,回到"场景1",第二部按场景1操作。
    (场景3)如果已经提交了不合适的修改到版本库,想撤销本次提交,使用"版本回退" 前提是没有推送到远程库。
    ps注意:
     使用的git checkout --file 命令,命令中的"--"很重要,没有"--"就变成了切换到另外一个分支的命令。
    

    git删除文件

    文件从工作区删除,工作区和版本库就不一致了,通过git status就可发现那些文件被删除。
    如果确实需要从版本库中删除该文件,就用命令 git rm删掉,并且 git commit;
    如果删除错了,因为版本库中还有该文件,使用 git checkout -- xx.file 还原该文件。
    
    命令:git checkout是用版本库中的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
    
  • 相关阅读:
    C#-获取页面源代码
    C#-获取页面源代码
    C#-窗体移动
    C#-窗体移动
    C#-窗体鼠标穿透
    C#-窗体鼠标穿透
    C#-string生成图片
    C#-string生成图片
    C#-Stmp发邮件
    POJ-1611 The Suspects
  • 原文地址:https://www.cnblogs.com/ssgao/p/8881957.html
Copyright © 2011-2022 走看看