1、配置工具
$ git config --global user.name "[name]"

设置用户名

$ git config --global user.email "[email address]"

设置邮箱

$ git config --global color.ui auto

自动配置命令行的输出颜色

$ git config --global color.ui true

全部打开颜色配置

$ git config --global color.ui false

全部关闭颜色配置

2、创建存储库
$ git init [project-name]

创建本地库,项目名(project-name)可选

$ git clone [url]

克隆远程库(包括整个版本历史)

3、修改后如何提交
$ git status

列出所有准备要提交的新文件或修改文件

$ git diff

显示还没有执行“git add [file]”的文件中的差异,如果已经执行了“git add [file]”,将不会再打印出来,因此“git diff”一般在“git add”之前使用

$ git add [file]

添加需要提交的文件

$ git reset [file]

撤销操作“git add [file]”,回到执行“git add [file]”之前的状态

$ git diff --staged

显示已经执行了“git add [file]”的文件和上一个版本的差异,如果没有执行“git add [file]”,将不会打印出来,因此“git diff --staged”在“git add [file]”之后使用。

$ git commit -m "[descriptive message]"

提交已经执行“git add [file]”的文件,并更新版本。

4、分支操作
$ git branch

列出当前存储库中的所有本地分支

$ git branch [branch-name]

创建一个新分支branch-name

$ git checkout [branch-name]

切换到指定的分支branch-name并更新工作目录

$ git merge [branch]

将指定分支branch的历史记录合并到当前分支

$ git branch -d [branch-name]

删除指定的分支branch-name

5、删除、重命名文件
$ git rm [file]

删除文件,删除后可以通过git checkout [file]恢复,或git commit提交。

$ git rm --cached [file]

从版本控制中删除文件,但本地的没有删除,这点与“git rm [file]”不同

$ git mv [file-original] [file-renamed]

更改文件名并准备提交

6、查看历史更改记录
$ git log

列出当前分支的版本历史

$ git log --follow [file]

列出文件的版本历史,包括该文件重命名之前的版本历史,但是file必须是现在的名字,即重命名之后的名字

$ git diff [first-branch]...[second-branch]

显示两个分支之间的内容差异

$ git show [commit]

显示指定提交版本的更改内容
[commit]是提交时生成的版本号,如下面的1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d

commit 1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d
Author: laoer <>
Date:   Tue Aug 21 09:44:29 2018 +0800hello
7、忽略临时文件、目录等

在工程目录(与.git同级目录)中创建“.gitignore”文件。.gitignore文件中写入需要忽略的文件和目录,每行一个,支持正则表达式。编辑完.gitignore需要使用git add和git commit提交。下面是一个常用的.gitignore文件

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip# Logs and databases #
######################
*.log
*.sql
*.sqlite# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

可以使用下面命令来查看,被忽略掉的文件或目录:

$ git ls-files --other --ignored --exclude-standard
8、临时保存和恢复

如果代码写的一半,需要保存后切换到其它分支上去,但是又不想commit到版本库中,以免污染了提交日志,这时就要用到“git stash”

$ git stash

临时保存更改内容

$ git stash list

列出临时保存的更改内容

$ git stash pop

恢复临时保存的更改内容

$ git stash drop

删除临时保存的更改内容

9、重新提交
$ git reset [commit]

恢复指定版本号commit后将恢复至指定版本,但本地内容不会更改,重新提交后,指定版本号以后的记录将会丢弃。最好不要使用。

$ git reset --hard [commit]

这将会删除所有记录,包括本地的内容。严禁使用

10、多人协同工作
$ git branch -a

查看所有分支,红色的是远程分支

git fetch

获取远程分支

git diff HEAD FETCH_HEAD

查看本地和远程的区别

git merge origin/master

合并

git push -u origin master

将本地的master分支推送到origin主机

【Git】git系统学习(一):常用指令相关推荐

  1. git小乌龟代码管理器常用指令

    git reset --hard c017060751c817ed9cfc1358ea107ff8dde9835b 后面的为代码的版本号,指令作用回到这个版本号. git log 查看提交记录 git ...

  2. Linux系统学习:网络指令:如何查看一个域名有哪些 NS 记录

    Linux 中提供了不少网络相关的指令,因为网络指令比较分散,本课时会从下面几个维度给你介绍,帮助你梳理常用的网络指令: 远程操作: 查看本地网络状态: 网络测试: DNS 查询: HTTP. 这块知 ...

  3. 7、《每天5分钟玩转Docker容器技术》学习-Dockerfile 常用指令

    ------------------------------------重要说明------------------------------------ 本文内容都是参考Cloudman系列进行学习, ...

  4. vue2.0学习笔记 -- 常用指令

    一,(windows,node)淘宝镜像配置 1,创建文件夹:E:\nodejs\node_global 2,设置nodejs全局目录,在cmd中输入npm config set cache &quo ...

  5. 【Linux学习】常用指令-sortunique

    假设当前文件叫file.txt sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. sort的-u选项 它的作用很简单,就是在输 ...

  6. Linux系统vi编辑器常用指令

    vim编辑器基本操作 列出行号:在末行模式,输入set nu 跳转到某一行:末行模式,输入数字,回车 查找字符串:向下查找,先输入/,在输入要寻找的字符串:向上查找,"?",输入要 ...

  7. 12.ROS编程学习:ROS常用指令

    目录 rosnode 1.rosnode list--list active nodes 2.rosnode ping--test connectivity to node 3.rosnode inf ...

  8. UOS系统学习_1~4合集_系统安装与基本操作

    UOS系统学习_1_系统安装 UOS系统学习_2_系统命令 UOS系统学习_3_磁盘与启动调试 UOS系统学习_4_常用工具使用 UOS系统学习_1_系统安装: 我的系统:11代i5处理器.16G内存 ...

  9. Git版本控制软件结合GitHub常用命令学习手册

    编程技术2015-1-16TECHUG1条评论 我们发布了很多Git相关的文章,有系列教程(<Pro Git系列>),也有各种独门绝技(<让你的Git水平更上一层楼的10个小贴士&g ...

  10. 小白也能学会的 Git 常用指令指南

    目录 1.git init 2. git add 3.git commit 4.git log 5.git reflog 6.git reset --hard HEAD~X 7.git status ...

最新文章

  1. 快速多尺度人脸检测2--Multi-Scale Fully Convolutional Network for Face Detection in the Wild
  2. scrapy配置文件操作核心API解读
  3. 完整的项目工程目录结构
  4. 单例模式(Singleton)
  5. vc6.0 点击鼠标获取mysql数据库所在行_VC6.0连接到mysql数据库
  6. 支付宝2018年账单发布,更注重用户隐私保护
  7. ABAP单元帮助类的两种使用方式
  8. native html5 区别,H5与Native优劣对比
  9. shell脚本if中判断大于、小于、等于、不等于的符号
  10. align latex 使用_latex中使用listings时如何使matlab代码块居左而非居中,最好与上面的文本对齐...
  11. AS3 使用Loader对象加载外部图片
  12. 大象之关于对UML的一些理解
  13. 一个scrapy框架的爬虫(爬取京东图书)
  14. 递归流程图(java)
  15. U盘中毒文件被隐藏?U盘中毒了怎么恢复文件
  16. Java-数据结构-TreeMap
  17. 极简步骤试玩Ant Design Pro myapp demo
  18. 搜索引擎技术大战,始于昨日
  19. 卫星历史影像数据—六种查看方法
  20. DLNA,DMS介绍

热门文章

  1. OpenCV 多层感知器训练代码示例
  2. 理解YOLOv2训练过程中输出参数含义
  3. 【目标检测】(5) YOLOV1 目标检测原理解析
  4. php 上传 类 代码,php 文件上传类代码
  5. java优先级目数_10.Java运算符+(优先级、目数)+
  6. nanoflann库
  7. 相机标定 matlab opencv ROS三种方法标定步骤(1)
  8. 在CentOS 6.2上搭建vim开发环境
  9. malloc为什么会报错:memory corruption
  10. Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?