• Git学习笔记


    首先推荐下廖雪峰的官方网站,对Git的使用很详细,本笔记就是根据该网站教程学习整理的:

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    1、分布式版本管理系统,VS SVN

    2、Linux下查看git

             git –version

    3、安装git

             sudoapt-get install git

    4、创建版本仓库

             1)创建目录

             $mkdir learngit

             $cd learngit

             $pwd

             /Users/michael/learngit

             2)初始化

             $git init

             3)基本操作

             $git add<file>

             $git commit

    4、查看代码状态和代码变化

             $git status

             $git diff

    5、提交时候会出现这样一个小问题:

    warming:lf willbe replaced by crlf…

    这是由于Linux下和Windows下的换行不一致而产生的警告,Linux下只有换行,而Windows底下包括了回车,具体解决见博客:

    http://michael-roshen.iteye.com/blog/1328142

    6、查看提交日志:

             $git log

       使用相关参数使得日志输出变得简短一些:

             $git log –pretty=oneline

       这里出现的一大段前缀数字就是版本号,和SVN不同的是,这里的版本号是通过SHA计算出来的,这样才能避免在分布式版本控制中冲突。

    7、版本回退(git的版本回退速度非常快,因为Git在内部有一个指向当前版本的HEAD指针,当回退版本时候,就是将HEAD指向回退的那个版本而已,所以Git总有后悔药可以吃…)

             写法一:

             $git log --hard HEAD               当前版本

    $ git log --hardHEAD^             上一个版本

    $ git log --hardHEAD^^                    上两个版本

    写法二:

    $ git log --hardHEAD~100      前100个版本

    写法三:

    $ git log –hard e4195e…           回退到某个版本号的版本(可以不写全,git会自己搜索)

    8、查看回退log

            $ git reflog

    9、工作区和暂存区的概念

             我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,而gitcommit就是往master分支上提交修改内容,可以这么理解:需要提交修改的文件放在了暂存区,然后一次性提交暂存区所有修改。

             Changenot staged for mommit      修改了

             Untrackedfiles                                     还未添加过的

             Changedto be committed                修改了并放入暂存区了(就差commit)

    10、管理修改

             $git diff HEAD – readme.txt            查看该文件的修改情况

             git管理的是修改而不是文件,所以如果还没add时修改的内容在commit的时候不会被提交,只有再次被add时才会加入到修改暂存区。

    11、放弃工作区修改

             $git checkout – readme.txt    让这个文件回到最近一次gitcommit或git add时的状态

    12、删除文件(可以直接恢复)

             $git rm <file>

    13、连接远程库和push远程库:

             1)生成公钥

             2)到远程仓库(github上)添加公钥

             3)创建远程仓库:

                      $ git remote add origin git@github.com:kangaroo007/learngit.git

             4)push代码到远程仓库:

                       $git push –u origin master

             5)如果报错可以先:

                       $git remote rm origin

    14、分支管理的意义(引用)

        “分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

    现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。”

    原文出处:http://blog.csdn.net/boy306/article/details/45696193


  • 相关阅读:
    JAVA实现图的邻接表以及DFS
    对于JAVA多线程卖票小程序的理解
    我的第一篇博客
    The 'with' and 'as' Keywords
    Buffering Data
    rstrip
    MapFields和并行计算(OpenFOAM)
    Python 调用自己编写的Class
    vs2013和vs2010的配置
    Eclipse的配置
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6823157.html
Copyright © 2020-2023  润新知