菜鸟学习 git
到新公司学习和使用 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的更多相关文章
- 学习 git基础命令
缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...
- 学习Git的总结与体会
学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...
- 【菜鸟学习jquery源码】数据缓存与data()
前言 最近比较烦,深圳的工作还没着落,论文不想弄,烦.....今天看了下jquery的数据缓存的代码,参考着Aaron的源码分析,自己有点理解了,和大家分享下.以后也打算把自己的jquery的学习心得 ...
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- 记录我开始学习 Git的路程
工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...
- 菜鸟学习Andriod-弹窗
菜鸟学习Andriod-弹窗 return new AlertDialog.Builder(ZyScreenSaver.this).setIcon( R.drawable.ic_launcher).s ...
- 菜鸟学习SSH——目录
菜鸟学习Struts--配置Struts环境 菜鸟学习Struts--简易计算器 菜鸟学习Struts--bean标签库 菜鸟学习Struts--Scope属性 菜鸟学习Struts--国际化 菜鸟学 ...
- 菜鸟学习Spring——60s配置XML方法实现简单AOP
一.概述. 上一篇博客讲述了用注解的形式实现AOP现在讲述另外一种AOP实现的方式利用XML来实现AOP. 二.代码演示. 准备工作参照上一篇博客<菜鸟学习Spring--60s使用annota ...
随机推荐
- PHPnow 升级后 PHP不支持GD、MySQL
来自http://tunps.com/php-unsupport-gd-and-mysql-after-upgrade-phpnow 最近磁盘格式化误操作后,最近两天都在忙于数据恢复,现在才恢复正常. ...
- 使用mp4v2将H264+AAC合成mp4文件
录制程序要添加新功能:录制CMMB电视节目,我们的板卡发送出来的是RTP流(H264视频和AAC音频),录制程序要做的工作是: (1)接收并解析RTP包,分离出H264和AAC数据流: (2)将H26 ...
- directdraw显示yuv视频,出现屏保时,yuv显示不出来,表面丢失
原因是: DDrawSurface 丢失, DDraw表面在很多情况下都会丢失(如:启动其他全屏独占程序,屏保,或锁屏时), 表面丢失其实就是表面所使用的内存或显存被DirectDraw系统释放, 分 ...
- HTML5和CSS3的学习视频
用Windows8和IE10开发HTML5网页视频教程专辑(Build New World) http://dreamdesign.csrjgzs.com/Article/ShowArticle.as ...
- Solr与Mysql简单集成
Solr与Mysql数据库的集成,实现全量索引.增量索引的创建. 基本原理很简单:在Solr项目中注册solr的DataImportHandler并配置Mysql数据源以及数据查询sql语句.当我们通 ...
- 你所不知道的 URL
0.说明 第一幕 产品:大叔有用户反映账户不能绑定公众号.大叔:啊咧咧?怎么可能,我看看?大叔:恩?这也没问题啊,魏虾米.大叔:还是没问题啊,挖叉类.大叔:T T,话说产品姐姐是不是Java提供接口的 ...
- HDU 5119 Happy Matt Friends
Happy Matt Friends Time Limit: 6000/6000 MS (Java/Others) Memory Limit: 510000/510000 K (Java/Others ...
- FTP文件上传与下载
实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式:使用jdk中的ftpClie ...
- gdb 技巧
现实数组: 比如说要显示a[10]中全部的内容用 p a显示的是地址,用p *a显示的是第一个元素显示全部或某一个:p (int [10])*a或者p *a@10 如果你使用 p *a@3 或 p * ...
- Codeforces Round #372 (Div. 1) B. Complete The Graph (枚举+最短路)
题目就是给你一个图,图中部分边没有赋权值,要求你把无权的边赋值,使得s->t的最短路为l. 卡了几周的题了,最后还是经群主大大指点……做出来的…… 思路就是跑最短路,然后改权值为最短路和L的差值 ...