zoukankan      html  css  js  c++  java
  • git初使用

    项目管理切到git了,用起来总是不那么svn,好尴尬呀。

    git参考手册:https://git-scm.com/book/zh/v1

    windows下,

    客户端下载地址:https://git-scm.com/downloads,我用的是Git-2.8.1-64-bit.exe

    安装个图形界面sourcetree:https://www.sourcetreeapp.com/,我用的是SourceTreeSetup_1.8.3.exe

    首先介绍几个概念:

      工作区,就是一个目录,你存放项目文件的地方

      版本库,工作区有一个隐藏目录.git,就是Git的版本库

      暂存区,版本库里一个重要部分stage

    从一个在svn转过的人来看,这是git的精要,very important!!!

    1. 随便找个空目录(C:UsersduDesktopjdk1.8.0_65gittest),试一下手git init

    初始化gittest目录,创建了一个本地仓库,目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中

    执行git status

    2.创建README.xml, git add README.txt,把文件修改添加到暂存区,没有输出就是成功了

    执行git status

    3.git commit -m '我的新文件哦',把暂存区的所有内容提交到 版本库当前分支

    查看状态:

    4.git log,查看最近commit日志 

     

    也可以git log --pretty=oneline,精简输出

     

    5.为了展示我们强大的回退功能,在README.txt文件多次添加内容,并多次add commit,

    准备回滚了,git reset --hard HEAD~1,回退一个版本

    OK,成功!

    变态,我又想回去,不回退了,可以么?答案当然是no problem,只要找到那次的commit id,就上面图中81开头的那个,不用写全,git能区分就行

    git reset --hard 81bccb7

    以上是提交版本库后,版本的回退

    ps:

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- {file}

    一种是{file}自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是{file}已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    总之,就是让这个文件回到最近一次git commitgit add时的状态

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,

      第一步用命令git reset HEAD {file},{file}从暂存区回到工作区,也就回到了场景1

      第二步按场景1操作

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考上面说的版本回退,不过前提是没有推送到远程库

    参考文章:

    1. Git教程

    2. Git手册

  • 相关阅读:
    LuaStudio源码分析1初次编译
    swf相关开源的工具
    SWF SlideShow Scout
    Linux添加字体 晓>冥
    Navicat连接服务器数据库 晓>冥
    Linux部署kkFileView 晓>冥
    JAVA面试——网络 晓>冥
    本地sql文件导入服务器的mysql 晓>冥
    JAVA面试——异常 晓>冥
    Centos 7配置JDK1.8+MySQL5.7+Tomcat 8 开发环境 晓>冥
  • 原文地址:https://www.cnblogs.com/yhzh/p/5446063.html
Copyright © 2011-2022 走看看