自己把命令弄出来方便以后看看,,应该有错的emmmm

原文地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840202368c74be33fbd884e71b570f2cc3c0d1dcf000(强烈推荐)

1.git官方下载 2.https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit国内镜(yun)像(pan)下载

/*******************************全局设置git*********************/
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
/***************************************************************/

$ mkdir 文件夹名 :创建文件夹
$ cd 文件夹名 :转到该目录
$ pwd :命令用于显示当前目录

/*******************************开始****************************/
$ git init :初始化仓库
$ git add <file> :添加文件到仓库
$ git commit -m <message> :提交并添加注解 -m是添加注解的意思 可以不添加注解,我也不知道听说要google于是我被墙了

$ git status :掌握仓库当前的状态
$ git diff <file> :顾名思义就是查看difference
$ git log :显示从最近到最远的提交日志 --pretty=oneline(显示一行) --graph(有线条性的图表显示) --abbrev-commit 退出按Q
$ git reset --hard HEAD^ :回退到上一个版本 后面可跟版本号,不一定要写完能确定就行
$ git reflog :记录每一次命令

/*******************************暂存区****************************/
当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,
在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,
也就是第一次的修改被提交了,第二次的修改不会被提交。
$ git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
/*****************************************************************/

/*******************************撤销删除**************************/
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:使用 $ git reset --hard commit_id 返回版本库

删除:$ rm <file>

/*****************************************************************/

/*******************************远程****************************/
远程仓库的默认名称是origin 远程分支的默认名称是master
$ git remote :查看远程信息 -v :更详细的信息
$ git remote add origin git@server-name:path/repo-name.git :连接远程库
$ git push -u origin master :把本地库的所有内容推送到远程库上 第一次推送需要加参数-u以后就正常使用 $ git push origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
$ git clone git@server-name:path/repo-name.git :将远程仓库克隆到本地 默认的git://使用ssh,但也可以使用https等其他协议。 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
$ git checkout -b dev origin/dev :在本地创建和远程分支对应的分支
$ git pull :获取
$ git push origin <branch-name> :推送
$ git branch --set-upstream-to=origin/dev dev :建立本地分支和远程分支的关联
/***************************************************************/

/***********************多人协作注意事项**********************************/
多人协作的工作模式通常是这样:

首先,可以试图用git push origin <branch-name>推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

这就是多人协作的工作模式,一旦熟悉了,就非常简单。
/****************************************************************/

/*******************************分支****************************/
Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name> 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

删除分支:git branch -d <name>

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

/************BUG分支******************/
$ git stash 将当前工作储藏起来 然后创建分支修复BUG之后再合并分支最后删除分支

工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:
/*************************************/

$ git checkout -b feature-xxxxxx 开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

/***************************************************************/

$ cat xxx.txt :查看文本内容
$ git rebase :rebase操作可以把本地未push的分叉提交历史整理成直线;
$ git add -f App.class :强制添加文件

/******************************标签*************************************/
命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;

命令git tag可以查看所有标签。

推送某个标签到远程,使用命令git push origin <tagname> --tags:推送所有未推送的本地标签
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:$ git tag -d v0.9
然后,从远程删除。删除命令也是push,但是格式如下:$ git push origin :refs/tags/v0.9

$ git push origin <tagname>可以推送一个本地标签;

$ git push origin --tags可以推送全部未推送过的本地标签;

$ git tag -d <tagname>可以删除一个本地标签;

$ git push origin :refs/tags/<tagname>可以删除一个远程标签。
/**********************************************************************/

git常用命令总结(资源来自廖雪峰)的更多相关文章

  1. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  2. Ubuntu常用命令及git常用命令

    1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...

  3. Git常用命令集锦

    本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...

  4. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...

  5. Git常用命令的使用方法

    推荐一个比较好的GIT的教学地址,廖雪峰老师的git教程! 这里简述Git常用命令的使用方法: 一.初始化git 右键进入 Git Bash 1.建立身份信息 git config --global ...

  6. Git 常用命令总结,掌握这些,轻松驾驭版本管理

    原创 最近公司的代码管理工具要从SVN转到Git上,因此虽然之前用过Git,但是都是一些简单的推送提交,因此还是有必要进行一些系统的学习,这里做一下笔记,以备后询,且不定期更新. 关于SVN和Git的 ...

  7. Git常用命令和基础使用

    Git 参考:廖雪峰的Git教程 Git 常用命令 git config --global user.name "name" #配置git使用用户 git config --glo ...

  8. Git 常用命令大全

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

  9. Git 常用命令2

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

随机推荐

  1. OC中重写set和get方法、懒加载

    在写OC程序的时候,在很多时候我们会用到重写set或者get方法,重写这两个方法大多是用于刷新数据,比如懒加载. 意思就是说当你去调用set或者get方法时,系统会去调用重写的get或者set方法,这 ...

  2. 因为曾经装过Mysql导致再次装时windows无法启动MySQL服务报错1067的解决方法

    找到这里 MySQL右击属性 检查这里的可执行文件的路径是否正确,因为我这里显示的是原先的文件夹所以会一直启动失败,修改一下 这里你去百度经验 windows服务修改可执行文件路径 网址https:/ ...

  3. shell 命令 grep -R 查询包含指定内容的文件

    grep -R 举个栗子,在有上百个sql文件的目录下,查找使用 spark引擎 执行的文件. 代码是: grep -R spark ./* 返回的就是包含  spark 的sql文件名.

  4. 强大的jQGrid的傻瓜式使用方法。以及一些注意事项,备有相应的引入文件。

    在介绍我的使用前,先按照国际惯例,列上网址http://blog.mn886.net/jqGrid/ 里面第一项就有相应的demo. 好,进入正题: 在学习到node.js的时候,需要使用到jQGri ...

  5. UnityTips:使用反射调用内部方法拓展编辑器

    大家都知道Unity是一个C/C++的游戏引擎,C#只是Unity提供的脚本层.因此大部分功能都是通过C#来调用底层的C++代码的.而一些朋友可能不知道的是,其实Unity的C#代码中也有很多方法是我 ...

  6. Windows 10 IoT Core 17133 for Insider 版本更新

    今天,微软发布了Windows 10 IoT Core 17133 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.用户可以登录Windows Device Porta ...

  7. [转]Kaldi语音识别

    转:http://ftli.farbox.com/post/kaldizhong-wen-shi-bie Kaldi语音识别 1.声学建模单元的选择 1.1对声学建模单元加入位置信息 2.输入特征 3 ...

  8. Android JNI 学习(三):JNI 数据类型和数据结构

    本文我们来讨论一下JNI如何将Java类型映射到本机C类型. 一.基本数据类型 如下图表整理了Java基本类型和native对应的关系: Java类型 Native类型 描述 boolean jboo ...

  9. Web前端JQuery面试题(三)

    Web前端JQuery面试题(三) 1.怎么阻止冒泡过程? stopPropagation(); // 阻止冒泡过程 2.ready()方法和onload()方法的区别? onload()方法要等页面 ...

  10. python Event_loop(事件循环)

    由于GIL全局解释器锁的存在,意味着在任何一个时刻,只有一个线程处于执行状态. (1)执行栈: 因为python是单线程的,同一时间只能执行一个方法,所以当一系列的方法被依次调用的时候,python会 ...