三个配置文件

  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用--system 选项,读写的就是这个文件。

  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用--global 选项,读写的就是这个文件。

  • 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖/etc/gitconfig 中的同名变量。

git三种状态

  • 已提交(committed)

  • 已修改(modified)

  • 已暂存(staged)

获取项目的git仓库

1
2
3
git init //从当前目录初始化
git clone gitosis@192.168.2.4:soul/soul //从现有仓库克隆
git --bare init //创建裸版本库

配置git仓库相关信息

1
2
git config user.name "yayun.tian"
git config user.email yayun.tian@soulinfo.com

检查当前文件状态

1
git status

跟踪新文件

1
2
git add <filename>
git add --all //一次性跟踪当前目录全部文件

.gitignore文件过滤

1、开放模式负责设置过滤哪些文件和文件夹,例如:

1
2
3
4
5
6
7
8
9
10
过滤文件夹设置:
/mtk/       //表示过滤这个文件夹
指定过滤某种类型的文件:
*.zip
*.rar
指定过滤某个文件:
/mtk/do.c
/mtk/if.h

2、保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。例如:

1
2
3
4
5
6
7
8
9
跟踪某个文件夹:
!/plutommi/mmi
跟踪某类文件:
!*.c
!*.h
跟踪某个指定文件:
!/plutommi/mmi/mmi_features.h

移除文件

1
git rm <filename> //移除暂存区的内容而且工作目录也连带删除

注:如果仅仅想删除暂存区可以加上--cached选项

提交

1
2
3
4
git diff --color //查看确认修改
git commit -a -m "comment" //comment代表此次修改的注释
git commit --amend //修改最后一次提交
如果忘记暂存某些文件就提交了,可以暂存后使用amend再次提交

注:加上-a表示把已经修改的文件全部提交,省去暂存的步骤

查看提交历史

1
2
3
4
git log
    -p //展开显示每次提交的差异
    -n //仅仅显示最近的n次提交
    --stat //仅显示每次修改的概要信息

注:图形化工具查阅提交历史gitk

对比操作

1
2
3
4
git diff //显示还没有暂存起来的改动
git diff --cached //已经暂存起来的文件和上次提交时的快照间的差异
git diff HEAD //查看当前工作目录和已经提交的差别
git diff --stat //查看文件改动的大概信息

补丁操作

1
2
3
4
5
6
7
8
生成补丁方式1:
    git diff > 补丁名称
    git apply 补丁名称
     
生成补丁方式2:
    git format-patch HEAD~
    patch -p1 < 补丁名称
    git am 补丁名称

注:对于git diff生成的patch,你可以用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中,生成的Patch兼容性强。

恢复命令reset

1
2
3
4
git reset HEAD <file//取消已经暂存的文件
git reset --mixed commit //默认方式,它回退到某个版本,只保留源码,回退commit和index信息(git diff可以查看到修改内容)
git reset --soft commit //回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(git diff --cached可以查看到修改内容)
git reset --hard commit //彻底回退到某个版本,源码也回退

分支操作

1
2
3
4
5
6
7
8
9
10
11
12
查看分支:
    git branch(本地)
    git branch -a(全部)
     
git branch testing //创建分支
git checkout testing //切换分支
git branch -m <old_branch_name> <new_branch_name> //重命名
git checkout -b <branch_name> //新建分支并切换
git checkout -b  <branch_name> origin/branch //新建分支并切换
git merge 待合并分支 需要合并分支 //合并分支 
git branch -d iss53 //删除以前的分支 强制删除-D
git branch 查看当前的分支 --v、--merge、--no-merge选项可

远程仓库操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
查看远程仓库:
    git remote //简单查看
    git remote -v //详细查看
     
git remote add <名称> gitosis@192.168.2.4:soul/soul-1 //添加远程仓库
git remote rename <old_name> <new_name> //重命名远程仓库
将远程分支更新到本地:
    git fetch //不会merge
    git pull //直接merge到本地
     
git push  远程仓库名 分支名 //推送到远程分支
推送本地所有分支:
    git push --all(默认origin)
    git push --all <仓库名>删除远程分支git push origin :<分支名>

本文转自 cyr520 51CTO博客,原文链接:http://blog.51cto.com/cyr520/1561361

GIT常用基础命令总结相关推荐

  1. linux常用基础命令整理

    linux常用基础命令整理 su - 用户名 ->切换到指定用户下 ls ------>查看当前目录下的目录及文件 clear ------>清理屏幕 cd 路径 -----> ...

  2. linux常用基础命令操作收集

    linux常用基础命令操作收集,以下命令基于CentOs6.x 1.日常操作命令 **查看当前所在的工作目录 pwd **查看当前系统的时间 date **查看有谁在线(哪些人登陆到了服务器) who ...

  3. Ubuntu常用基础命令

    转载原地址:https://www.linuxidc.com/Linux/2018-07/153206.htm 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子 ...

  4. Mysql常用基础命令操作实战

    目录 一    启动与关闭MySQL    3 1.1    单实例MySQL启动与关闭方法    3 ※1※    常规启动关闭数据库方式(推荐)    3 1.2    多实例MySQL启动与关闭 ...

  5. redhat常用基础命令代码

    redhat常用基础命令 1.登陆和关机,重启和切换用户,创建删除用户 远程登陆redhat: ssh root@192.168.xx.xx ssh为远程登陆选择的通道,root为用户名,192.16 ...

  6. CentOS常用基础命令大全

    这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统( ...

  7. Linux常用基础命令198个

    Linux常用基础命令198个 1.mkdir 创建目录 * 主要选项:-p 递归创建目录 主要案列:mkdir /xujun mkdir -p /xujun/oldboy mkdir -p /xuj ...

  8. docker镜像简介和docker常用基础命令

    docker镜像简介和docker常用基础命令 文章目录 docker镜像简介和docker常用基础命令 1:docker镜像概述 1.1:什么是docker镜像 1.2:docker镜像的获取方式 ...

  9. 国产达梦数据库学习笔记(一):NeoKylin7.0安装及配置与常用基础命令

    国产达梦数据库学习笔记(一):NeoKylin7.0安装及配置与常用基础命令 以VMware Workstation Pro 15环境下的NeoKylin7.0与DM8为例 中标麒麟系统NeoKyli ...

最新文章

  1. 中级统计师基础知识中计算机,2009年全国中级统计专业技术资格考试大纲
  2. php发送短信验证码
  3. 浅谈前后端分离思想对自由泳练习的指导意义
  4. zabbix5.2安装-linux
  5. 蓝桥杯 基础练习 Sine之舞
  6. 苹果硬件技术高级副总裁揭露:自研 M1 太难了
  7. Codeforces Round #129 (Div. 1)E. Little Elephant and Strings
  8. matlab里用simulink仿真教程,Matlab-Simulink仿真教程
  9. Docker修改MySQL默认端口
  10. 强化学习——表格法 Tabular Methods
  11. 重庆大学软件工程导论总结
  12. JS-JavaScript打开新页面的两种方式:当前页面打开和新页面打开
  13. MarkDown下载和安装
  14. Oracle Primavera P6 Unifier等产品 Patch 补丁介绍
  15. 流媒体网络传输的技术瓶颈
  16. 牛客网---软件开发专项练习 刷题笔记
  17. 启动记事本后在任务栏可以看到它,但是却没有在桌面窗口显示的问题
  18. ms全国计算机考试网,全国计算机等级考试一级ms office考试试题
  19. 黑盒测试与白盒测试区别
  20. 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】

热门文章

  1. ICLR认知科学@AI workshop一览
  2. 重磅!苹果祭出大招:史上最强 Mac 发布,iPad OS 惊艳问世
  3. 基本系统部署完成!北斗三号闪耀中国智慧
  4. 机器传奇:全球13位科学家和他们的机器人“孩子”
  5. 最近火了的自动驾驶全球产业链全景图
  6. 马云出 1000 亿做阿里达摩院:产品卖到全球了,他说科学研究也要跟上
  7. 开发微信小程序,100 万开发者都离不开它
  8. 程序员会成为非常内卷的职业吗?
  9. web.xml 里context-param 、listener、 filter、servlet 加载顺序
  10. shell脚本执行及配置文件