用过sourceTree,egit(eclipse中的git插件),最后还是感觉git bash顺手;svn早已经不用;

  先上几个原来看过的git 教程……书读百遍,其义自见。多看几篇文章才能总结经验, 明辨是非;

  • 廖雪峰 git教程 :

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

  • 阮一峰git教程:

http://www.ruanyifeng.com/blog/2014/06/git_remote.html

  • 无名侠git教程:

http://www.yiibai.com/git/home.html


看完后还是要自己动手,遇到问题然后解决。浓缩下git教程


git总体的流程图

git有三种状态:Change, Staged, Committed。

Change(Unstaged):你改动了一个,没有调用任何git命令前,就是这种状态。

Staged:调用git add或者git commit -a之后,进入Staged状态,表示申明要变动了。

Committed:Commit,生成新的版本commit号,进入此状态。

  • git init:初始化一个目录,其实就是加了一个.git的隐藏目录

  • git clone:远程复制一个完整的repository到本地,比如git clone

    git://github.com/schacon/simplegit.git,就是从git://github.com/schacon/simplegit.git这个地址clone到本地当前目录。

  • git add:把一个文件从change->staged状态。git add

    test.txt。注意,不仅仅是添加新文件,修改现有文件也要git add来修改状态,否则git不会考虑将之commit。(当然可以git

  • git status:刚添加完,还没commit,这时候就能用git status

    -s看看当前修改和仓库里面差别多少,可以看到有多少文件被新增了,多少被修改了,多少被删除了。加个-s用简洁模式查看。一般在git commit之前看一把。

  • git diff:不加参数比较当前修改的文件和上次commit在仓库里面的区别。git diff

    develop,查看当前版本和develop分支的差异。如果想比较某个目录下的文件,可以用git diff –

  • git commit:git commit -m ‘message

    here’。提交到仓库,必须要一个message。如果嫌每次都是先git add,再git commit,很麻烦的话,直接git

    commit -am ‘message’,带上-a后全部一把进去。

  • git reset:撤销某次提交。最普通用法,git reset HEAD –

    file,将某个文件从staged状态->unstaged状态,这文件也不能被commit了。git reset –hard

    HEAD~1,回退到当前HEAD之前的一个版本。

  • git branch:不带任何参数,就是看当前目录有多少分支,默认init后一般会有一个master。git branch

    develop,创建一个develop分支。git branch -d

  • git checkout:快速切换分支,比如git checkout

    develop,马上切换到develop分支。这个地方我觉得git很牛逼,不用换目录,立马换一套context。

  • git tag:git tag -a

    v1.0,将最后一次commit(HEAD)标记为永久的v1.0版本。如果要给以前某次commit打tag,也可以加上提交的版本号就行(版本号可以通过git

  • git remote:列出所有的远程仓库。从别处clone来的,默认都会有一个别名”origin”的仓库。带上-v可以看到具体URL。git

    remote

    add/rw,添加/删除远程仓库地址。其实这些操作都是在本地,并没有实际牵涉到远程。另外github里面folk过来的,默认叫”upstream”。

  • git fetch:从远程下载分支。git fetch upstream

    A:B,将远程仓库upstream下的A分支下载到本地,本地叫B分支。如果不带A:B参数,则下载以后,可能会叫upstream/A(如果远程是A分支的话),远程分支要通过git

    branch -r查看。一般的做法是先git fetch upstream

    master:tmp(将远程的master先下载到本地的tmp分支,然后git diff

    tmp看看本地master和tmp的区别,没问题的话再git merge tmp。这样比直接git pull upstream来的安全。

  • git pull:同fetch,只是下载以后,直接进行merge。比如git pull upstream

    master,就直接将upstream下载下来,与本地的master合并。

  • git push:git push origin

    A:B,将本地的A分支push到远程仓库origin下,并叫做B。如果省略:B,那么一般本地和远程的分支同名。特殊情况:删除远程分支可用通过push一个本地空分支来做到。git push origin :B,push一个空分支到origin下的B,即删除了远程分支B

GIT命令(急速学习)的更多相关文章

  1. 程序员必备基础:Git 命令全方位学习

    前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...

  2. git 命令的学习

    我们在安装好gitlab 之后就是怎么使用它了,这里我选择http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b806 ...

  3. Git命令行学习积累

    1.远程分支拉取到本地 $ git checkout -b develop origin/develop //检出远程的develop分支到本地 2.本地分支推送到远程 $ git checkout ...

  4. 常用Git命令大全思维导图

    开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家. 高清大图在线预览 http: ...

  5. Git项目协同开发学习笔记1:项目库开发基础git命令

    这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...

  6. Git命令学习之旅——日志和穿梭版本号

    在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入 ...

  7. Git学习笔记01--常用Git命令、cmd命令及Git总结性知识

    资源:外国网友制作的 Git Cheat Sheet 第二次学习廖雪峰老师的Git教程,学习过程中把教程中涉及到的Git命令及总结性知识记录下来方便二次复习. 知识点 所有的版本控制系统,其实只能跟踪 ...

  8. 码云配合git入门命令总结学习

    目录 码云配合git入门命令总结学习 基本设置 基本命令总结学习 准备工作以及基本思路 基本命令 码云搭建仓库步骤 准备前工作 具体操作方法 远程仓库基本命令 标签相关命令 所有命令总结 基本命令总结 ...

  9. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

随机推荐

  1. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。

    package a; public class Wanshu { public static void main(String[] args) { for (int i = 1; i <= 10 ...

  2. C#无需IIS构建XmlRpc服务器

    准备 我们使用CookComputing.XmlRpcServerV2 3.0.0来构建XmlRpc服务器. 新建一个控制台项目,在项目中添加对CookComputing.XmlRpcServerV2 ...

  3. mysql更改已有数据表的字符集,保留原有数据内容

    mysql更改已有数据表的字符集,保留原有数据内容     原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...

  4. Set Font Properties On Mouse Hover Of Push Button And Text Items At Run time In Oracle Forms

    Change the font size and weight of text items and push buttons on mouse hover in Oracle Forms.   An ...

  5. hdu 3535 AreYouBusy 分组背包

    AreYouBusy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Probl ...

  6. 【T-SQL系列】WITH ROLLUP、WITH CUBE、GROUPING语句的应用

    CUBE 和 ROLLUP 之间的区别在于:CUBE 运算符生成的结果集是多维数据集.多维数据集是事实数据的扩展,事实数据即记录个别事件的数据.扩展建立在用户打算分析的列上.这些列被称为维.多维数据集 ...

  7. HDU 1003 Max Sum 解题报告

    题目大意:求一串数字中,几个连续数字加起来最大值,并确定起始和最末的位置. 思路:这是一题DP题,但是可以用尺取法来做.我一开始不会,也是看了某大神的代码,然后有人告诉我这是尺取法,现在会了. //尺 ...

  8. Spring JDBC主从数据库配置

    通过昨天学习的自定义配置注释的知识,探索了解一下web主从数据库的配置: 背景:主从数据库:主要是数据上的读写分离: 数据库的读写分离的好处? 1. 将读操作和写操作分离到不同的数据库上,避免主服务器 ...

  9. Http状态总结

    常见的http状态总结: 如果向您的服务器发出了某项请求要求显示您网站上的某个网页,那么,您的服务器会返回 HTTP 状态代码以响应该请求.一些常见的状态代码为: 200 - 服务器成功返回网页 40 ...

  10. android模拟器中文乱码

    问题:在xml文件中设置的中文能正确输出,但是在java文件中设置的中文会在模拟器上呈现乱码 解决方案:在build.gradle文件中添加一行代码 android {compileOptions.e ...