1.git的状态分为working status,stage status和commit status。git diff查看的是working status和 stage status之间的不同,git diff --cached查看的是stage status和commit status之间的不同,git diff HEAD 查看的是当前working status和最近一次commit的commit status的不同。

2.使用git log命令可以按时间从近到远的顺序查看每次的commit记录。所显示的信息包括一串hash码,提交者姓名和Email和commit comments。如果要简化显示内容,我们可以输入git log --oneline命令,这样就会只显示 hash码和commit comments,而且显示在同一行中。

3.我们可以在命令行使用 git reset --hard <commit ID号> 或者 git reset --hard HEAD来进行回退。

4.可以使用git rm filename来删除working status中的文件。如果想删除文件夹,可以通过cd dirname,然后输入git rm -r . 命令删除整个文件夹,最后cd ..回到上一层来git commit。

5  git add -A #stages All

  git add .   #stages new and modified, without deleted

  git add -u #stages modified and deleted, without new

6.git rm from_filename to_filename意为给文件重命名,这一条指令相当于执行了mv from_filename to_filename,rm from_filename,和git add to_filename三条指令。

7.一个 .gitignore 例子。

    # 此为注释 – 将被 Git 忽略 
    # 忽略所有 .a 结尾的文件
    *.a  
    
# 但 lib.a 除外 
    !lib.a
    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO  
    /TODO
    
# 忽略 build/ 目录下的所有文件
    build/
    # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt 
    doc/*.txt 8.git checkout develop表示切换到develop分支。git checkout -- filename表示丢弃在working status的所有修改或者放弃删除某文件,回到上一次commit时候的文件状态。
9.git pull 相当于git fetch 和git merge的合并。在使用时尽量用gi fetch,然后对比更新情况,再手动合并。
例如
git fetch origin develop:tmp
git diff tmp 
git merge tmp
从远程的develop分支下载代码并新建tmp分支,然后对比本地所在分支与tmp分支的区别,最后进行合并。

10.git branch -r查看远程库的分支情况。git remote -v查看远程库的URL和名称。

11.git push origin :branch_you_want_to_delete   其中origin和冒号之间有空格,表示用本地的空分支取代远程分支,也就是达到了删除远程分支的目的。

       git push origin test:master         // 提交本地test分支 作为 远程的master分支
       git push origin test:test              // 提交本地test分支作为远程的test分支

git and github学习笔记的更多相关文章

  1. Git与GitHub 学习笔记

    以下信息来源于网络资料,并进行整理与精简 Git是目前世界上最先进的分布式版本控制系统,和svn,vss等一样都是进行版本控制的. GitHub是一个软件项目的托管平台,相当于自己建立的 svn服务器 ...

  2. git和github学习笔记

    1. 了解Git和Github 2. 使用Github 3. Git安装和使用 4. Git基本工作流程 5. Git初始化及仓库创建和操作 6. Git管理远程仓库 7. Github Pages ...

  3. eclipse使用git及github学习笔记

    项目托管 1.首先需要在github上建立一个远端仓库  点击Create repository后,会在github上建立相应的git仓库,并会出现如下界面: 复制https或者ssh的仓库地址,远端 ...

  4. Git与GitHub学习笔记(七)Windows 配置Github ssh key

    前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...

  5. Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件

    一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 问题:最近 ...

  6. Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上

    前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...

  7. Git与GitHub学习笔记(五)一次提交失败的记录

    代码已经跟踪了,添加注释说明,但是总是添加不了 error: pathspec 'live-page'' did not match any file(s) known to git. 重复了好多遍, ...

  8. Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档

    前言 你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程.近期 Github Pages 的改进使得从不同的数据源 ...

  9. Git与GitHub学习笔记(一)如何删除github里面的文件夹?

    按照以下步骤即可(本地删除) 1. git pull you git url2. git checkout 3. rm -r dirName4. git add --all5. git commit  ...

随机推荐

  1. C++的优秀特性3:构造函数和析构函数

    (转载请注明原创于潘多拉盒子) 构造函数和析构函数是C++中再熟悉不过的概念了,几乎每个了解一点C++的人都知道这两个概念是什么意思.一个对象的全部生命期中构造函数和析构函数执行的时机如下: 1. 为 ...

  2. Mysql的存储过程(以Mysql为例进行讲解)

       我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 在数据库中,用户通过指定存 ...

  3. zTree实现基本树

    zTree实现基本树 1.实现源代码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</title ...

  4. jQuery循环滚动新闻列表

    最近由于项目原因,学习了下jquery,实现了一个小小的功能,就是点击公告的上一条下一条来查看滚动条.具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DT ...

  5. Visual Studio 2015 和 Apache Cordova

    英文原版:http://www.codeproject.com/Articles/860150/Visual-Studio-and-Apache-Cordova 在开始前,问一下自己下面这些问题: 熟 ...

  6. Codeforces Round #313 (Div. 1) A. Gerald's Hexagon 数学题

    A. Gerald's Hexagon Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/p ...

  7. 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式

    背景: 年11月,微软宣布作为ECMA国际主要合作伙伴,将其开发的基于XML的文件格式标准化,称之为"Office Open XML" .Open XML的引进使office文档结 ...

  8. Kubuntu(14.04)共享wifi(热点)

    笔记本(kubuntu14.04)通过有线上网,共享本机无线给手机.平板及其他通过wifi上网的设备. 曾经在网上找过各种方法.下载了非常多软件都不能在本机上实现wifi共享,以下这样的方法眼下相对简 ...

  9. vs 设置生成的实体为复数

  10. Android 百度地图定位(手动+自动) 安卓开发教程

    近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的.我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置.  经过2天研究 ...