到新公司学习和使用 git 有一段时间了。不得不说 git 真的很牛逼,当然,git 的牛逼是建立在 Linux 之父的牛逼的基础上的。

  首先跪着推荐 git 学习网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

  下面说说常用的 git 命令:

    Linux下安装git:  sudo apt-get install git

    配置git:  git config --global user.name "Tony"

           git config --global user.email "tony@gmail.com"

    检验(查看)git 配置:  git config --list

    在某个目录下创建一个仓库:  cd 到指定目录→ git init        (创建代码仓库,在该目录下生成隐藏 .git 文件夹)

    添加某个文件:  git add test.xml

    添加某个目录:  git add src

    添加所有当前目录下面所有文件:  git add .

    提交代码:  git commit   (然后填写提交信息)

    提交代码同时填写提交信息:  git commit -m "it is first commit"

    以补丁的形式提交代码:  git commit --amend  (然后修改或者追加提交信息)

    查看修改情况:  git status  (查看可提交的内容)

    查看修改的内容:  git diff

    查看某个文件修改的内容:  git diff aaa/bbb/test.xml

    撤销未提交的修改:  git checkout aaa/bbb/test.xml  (单个文件)

    撤销所有未提交的修改:  git checkout .

    撤销已提交的修改:  先 git reset HEAD aaa/bbb/test.xml

                 再 git checkout aaa/bbb/test.xml

    查看提交记录日志:  git log

    查看所有所有提交记录:  git reflog

    返回到上一次提交:  git reset HEAD

    返回到某一次提交的HEAD :  git reset --hard <commit id>

    返回到某一次提交的HEAD:   git reset --soft <commit id>

    查看本地分支:  git branch

    查看所有分支:  git branch -a

    创建新的分支:  git branch <newBranchName> [<start-point>]  不指定 start-point 则基于HEAD创建本地分支   如: git branch branch1.0  (基于HEAD创建一个新的分支,名为 branch1.0)

    切换分支:  git checkout branch1.0  (切换到分支branch1.0)

    创建并切换分支:  git checkout -b <newBranchName> [<start-point>]

    合并分支:  git checkout master

           git merge branch1.0  (将分支 branch1.0合并到啊master分支)

    删除分支:  git checkout master

           git branch -D branch1.0  (删除分支branch1.0,必须先切换到其他分支)

    跨分支:  cherry-pick:  git cherry-pick <commit id>

  与远程版本库的协作:

    假设一远程版本库的 git 地址为 https://github.com/test.git

    下载到本地:  git clone https://github.com/test.git

    本地修改和提交之后,同步到远程版本库:  git push origin master

    远程版本库同步到本地:  git pull origin master

    远程版本库同步到本地并解决冲突:  git pull origin master --rebase

    当然还有更多命令:比如 git rebase...  git stash...等等。

    

    

    

    

    

    

菜鸟学习 git的更多相关文章

  1. 学习 git基础命令

    缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...

  2. 学习Git的总结与体会

    学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...

  3. 【菜鸟学习jquery源码】数据缓存与data()

    前言 最近比较烦,深圳的工作还没着落,论文不想弄,烦.....今天看了下jquery的数据缓存的代码,参考着Aaron的源码分析,自己有点理解了,和大家分享下.以后也打算把自己的jquery的学习心得 ...

  4. 深入理解学习Git工作流

    http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...

  5. [转]深入理解学习GIT工作流

    深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...

  6. 记录我开始学习 Git的路程

    工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...

  7. 菜鸟学习Andriod-弹窗

    菜鸟学习Andriod-弹窗 return new AlertDialog.Builder(ZyScreenSaver.this).setIcon( R.drawable.ic_launcher).s ...

  8. 菜鸟学习SSH——目录

    菜鸟学习Struts--配置Struts环境 菜鸟学习Struts--简易计算器 菜鸟学习Struts--bean标签库 菜鸟学习Struts--Scope属性 菜鸟学习Struts--国际化 菜鸟学 ...

  9. 菜鸟学习Spring——60s配置XML方法实现简单AOP

    一.概述. 上一篇博客讲述了用注解的形式实现AOP现在讲述另外一种AOP实现的方式利用XML来实现AOP. 二.代码演示. 准备工作参照上一篇博客<菜鸟学习Spring--60s使用annota ...

随机推荐

  1. CodeForces Round #278 (Div.2) (待续)

    A 这么简单的题直接贴代码好了. #include <cstdio> #include <cmath> using namespace std; bool islucky(in ...

  2. fancybox 在打开窗口前 先执行 js脚本,fancybox设置只能通过右上角关闭,fancybox遮罩层关闭

    在默认情况下,fancybox点击之后弹出窗口,右上角带有一个XX,但是点击窗口的其他遮罩层或者是其他地方,都是可以关闭fancybox的,有些时候,我们不希望这样关闭,而是只能点击右上角关闭,那么设 ...

  3. Android获取SharedPreferences失败,且App无法启动

    说明: 一个app访问另外一个app的SharedPreferences,程序启动之后没有显示界面就卡死了,无任何提示信息. 错误原因: 应用调用createPackageContext失败,但是也不 ...

  4. POJ 2942 Knights of the Round Table (点双连通分量)

    题意:多个骑士要开会,3人及以上才能凑一桌,其中部分人已经互相讨厌,肯定不坐在同一桌的相邻位置,而且一桌只能奇数个人才能开台.给出多个人的互相讨厌图,要求多少人开不成会(注:会议不要求同时进行,一个人 ...

  5. 02day1

    淘汰赛制 递推 [问题描述] 淘汰赛制是一种极其残酷的比赛制度.2^n名选手分别标号1,2,3,…,2^n-1,2^n,他们将要参加n轮的激烈角逐.每一轮中,将所有参加该轮的选手按标号从小到大排序后, ...

  6. 【转】自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer) --- 不错

    原文网址:http://blog.csdn.net/joonsheng/article/details/41362499 序 说到自定义UINavigetionController的返回按钮,iOS7 ...

  7. 【转】setTag()/getTag()

    原文网址:http://www.cnblogs.com/topcoderliu/archive/2011/06/07/2074419.html View中的setTag(Onbect)表示给View添 ...

  8. Android -- Support包特性

    干货 每一个 Support 包版本后缀 vX 所代表的含义是他能够被使用的最低版本等级.之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如 ...

  9. hadoop 权限错误 Permission denied: user=root, access=WRITE, inode="/":hdfs:super

    关于不能执行Hadoop命令 并报权限问题执行错误1.Permission denied: user=root, access=WRITE, inode="/":hdfs:supe ...

  10. LeetCode题解——4Sum

    题目: 给定一个数组,找出其中和为0的所有4个数组合,每个组合内的4个数非递降. 解法: ①先排序,然后利用4个指针,前两个遍历,后两个在第二个指针之后的部分里夹逼,时间O(N3). ②或者利用一个哈 ...