zoukankan      html  css  js  c++  java
  • Git使用学习笔记 (一)

    学习网址

    安装方法包含LinuxMac Os XWindows的安装,安装完成之后设置个人信息:

    $ git config --global user.name "name"
    $ git config --global user.email "email@***.com"

    注意:git config 命令中参数 --global 表示在当前机器上所有git仓库都使用上边的配置。

    一、创建版本库

    版本库(仓库),英文名repository,库里的文件修改、删除都能被Git跟踪。

    1 创建一个版本库,首先选择一个合适的地方,创建一个空目录:

     

    Pwd 命令用于显示当前目录。在我的Mac上,这个仓库位于   /Users/Administrator.TPBXKCC9K1NU6KY/learngit

    !!!如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

    2 通过 git init 命令把这个目录变成Git可以管理的仓库:

    瞬间仓库就建好了,这是一个空仓库(empty Git repository)。当前目录下有一个.git目录,这个目录是Git来跟踪管理版本库。

     

    如果没有看到.git目录,是因为这个目录默认是隐藏的,用ls –ah命令可以看见。

    3 把文件添加到版本库

    注意:所有的版本控制系统,只能跟踪文本文件的改动,如TXT文件,网页多有程序代码等。版本控制系统可以明确告诉每次的改动。但是视频和图片这些二进制文件,虽然也能由版本控制系统管理,但是无法跟踪文件的变化。Microsoft的Word格式是二进制格式,因此版本控制系统是无法跟踪Word文件改动。

    使用Windows的要注意:不要使用Windows自带的记事本编辑任何文本文件。会出现错误。下载Notepad++代替记事本,把默认编码设置为UTF-8 without BOM。

    现在开始添加一个readme.txt文件。这个文件必须要放在learngit目录下,子目录下也可以。

    第一步,用命令 git add告诉Git,把文件添加到仓库

     

    执行这个命令,没有任何显示说明添加成功。

    第二步,用命令git commit 告诉Git,把文件提交到仓库。

     

    解释一下git commit 命令,-m 后面输入的是本次提交的说明,可以输入任何内容,最好写标注信息,方便从历史记录中找到修改记录。

    命令执行成功后会告诉你,一个文件别改动,插入两行内容(readme.txt有两行内容)。

    因为commit可以一次提交很多文件,可以多次add不同的文件。所以需要add,commit两部提交文件:

     

    4修改仓库中文件(readme.txt)的内容。

    运行git status ,该命令可以让我们时刻掌握仓库当前的状态。

     

    git diff 能够知道之前修改的内容。红色文字是修改之前的,绿色文字是修改之后的。

     

    提交修改和提交新文件是一样的两步:

    第一步,git add :  $ git add readme.txt。 没有任何输出

    第二部,执行之前,先运行git status查看当前仓库状态:

     

    git status告诉我们,将要被提交的修改包括readme.txt,然后就可以放心的提交了:

     

    再次查看仓库状态:

     

    二、版本回退

    版本库中的文件不断的被修改。当文件错乱或误删等其他状况发生时,还可以从最近的一个commit恢复。

    我们可以用git log命令查看历史记录,显示的是从近到远的提交日志:

     

    如果输出信息太多,看的眼花缭乱,可以试试加 –pretty=oneline 参数:

     

    提示:前边一大串黄色字体是commit id (版本号) ,和SVN不一样,git不是使用1,2,3…递增的数字,是SHA1计算出来的一个强大的数字,用十六进制表示。因为git是分布的版本控制系统,后面要研究多人在同一版本库里工作,如果都用1,2,3作为版本号,就会有冲突。每提交一个新版本,git会把它们自动串成一条时间线。

    Git中HEAD表示当前版本,上一个是HEAD^,上上一个版本HEAD^^,往上100个携程HEAD~100.

    回退到上一个版本,使用git reset

     

    $ cat readme.txt 查看当前版本内容(确定是上一个版本的内容):

     

    此时查看版本记录,change it’s nice 已经没有了:

     

    回到未来的某个版本,$  git reset –hard 版本号版本号写前几位就可以

     

    当忘记想要回退到的版本号,可以使用git reflog

     

    三、工作区和暂存区

    工作区(Working Directory)

    就是在电脑中能看到的目录,如 learngit 文件夹就是一个工作区

    版本库(Repository)

    工作区中有一个隐藏目录 .git , 这个不是工作区,是Git的版本库。

    版本库中有很多东西,其中state(或index),还有Git为我们自动创建第一个分支master,以及指向master的一个指针HEAD

    上传文件:

     第一步,git add ,就是把文件修改添加到暂存区;

     第二步,git commit,实际就是把暂存区的内容提交到当前分支。

     

    只有将修改的文本文件 git add 加到暂存区stage中,才能使用git commit 添加到master中

    四、撤销修改

    1、 git checkout -- file 可以丢弃工作区的修改

    上述命令表示把readme.txt文件在工作区的修改全部撤销,这里有2种情况:

    一种是readme.txt自修改后还没放到暂存区,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区的状态。

    撤销修改就是回到最近一次git commit 或 git add 时的状态

    2、 git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区

     

    五、删除文件

    在Git中,删除也是一个修改操作。

    一般情况,通常直接在文件管理器中把没用的文件删了,或者使用 rm file 命令删除

    现在,有两个选择:

    一个是,确实要从版本库中删除该文件,就用 git rm 删除,并且 git commit -m "xxx"

    此时,文件就从版本库中删除了。

    另一个是删错了,因为版本库中还有,所以可以把误删的文件恢复到最新版本中:

    $  git  checkout  --file

     

     

     

  • 相关阅读:
    2017.7.14 C组总结
    2017.7.13 C组总结
    2017.7.12 C组总结
    2017.7.10 C组总结
    2017.7.11 C组总结
    2017.7.9 C组 总结
    2017.7.8 C组总结
    2017.7.7 C组总结
    2017.7.6 C组总结
    SSL 2326——小球
  • 原文地址:https://www.cnblogs.com/zmr2520/p/5953768.html
Copyright © 2011-2022 走看看