zoukankan      html  css  js  c++  java
  • 分布式版本控制系统Git-----9.Git 使用的小技巧

    1. git push -u orgin master【后面push的时候可简写】

    第一次push的时候-u后面加上<本地分支名><远程分支>,第二次push的时候就只需要写git push就可以了,但是前提是你远程分支只有一个。例子如下:

    第一次:

    第二次:

    2. git commit -a【会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤】

    图片所示我修改了testCommit.txt文件,此文件之前是已经跟踪过的,但是我commit提交会报错,所以需要commit后需要加一个-a,就省去了再次放到暂存区的步骤。

    3. .gitignore  忽略文件【一开始就要想好需要过滤哪些文件与目录,不然push之后处理起来很麻烦】

      git rm --cached file:从staged区中移除文件,但文件保留在磁盘上

     (git rm 来删除文件,同时还会将这个删除操作记录下来;

     rm 来删除文件,从本地删除,没有将其从 git 的记录中剔除。)

    4.git log --stat:显示改变的概要【后面的参数还有很多,我只是列出了个人觉着信息比较有用的参数,具体查看log的参数】

      git log --pretty=format:"%h - %an, %ar : %s" 

    5. git stash 【放入暂存区

    当你发现你之前的代码有bug需要更改需要回到上一个commit而你又不想放弃现在的进度或者想pull最新代码但是不想commit,这个命令就派上用场了。改完bug之后再git stash pop, 继续原来的工作。

    6. 自动提示

    git co<tab><tab>

    git log --p<tab><tab>

    7. 从远程仓库抓取数据(只抓取,不合并)    git fetch[远程仓库名]

      从远程仓库抓取并合并分支     git pull

    下面这张图真的不错哦!便于理解!

    8. Git中的分支(branch),其实本质上仅仅是个指向commit的可变指针

    Git会使用master作为分支的默认名字

    在每次提交的时候都会自动向前移动

    【想要理解这个问题,可以去git目录下面自己看下文件里面的内容】

    9. HEAD 特别指针,是一个指向你正在工作中的本地分支的指针。

    git branch命令,仅仅是建立了一个新的分支,但不会自动切换到这个分支中去

    (1)Git中的分支实际上仅是一个包含所指对象校验和(40个字符长度SHA-A字串)的文件

    说白了,新建一个分支就是向一个文件写入41个字节(外加一个换行符)那么简单,所以成本要低很多

    (2)Git的实现与项目复杂度无关,它永远在几毫秒的时间内完成分支的创建和切换

    (3)因为每次提交时候都记录了祖先信息(parent对象),所以以后要合并分支的时候,寻找合并基础(共同祖先)的工作已经完成了一大半,实现起来非常容易。

    【这个问题同上,自己查看一下文件就理解了】

    10.当做了一些修改并想提交到远程时,远程又有了新的更新,这时候push会 失败,解决方法两种:

    Git fetch   抓取新的内容

    Git merge orgin/master   手工合并

    或者

    Git pull orging master    抓取最新内容并自动合并

    作者:有梦想的乌龟·
  • 相关阅读:
    第一篇:白话tornado源码之一个脚本引发的血案
    第二篇:白话tornado源码之待请求阶段
    Python 面向对象(初级篇)
    python 面向对象(进阶篇)
    Csharp启动exe文件
    UNIX时间戳
    JS日期格式化代码
    Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
    thread同步测试
    Fluent NHibernate使用小结:(1)通用配置文件创建方法
  • 原文地址:https://www.cnblogs.com/nlbnick/p/6115786.html
Copyright © 2011-2022 走看看