注意:

  • Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动
  • 不要使用Windows自带的记事本编辑任何文本文件

开始git项目:

  • 初始化本地项目:

    • 初始化:git init; //git init dir 同时创建文件夹并初始化;
    • 将文件纳入版本控制: git add  *.js      //git add -A    加入全部文件
    • 提交:git commit -m 'message';
  • 从其他地方克隆项目:

    • 克隆:git clone url (newfilename);//也可以clone本地的项目;
    • git clone -b <branch> url
  • 初始化一个裸仓库
    • 初始化: git init --bare;
    • 裸仓库没有working dir,不能进行git操作,纯粹是为了共享;
    • 常用的创建git私有仓库方法

查看提交历史

  • git log ; //git log --stat;显示每次提交文件变更;

    • --pretty=oneline :只显示一行信息,包括一个 SHA-1 校验和提交说明;
    • --pretty=short :不包括日期;
  • git show ($id); 显示最新(某个ID )具体的提交信息和变化;

版本号及回退

  • HEAD表示当前版本;上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上可以简写成HEAD之前第n个版本:HEAD~n。
  • 回退到上一个版本:git reset --hard HEAD^
  • 此时如果想返回先前的,只能使用commit id, 如5位commit id; git reset --hard 63e01
  • Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针
  • 如果暂时找不到之前的commit id, 可以使用git reflog来显示HEAD指针指到过版本

项目状态:

  • 工作目录下面的所有文件包括两种状态:

    • 已跟踪:指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。
    • 未跟踪:其他文件都属于未跟踪文件。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。

  • 检查当前状态:git status;  //与最近一次提交的比较;[工作区,暂存区和版本库比较]

    • git status -s //精简显示

添加与修改:

  • 将修改的文件放到暂存区:git add;  //添加全部文件  git add .
  • 建立忽略文件:.gitignore            //注意,实际上所有的git操作也是可以使用文件匹配模式的,一般会在最前面添加 \

    • *a             以a结尾;
    • !add.js       除了add.js以外的文件
    • doc/           doc文件夹下的所有文件
    • doc/**/      doc/directory下的所有文件
  • 查看更新修改:
    • git diff  //修改但未暂存;  [工作区和暂存区比较]
    • git diff  --staged/--cached    //修改暂存但未提交;[暂存区和版本库比较]
  • 跳过暂存区域:git commit -a -m 'message';  //注意如果是本来未跟踪的话,还是要运行一次git add;

撤销操作:

  • 取消文件的修改:git checkout < file>, git checkout .; 全部

    • 只对已跟踪的文件有效
    • 让这个文件回到最近一次git commit或git add时的状态。
  • 取消已经暂存的文件:git reset HEAD file
    • 一般是针对刚刚git -add的文件
  • 修改最后一次提交:git commit --amend -m 'message'; //会修改最近一次提交的信息,如果和上次信息相同,等于覆盖了上次的提交;

移除版本管理://都是对已跟踪的文件而言

    • 修改还未暂存:

      • git rm -f 'flie';
    • 已经暂存:
      • 删除文件'file'之后,运行git rm 'file'   //最好在任何修改之后运行git status查看;
      • 直接运行git rm 'file' ;
    • 仅是移除版本管理,而不删除文件: git rm --cached 'file'   //包括修改后已暂存或未暂存;
  • 修改文件名:
    • 手动直接修改:相当于手动删除文件然后添加新文件;需要使用git rm 'oldfile'; git add 'newfile';
    • 使用git修改:    git mv 'oldfile' 'newfile';

恢复删除:

  • 如果是删除还未提交的话,可以使用git checkout -- file

    • git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”;但只能恢复文件到最新版本
  • 如果是已经提交了,则使用版本回退

修改提交历史:

  • 改变最近一次提交 : git commit --amend -m 'new commit message'

分支重命名:

  • git branch -m oldname newname
  • git branch -m newname

git学习 本地常用操作01的更多相关文章

  1. Git单人本地仓库操作

    本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...

  2. git入门(4)团队中git保管代码常用操作

    在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1· ...

  3. Git安装与常用操作

    Git作为一个版本控制工具,使用前需进行下载安装:可自行到官网下载. 一.安装(windows) 1.双击下载好的文件进行安装,弹窗中点击"next" 2.默认勾选,继续点击&qu ...

  4. ubuntu的学习教程(常用操作)

    摘要 最近在学习linux,把自己学习过程中遇到的常用操作以及一些有助于理解的内容记录下来.我主要用的是ubuntu系统 命令提示符 '~' 这个是指用户的家目录,用户分为root用户和普通用户,ro ...

  5. Git入门与常用操作简述

    下载gitbash及使用指南: http://rogerdudler.github.io/git-guide/index.zh.html 初次使用 配置用户名和邮箱: $ git config --g ...

  6. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  7. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  8. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  9. git工作中常用操作总结

    这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...

随机推荐

  1. HttpWebRequest后台读取网页类

    using System;using System.Linq;using System.Collections.Generic;using System.Web;using System.Config ...

  2. We7<001>--We7 CMS之报错: HTTP 错误 404.0 - Not Found 您要找的资源已被删除、已更名或暂时不可用。

    根据教程--http://wenku.baidu.com/link?url=8_Jcl0TY-n1RPWRBzfvrFZNrik0YIrqJAE_IFbNk-ibqLA7kZIkOu1efaYvmGr ...

  3. php面试题之五——PHP综合应用(高级部分)

    五.PHP综合应用 1.写出下列服务的用途和默认端口(新浪网技术部) ftp.ssh.http.telnet.https ftp:File Transfer Protocol,文件传输协议,是应用层的 ...

  4. Mysql跨平台(Windows,Linux,Mac)使用与安装

    MySQL其实是一个跨平台的轻量级数据库,平时开发会用到很多.有写程序可能要跨平台开发,接下来我就介绍一下如何跨平台使用Mysql. 这里所谓的跨平台就是Windows,Linux,Mac共同用一套M ...

  5. Systemd入门教程:命令篇

    导读 传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)来处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方 ...

  6. VS2010调用Com组件

    Com组件开发过程中用的不多,资料也不多,故记录开发Com组件中的部分问题. 在这一篇文章里,讲解了如何使用VS2010创建Com组件.现在基于该文章创建的Com组件接口,创建VC++项目来调用该接口 ...

  7. .NET Reflector 7.6.1.824 Edition .NET程序反编译神器(附插件安装教程2012-10-13更新) 完全破解+使用教程

    原文来自VAllen cnblogs 一.使用教程1.解压后,双击Reflector.exe,如果有选择默认版本的.Net Framework,根据需要选择即可.你选择的版本不同则出现的默认程序集也不 ...

  8. JavaScript或jQuery模拟点击超链接和按钮

    有时候我们需要页面自动点击超链接或者按钮,可以用js或者jQuery利用程序去点击,方法很简单,按钮或超链接代码如下: <a href="url" target=" ...

  9. DP:Space Elevator(POJ 2392)

    太空电梯 题目大意:一群牛想造电梯到太空,电梯都是由一个一个块组成的,每一种块不能超过这个类型的高度,且每一种块都有各自的高度,有固定数量,问最高能造多高. 这题就是1742的翻版,对ai排个序就可以 ...

  10. 【Qt】学习笔记(一)

    1.setupUi(this) : setupUi(this)是由.ui文件生成的类的构造函数这个函数的作用是对界面进行初始化它按照我们在Qt设计器里设计的样子把窗体画出来 setupUi(this) ...