Vim+Gig是在服务器端开发再合适不过的神器!这里只是对自己平常工作中常常使用到的git命令做一个小小的总结,方便程序员开发和版本控制!

git的配置文件
1、git有三个级别的配置文件,分别是版本库级别的配置文件、全局配置文件(用户家目录下)、系统配置文件(安装git的时候所在的目录,一般情况下是在/etc/)。它们的有限级别如下,.git 目录下的config文件配置会覆盖用户家目录下的配置文件,而用户家目录的配置文件会覆盖系统的git配置文件
2、git config -e 对版本库中的.git/config 文件进行编辑
git config -e --global 对主目录下的.gitconfig文件进行编辑
git config -e --system 对系统级别的配置文件进行编辑
3、git config <section> . <key> 用来读取某个配置节下的对应键
git config <section> . <key> 用来设置某个配置接下的对应键

git --version
查看当前git的版本

初始化代码仓库(此时在当前目录下,就会多一个 .git 的目录,就是代码仓库)
git init

git config --global user.name 'zero'
git config --global user.email 'maweibinguo@163.com' (自报家门)
git config --global color.ur true(在命令行中开启颜色显示)
对git进行配置

git rev-parse --git-dir
显示版本库.git目录所在的位置

git status -s
功能:用来比较,当前的工作目录和缓存区的状态
??:该文件还没有被git进行追踪
A:当前工作目录同缓存文件相比,新增加的文件
M:当前目录同缓冲区相比,已经进行了改变(Modify)
D: 当前目录同缓冲区相比,删除的文件

注意:git status 是以缓冲区中的内容为标准的,所有的AMD都是以缓冲区的内容为准,经过同缓冲区的对比,发现当前工作区进行了AMD等操作

git diff
功能:如果没有其他参数,git diff 会显示自从你上次提交快照之后尚未缓存的所有更改
注意:对比的参照点仍然是缓冲区中的内容,将当期那工作目录中的文件同缓冲区做对比

git diff --cached
功能:将缓冲区的内容同快照中的内容进行对比

git diff HEAD
功能:将当前工作目录中的文件,同快照中的内容进行对比,HEAD(当前工作分支)

git commit -m '对本次提交的快照的说明'
功能:将缓冲区中的内容添形成一次快照(也就是打一个版本)

git commit -am '对本次提交的说明'
功能:同git commit -m 的功能类似,但是,由于多了一个a参数。这样就有一个隐含的操作,将已经追踪的文件先进行自动提交(注意:是已经追踪到的文件)!

git log :
功能:显示从最近到最远的提交日志
个人体会是,我们最想要的就是commmitid和对本次提交的说明

git reset --hard commitid
功能:回到指定的某个版本,注意,是连通当前的工作区一起回去,很可怕的一个命令。如果你并没有对当前的工作目录进行提交,而且还执行了这个操作,那么就杯具了,你上次提交后所有的更改内容就全部丢失而来,本人在这方面就犯了很大的错误!想想都是血泪啊!

git reflog
功能:用来记录你的每一次命令,这样我们就可以看到所有的commitid了(而git log只能够用来查看当前版本的commitid以及以前提交版本的commitid)

git checkout -- file
功能:将缓冲区或者快照中的指定文件恢复到当前的工作目录
注意:--是必须要写的,如果不写的话,就成为了分支的切换。
同时,我们应该明白,恢复的先后顺序。执行完改命令后,如果缓冲区中有该文件的话,那么工作目录就会恢复到缓冲区的样子!如果缓冲区没有文件的话,那么就会恢复到最新提交的版本上面!

git reset HEAD file
功能:将缓冲区中的指定文件,回退到最新的一次commit版本。
这个命令还是很有用的,如果我们误操作了,并且进行了add,那么此时再用 git checkout --file 恢复工作区中的内容的话,就没有任何效果了!但是执行git reset HEAD file这个命令,就可以将最新一次的commit中的file文件拉回到缓冲区中,然后在通过git checkout -- file命令,恢复到工作区中!

git branch
功能:展现当前的所有分支,前面带有 "*" 是所在分支

git branch 分支名
功能:创建一个新的分支

git checkout -b 分支名
功能:创建新分支,并切换到改分支上

git branch -d 分支名
功能:删除指定的分支(不可以删除当前所在分支)

git checkout 分支名
功能:用于在不同的分支之间进行切换
注意:由于版本的不同,在操作上可能有所不同!在某些版本上必须先进行git add , commit 之后,才能进行分支的切换!(1.8.3之前的貌似都需要提交才行),而有的分支则不需要进行此操作!

git merge 分支名
功能:将指定的分支合并到当前的分支
关于分支的合并我想说一下,自己的理解,个人认为所谓合并,其实是对所有修改的合并!这里举个例子说明会更好一些:
A作家写初步完成了一篇长篇小说的初稿,但是呢仍然需要对这篇长篇小说进行修修改改!处于对质量的严格要求!此时A作家找到了B作家,希望B作家提出宝贵的意见,让他对这篇小说也进行修改!等修改的差不多了,A作家,就让B作家把他的修改内容发给A作家,A作家再将B作家的修改添加到自己既有的修改上面!(--这应该就是合并)
如果A作家的修改的内容,B作家也进行了修改,那么就有A作家去决定改要谁的修改!(--这就是解决冲突)

Git常用的简单命令相关推荐

  1. git常用基本简单命令

    为什么80%的码农都做不了架构师?>>>    git 初始化设置 $ git config --global user.name "John Doe" $ gi ...

  2. git的一些简单命令(git clone,git branch,git checkout。。。)

    1.git clone 命令 $ git clone <版本库的网址> 比如,克隆jQuery的版本库. $ git clone https://github.com/jquery/jqu ...

  3. GIT常用的基础命令

    1.起步 用户信息 配置你个人的用户名称和电子邮件地址.这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录: $ git config ...

  4. linux常用的简单命令(三)tar、scp、df/du、ps、free、top、netstat、tcpdump、kill、reboot/halt/poweroff、shutdown

    转自: https://blog.csdn.net/derpvailzhangfan/article/details/5445820 1.1     打包解包命令(tar) 常用打包命令:tar,一般 ...

  5. 【git常用的Linux命令】熟记

    七七七

  6. 【git 常用配置及常用命令】

    git 常用命令配置 git 常用配置及命令 1.1 git 邮箱配置 1.1.1 git alise 别名配置 1.1.2 git vim 编辑器配置 1.1.3 在本地创建远程分支并切换 1.1. ...

  7. 达内linux root密码,【达内课堂】 11个最常用的Linux简单命令

    叮叮叮~上课啦!各位同学,今天达妹为大家收集了11个最常用Linux简单命令,火速收藏起来吧! 1.# 表示权限用户(如:root),$ 表示普通用户 开机提示ogin:输入用户名 password: ...

  8. GIT常用命令以及使用详解图示

    1配置个人信息,方便提交代码管理 获取Git配置信息,执行以下命令: git config --list 如果你还没有设置名字 user.name 和 user.email的话,可以用以下指令设置: ...

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

    1. 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品--Git.它的出现改变了软件开发流程,大大地提高了开发流畅度,直到现在仍十分流行,完全没有衰退 ...

  10. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git commit 提交  git branch -a 查看所有的分支 git branch ...

最新文章

  1. 找出netstat -tan命令的结果中以'LISTEN'后跟0、1或多个空白字符结尾的行
  2. rails 常用方法
  3. 马云:蚂蚁金服这样做区块链!
  4. MongoDB最新4.2.7版本三分片集群修改IP实操演练
  5. 蓝桥杯基础模块1:LED跑马灯
  6. c语言子查询返回子菜单,T-SQL基础(三)之子查询与表表达式
  7. java数据包解析_请教http请求数据包如何解析 重组
  8. java时间聚类_mongodb 按照时间聚类 java
  9. java 获取web目录结构_Intellij Idea Javaweb 目录结构及获取项目内资源
  10. List.remove(i)报错:问题分析与解决
  11. Com原理及應用——Com對象和接口
  12. 10截图时屏幕变大_解锁电脑更多的截屏姿势:Win 10中自带的七种截图方法
  13. #脚本实现宠物动作行为_短视频剧情创作方法有哪些?爆款短视频的标配,只需88个脚本模板...
  14. Qt QLabel双击编辑接口
  15. 三星s8 android9.0官方rom,三星S8港版安卓9官方固件rom刷机包:TGY-G9500ZHU3DSD3
  16. cad填充图案乱理石_CAD填充图案文件在哪个文件夹里?
  17. 华三OSPF多区域配置实例
  18. 第五次作业:Excel制作英文课程表
  19. selenium模拟登陆163邮箱
  20. 继电器驱动电路使用笔记

热门文章

  1. 84相似标准形05——有理标准形的不变因子、矩阵的有理标准形
  2. Mysql数据库安装和配置
  3. 音频频谱特效 jaVa_基于Matlab dsp工具箱 的实时音频采集及频谱显示
  4. 蓝桥杯2021年第十二届C++省赛第一题-空间
  5. Ubuntu 下的根目录为
  6. Eclipse 使用和问题总结
  7. 【安装包】XMind-ZEN-Update-2019-for-Windows-64bit-9.2.1
  8. Android 柱状图(自定义View)
  9. MySQL优化(二)
  10. 迅为IMX6Q PLUS开发板烧写Android6.0系统方法