zoukankan      html  css  js  c++  java
  • git 基础命令

    我们即将学习的内容将包括如下几个部分(扮演不同角色):

    1) Basic Repository Command:每个操纵git的人都需要掌握

    2) Individual Developer (Standalone):独立开发者需要掌握

    3) Individual Developer (Participant):合作开发者需要掌握

    4) Integrator:项目汇总人需要掌握

    5) Repository Administration:仓库管理员需要掌握

     

    我们都会使用这些命令来完成最基本的工作:

    git-init或git-clone来创建git仓库

    git-fsck来检查仓库的错误

    git-gc用来完成一些琐碎的工作,比如重组或删减。

    git-show-branch:可以显示你当前所在的分支以及提交记录。
    git-log:显示提交日志
    git-checkout或者git-branch:用于切换和创建分支
    git-add:用于将修改内容加入到index文件中
    git-diff和git-status:用于显示开发者所做的修改
    git-commit:用于提交当前修改到git仓库。
    git-reset和git-checkout:用于撤销某些修改
    git-merge:用于合并两个分支
    git-rebase:用于维护topic分支(此处我也不太懂,等完成git学习后转过头来会关注此问题)
    git-tag:用于标记标签。
    bogon:aha lakeslove$ git show-branch
    ! [ahaback] 这是ahaback目录下的文件
     * [master] 解决pull引起的冲突
      ! [test] 添加输入说明,并重新编译
    ---
     -  [master] 解决pull引起的冲突
    +*  [ahaback] 这是ahaback目录下的文件
     *  [master^] 删除程序开始
    +*  [master~2] 在test2中编译
    +*  [master~3] 编译
    --  [master~4] Merge branch 'test'
    +*+ [test] 添加输入说明,并重新编译

    git checkout — curses/ux_audio_oss.c //用于取消对curses/ux_audio_oss.c文件的修改

    git reset –soft HEAD^ //head回复到上一次commit的代码。–soft选项表示不改动index file和working tree中的内容,

    git reset HEAD^ //head和index回复到上一次commit的代码。不改动working tree中的内容

    git reset --hard HEAD^ //working tree、index、head 都回复到上一次commit到代码

     

     

    git-clone:复制别人的git仓库到本地

    git-pull和git-fetch:保持和别人的git仓库的同步更新

    git-push:共享方式。等同于CVS方式下的共享。

    git-format-patch:利用邮件形式提交补丁。等同于内核开发方式。

     

    我们总结的将是疑难知识点。
    我提炼出来的需要解决的疑难问题包括:
    1 commit和commit -a的区别
    2 log -p的中-p的作用
    3 merge的用法及参数用法
    4 fetch的用法
    5 pull的用法
    6 commit信息详解
    7 HEAD的含义及相关用法,ORIG_HEAD的用法以及其他常量的使用方法
    8 tag的用法

    log -p的中-p的作用

    git log:显示commit日志

    git log -p:不仅显示commit日志,而且同时显示每次commit的代码改变。

    merge的用法及参数用法
    git-merge主要用于将两个或两个以上的开发分支进行合并。
    git merge branchname 用于将branchname分支合并到当前分支中。(如果合并发生冲突,需要自己解决冲突)
    当merge命令自身无法解决冲突的时候,它会将工作树置于一种特殊的状态,并且给用户提供冲突信息,以期用户可
    以自己解决这些问题。当然在这个时候,未发生冲突的代码已经被git merge登记在了index file里了。如果你这个时候使
    用git diff,显示出来的只是发生冲突的代码信息。
    在你解决了冲突之前,发生冲突的文件会一直在index file中被标记出来。这个时候,如果你使用git commit提交的话,
    git会提示:filename.txt needs merge
    在发生冲突的时候,如果你使用git status命令,那么会显示出发生冲突的具体信息。
    在你解决了冲突之后,你可以使用如下步骤来提交:
    第一步:git add filename.txt
    第二步:git commit
    如果你希望撤销一个分支到merge前的状态,那么使用如下命令:
    $ git reset –hard HEAD //–hard表示将working tree和index file都撤销到以前状态
    在这先偷偷的告诉你,–soft表示只撤销commit,而保留working tree和index file的信息,–mixed会撤销commit和
    index file,只保留working tree的信息。OK,如果你能记住–hard、–mixed和–soft的区别,那最好,如果记不住,也不用
    自责啦,以后还会讲到。
    fetch的用法
    git-fetch用于从另一个reposoitory下载objects和refs。
    命令格式为:git fetch <options> <repository> <refspec>…
    其中<repository>表示远端的仓库路径。
    其中<refspec>的标准格式应该为<src>:<dst>,<src>表示源的分支,如果<dst>不为空,则表示本地的分支;如果
    为空,则使用当前分支。
    git fetch /home/bob/myrepo master:bobworks :用于从bob的工作目录的master分支下载objects和refs到本地的
    bobworks分支中。
    5
    pull的用法
    git-pull的作用就是从一个repository取出内容并合并到另一个repository中。
    git pull是git fetch和git merge命令的一个组合。
    git pull /home/bob/myrepo 这个命令的意思是从此目录中取出内容并合并到当前分支中。
    git pull .就相当于git merge。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    python3中模块初识
    Django 应用程序 + 模型 + 基本数据访问
    Axure文本框验证和外部url的调用
    MATLAB 实时脚本(live-script)使用
    Django MTV 开发模式 + 数据库配置
    Django 模板继承
    Django 修改视图文件(views.py)并加载Django模块 + 利用render_to_response()简化加载模块 +locals()
    Django Context对象 + 过滤器 + 标签
    Axure 页面内多组内容切换的实现 + 利用一个内联框架实现百度地图访问
    MATLAB绘图功能(2) 二维底层绘图修饰
  • 原文地址:https://www.cnblogs.com/lakeslove/p/12984842.html
Copyright © 2011-2022 走看看