注意:

  • 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. topo排序 + 用邻接表优化后的

    输入数据: 4 61 21 32 33 42 44 2 4 61 21 32 33 42 41 2 topo排序为偏序: #include<stdio.h> #include<que ...

  2. linux下搭建Nginx

    Linux上搭建nginx,及简单配置  在上家公司都是运维安装nginx,到新公司后代码开发完成部署测试服务器要求自己装nginx,研究了好久安装好之后,到正式上线还要自己安装,索性把安装步骤自己记 ...

  3. WinAPI【远程注入】三种注入方案【转】

    来源:http://www.cnblogs.com/okwary/archive/2008/12/20/1358788.html 导言: 我 们在Code project(www.codeprojec ...

  4. 背景透明的 Dialog

    一:控制Dialog 的背景方法:1.定义一个无背景主题主题 <!--去掉背景Dialog--> <style name="NobackDialog" paren ...

  5. 更改win7开机界面

    按“win+R”组合键,打开运行框,在打开框中输入"regedit”,单击“确定”. 打开注册表编辑器,依次展开注册表里: “HKEY_LOCAL_MACHINE---SOFTWARE--- ...

  6. HDU 1713 最小公倍数与最大公约数的问题 相遇周期

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) 相遇周期 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/ ...

  7. shell 生成指定范围随机数与随机字符串 .

    shell 生成指定范围随机数与随机字符串         分类:             shell              2014-04-22 22:17     20902人阅读     评 ...

  8. 利用zabbix监控某个目录大小

    近期,因为JMS的消息堆积导致ApacheMQ频率故障(消息没有被消费掉,导致其数据库达到1.2G,JMS此时直接挂掉),很是郁闷!刚好自 己在研究zabbix.既然zabbix如此强大,那么它可以监 ...

  9. 8个开发必备的PHP功能

    做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握. 1.传 ...

  10. UML基础:统一建模语言简介

    目录 背景知识 用例图 类图 序列图 状态图 活动图 组件图 部署图 结束语 英文原文:UML basics: An introduction to the Unified Modeling Lang ...