开始的时候

  git config --global user.name "Your Name"
git config --global user.email "email@example.com"

查看你的信息

 git config --list

克隆仓库

 git clone  [url]

版本库

 mkdir learngit
cd learngit
pwd
/Users/michael/learngit
初始化:
git init

文件添加到版本库

 #创建文件
vim readme.txt
cat readme.txt
Git is a version control system.
Git is free software.
#文件添加到仓库
git add readme.txt
#把文件提交到仓库
git commit -m "wrote a readme file"

跳过使用暂存区(不适用git  add)

 git   commit -a -m  "说明的文字"

 只需要加个-a选项

查看状态

git  status  #查看状态
git diff readme.txt #比较文件上次修改的东西,,比较当前工作目录中的文件和暂存区域快照之间的差异,只是显示尚未暂存的改动
git diff --cached #已经暂存的将要添加到下次提交里的内容
  git  status
[root@pup learngit]# git status
# On branch master
nothing to commit (working directory clean)
修改文件后在查看
[root@pup learngit]# vim readme.txt
[root@pup learngit]# git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .readme.txt.swp
no changes added to commit (use "git add" and/or "git commit -a")
[root@pup learngit]# git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 4dfbf00..a6cb86a
--- a/readme.txt
+++ b/readme.txt
@@ -, +, @@
Git is a distributed version control system.
Git is free software distributed under the GPL
-
+

移除文件(从暂存区中移除)

git   rm   文件   #会连带从工作目录中删除指定的文件
git rm -f 文件 #删除之前修改过并且已经放到暂存区域的文件,不可恢复
git rm --cached 文件 #从暂存区域移除但是文件依然保留在当前工作目录中

移动文件(给文件改名字)

git mv README.md README
相当于
$ mv README.md README
$ git rm README.md
$ git add README

版本回退

 git  log  #命令显示从最近到最远的提交日志
git log --pretty=oneline #简洁的显示
git log -p -2 #-p 每次提交的内容差异,-2最近两次提交
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,一般写成HEAD~
git reset --hard HEAD^ #回退到上一个版本
git reflog查看命令历史,以便确定要回到未来的哪个版本
回退:
git reset --hard commit_id
回到未来
git reset --hard commit_id

定制要显示的记录格式

git log --pretty=format   格式

例如:

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

工作区和暂存区概念理解

 git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
从来没被添加过的文件状态是Untracked

具体过程如下:

刚开始:参考这里

文件修改提交

最后

撤销修改

1,当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时

 git checkout -- file
git checkout -- readme.txt

2当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,返回到以前的工作区的内容

git reset HEAD  文件   #从暂存区返回到工作区

3提交了(commit)了但是可能漏了几个文件没有(add)添加或者提交信息写错了,这是运行

git commit --amend     #尝试重新提交

eg

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
												

git常用命令的更多相关文章

  1. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  2. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  3. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  4. Git常用命令总结

    Git常用命令总结 git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone ...

  5. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  6. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  7. git常用命令-基本操作

    git常用命令-基本操作 1)      新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...

  8. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  9. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

  10. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. C#开发微信门户及应用(22)-微信小店的开发和使用

    在做企业电子商务方面,微信小店虽然较淘宝天猫等起步较晚,但是作为一个电商平台,这个影响力不容忽视,结合微信的特点和便利,微信小店具有很好的粘合性和广泛的用户基础,因此花费一定的时间,在这方面做深入的研 ...

  2. JavaWeb_day08_EL JSTL

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day08 EL JSTL EL表达式 语法:${} ...

  3. 使用命令 gradle uploadArchives 的异常: Unable to initialize POM pom-default.xml: Failed to validate POM for project

    在使用:gradle uploadArchives 命令对项目进行上传maven时,常常遇到如下报错: 这时候要仔细的检查一下build.gradle文件中的dependencies内容,很多时候是由 ...

  4. PHP 装饰器模式

    装饰器模式:是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能. [装饰器模式中主要角色] 抽象组件角色(Component):定义一个对象接口,以规范准备接受附加责任的对象,即可以给这 ...

  5. GJM: 设计模式 - 模板方法模式(Template Method)

    生活中的模板 一.在银行办理业务 Step1:进门取号 Step2:填写单据 Step3:等待叫号 Step4:窗口办理 二.奥运会开幕式 第一步:升国旗奏国歌 第二步:领导人致辞讲话 第三部: 文艺 ...

  6. php静态缓存简单制作

    制作缓存的目的是为了让我们的页面运行更加快速,减少读取数据库内容的次数,给用户更好的体验,为此我们可以使自己的程序做一下缓存,并且设置一个缓存过期的时间,来保证与数据库的一致,当然并不是所有的程序都适 ...

  7. 【JS基础】数组

    filter() 返回数组中的满足回调函数中指定的条件的元素. array1.filter(callbackfn[, thisArg]) 对数组array1中的每个元素调用回调函数callbackfn ...

  8. html5 canvas 详细使用教程

    转载自 http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝 ...

  9. Cocos2dx中线程优先级

    Cocos2dx中线程优先级问题 不论是ios还是android,遇到耗时的任务都要另起线程处理,否则程序不能及时用户的反馈.游戏中如果一圈循环不能在1/frameRate(帧率是30则1/30)秒内 ...

  10. 【代码笔记】iOS-一个tableView,两个section

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...