您的位置:首页 > 其它

Git基本操作

2016-06-25 13:24 260 查看
一、Git基本操作

git init        --- 初始化仓库

git status   --- 查看仓库的状态

git add       --- 向暂存区中添加文件

git commit --- 保存仓库的历史记录

     git commit -m --- "注释信息"    记述一行提交信息

     记述详细提交信息:接执行 git commit命令,在编辑器中记述提交信息的格式如下:

            第一行:用一行文字简述提交的更改内容 

            第二行:空行1

            第三行以后:记述更改的原因和详细内容

git log        ---  查看提交日志

    git log --pretty=short   --- 只显示提交信息的第一行

    git log  后面加上目录名,便会只显示该目录下的日志;如果加的是文件名,就会显示与该文件相关的日志。

    git log -p readme.md  ---显示文件的改动

git diff          --- 查看更改前后的差别

    git diff head ---  查看本次提交与上次提交之间有什么差别。

二、分支操作

    在进行多个并发作业时,我们会用到分支。

    不同分支中,可以同时进行完全不同的作业。等该分支作业完成之后,再与master分支合并。

    通过灵活运用分支,可以让多人同时高效地进行开发。

1、git branch:显示分支一览表

    git branch命令可以将分支名列表显示,同时可以确认当前所在的分支。

    


    带有*号,表示这是我们当前所在的分支。目前本地只有一个分支master。

2、git checkout -b:创建、切换分支

    如果想以当前的master分支为基础创建新的分支,我们需要用到该命令。

    创建分支feature-A,并切换到该分支下。

   


      可以看到feature-A分支左侧有“*”,表示当前分支为feature-A。在这个状态像正常开发那样修改代码,执行git add命令,并进行提交的话,代码就会提交到feature-A分支。像这样不断对一个分支(例如:feature-A)进行提交的操作,我们称为“培育分支”。

    git checkout master 切换到master分支。

   


    与SVN集中型版本管理系统不同,创建分支时不需要连接中央仓库,所以能够相对轻松地创建分支。

   
特性分支:是集中实现单一特性(主题),除此之外不进行任何作业的分支。

    之前我们创建feature-A分支,这一分支主要实现feature-A,除feature-A的实现之外不进行任何作业。即便在开发过程中发现了bug,也需要再创建新的分支,在新分支中进行修正。

     主干分支:特性分支的原点,同时也是合并的终点。通常用master作为主干分支。主干分支中并没有开发到一半的代码,可以随时供他人查看。

    git merge:合并分支

    接下来,feature-A分支已经实现完成,想要将他合并到主干分支master中,首先切换到master分支,然后合并feature-A分支。为了在历史记录中明确记录下本次分支合并,我们需要创建合并提交。因此,在合并时加上--no-ff参数。

   


    这样一来,feature-A分支的 内容就合并到master分支中了。

    git log -graph:以图表形式查看分支

   


三、更改提交的操作

    git reset:回溯历史版本

    Git的另一特性便是可以灵活操作历史版本。借助分散仓库的优势,可以在不影响其他仓库的前提下对历史版本进行操作。

     1、回溯到创建feature-A分之前

           回溯到创建feature-A分之前,创建一个名为fix-B的特性分支。

           要让仓库的HEAD、暂存区、当前工作树回溯到指定状态,需要用git reset --hard命令。只要提供目标时间点的哈希值就可以。

   


     2、创建fix-B分支

   


    3、在readme.md中添加一行文字

   


    4、直接提交readme.md文件

   


    6、推进feature-A分支合并后的状态

    git log命令只能查看以但钱状态为终点的历史日志。

    git reflog命令,查看当前仓库的操作日志。

   


    git reset --hard d10d10d 还是通过这条命令回溯历史。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: