原标题:Git命令行基本操作

先来看看图的介绍吧

0. 安装Git

网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGit,linux建议使用Git GUI或者GITK。

1. Git基本配置

git config可以配置git的参数,可以使用git config --list查看已经配置的git参数。其中有三个级别的保存位置,--system、--global、--local,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用--local。

配置用户名及邮箱

在使用Git提交前,必须配置用户名和邮箱,这些信息会永久保存到历史记录中。

git config --global user.name "Tocy"

git config --global user.email zyvj@qq.com

其他配置

如果在windows下建议还是配置下默认文本编辑器core.editor和差异分析工具merge.tool。

2. 创建Git仓库

可以直接调用git init初始化当前目录,即创建Git仓库。

3. 获得Git仓库

如果需要克隆远程仓库,可以使用git clone,比如:

git clone https://git.oschina.net/Tocy/SampleCode.git

4. 提交更新

在windows下的Git GUI中,提交很简单,右键-TortoiseGit-Commit。那么命令行下需要怎么处理?

Git中每个文件都有三种状态:committed、staged、modified。它们之间关系如下:

commit --- --modify

我们获取的Git仓库中的所有文件都是committed状态,如果你在本地修改了文件a,a的状态就变成modified的;如果使用git add a,a的状态变成staged;如果使用git commit,a的状态就变成commited。这种状态变化也说明复制代码是很方便的,但是提交更新请慎重。

当然还有一种文件状态,未跟踪状态(unversioned/untracked),通过使用git add可以把未跟踪状态变更为staged;通过git rm可以将staged或者committed状态变为未跟踪状态。

git status

通常提交前先检查下修改了什么内容,当前Git目录下各文件的状态。

$ git status

On branch master

Initial commit

Untracked files:

(use "git add ..." to include in what will be committed)

Readme.md

nothing added to commit but untracked files present (use "git add" to track)

git add

git add可以添加文件或者目录,也可以使用通配符。比如:

git add Readme.md # add file only

git add *.cpp # add all cpp files

git add /home/code/ # add all files in /home/code

git diff

git diff可以查看当前目录的所有修改。

提交之前,还是单独确认下处于staged状态的文件有哪些,并保证修改正确。在实际应用中,可能还需要使用git diff导出PATCH做代码走读。

可以使用git diff --staged或git diff --cached查看staged与上次提交快照之间的区别。

git commit

提交前需慎重。直接调用git commit会弹出编辑器,输入提交日志(如果是多行日志,建议使用)。

针对单行日志提交的情况,可以使用如下命令:git commit -m "add readme"。

还有一种快捷的提交方式,直接跳过stage缓存区,直接提交当前目录下的所有修改git commit -a(使用这个命令前建议确认下当前目录的修改是否正确、必须)。

git rm

git rm会把文件从当前目录删除(不会保存删除的文件)。如果需要从Git仓库中删除,但保留在当前工作目录中,亦即从跟踪清单中删除,可以使用git rm --cached readme.md。

5. 提交历史查看

可以使用git log查看当前工程的所有提交的日志。

git log --stat # 仅显示摘要选项

git log --pretty=oneline # 定制记录格式

git log --graph # 图像化分支和版本更新

6. 撤销更新

7. 远程仓库

可以使用git remote查看当前的远程库。

git remote -v可以显示对应的克隆地址。(对于多个远程仓库很有用)

添加远程仓库

git remote add [short_name] [url]可以添加新的远程仓库。

从远程仓库抓取数据

git fetch [remote-name]可以从远程仓库抓取数据到本地。

也可以使用git pull

推送数据到远程仓库

git push [remote_name] [branch_name]

默认使用origin和master。

查看远程仓库信息

git remote show origin

远程仓库的删除和重命名

git remote rename [old_name] [new_name]

git remote rm [remote_name]

8. 打Tags

可使用git tag显示当前库中的标签。

添加标签(含附注)

git tag -a v0.1 -m "my version 0.1"

使用如下命令查看Tag日志信息(指定对应标签的名字)

git show v0.1

也可使用SHA-1的提交表示创建tag:

git tag -a v0.2 [SHA-1] -m "my version 0.2"

分享标签

默认的,git push不会推送标签信息到远程仓库,需要通过命令显式推送。

git push origin v0.1

如果需要推送所有标签,使用

git push origin --tags

9. Git分支

git分支是轻量级的,速度很快,仅记录索引信息。

显示所有分支

使用git branch可显示当前所有分支。

可以使用--merged和--no-merged查看已经合并、未合并的分支。

创建及切换分支

可以使用下面命令直接切换并创建分支

git checkout -b testing

等价于

$ git branch testing # 创建testing 分支

$ git checkout testing # 切换到testing分支

注意切换分支时请保持工作目录没有未提交的修改。Git鼓励使用分支,处理完问题之后合并分支即可。

分支合并

将hotfix分支合并到master(主分支)上,需要通过下面命令:

$ git checkout master

$ git merge hotfix

合并之后可以使用git branch -d hotfix删除分支。

如果合并时存在冲突,需要手工修改。

来源网络,侵权联系删除返回搜狐,查看更多

责任编辑:

git 配置组合指令_Git命令行基本操作相关推荐

  1. Git 配置别名 —— 让命令变得更简单

    Git 配置别名 -- 让命令变得更简单 卖一下广告,欢迎大家关注我的微信公众号,扫一扫下方二维码或搜索微信号 stormjun,即可关注. 目前专注于 Android 开发,主要分享 Android ...

  2. 华为交换机导入配置_华为交换机基础配置1—进入命令行

    交换机基础配置1-进入命令行 1.用户从终端成功登录至设备即进入用户视图,在屏幕上显示: 2.系统视图 在用户视图下,输入命令system-view后回车,进入系统视图. system-view En ...

  3. Hadoop原理与技术——hdfs命令行基本操作

    点击链接查看文档 一.实验目的 熟悉hdfs命令行基本操作 二.实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三.实验内容 1:h ...

  4. Horizon Client 配置设置和命令行选项

    Horizon Client 配置设置和命令行选项 Twitter FaceBook LinkedIn Weibo 添加到库 添加到库 RSS 下载 PDF 发送反馈 反馈 编辑 评论 更新时间 20 ...

  5. mysql如何使用命令行操作_MySQL命令行基本操作

    本文记录的是windows7系统下Mysql的命令行基本操作. 一.MySQL启动与登录 1. MySQL启动: 通过运行mysql安装目录下的/bin/mysqld.exe文件来启动Mysql服务. ...

  6. h3c防火墙u200配置命令_网络设备配置——H3C命令行基本操作【分级】

    可以通过[console/AUX/telnet/SSH]多种途径,搭建网络设备配置环境. 知乎视频​www.zhihu.com 配置通过console口登录 对于第一次登录设备,用户可以使用PC通过设 ...

  7. git stash pop_git常用命令行背诵并默写(全)

    退出 : 保存退出 : 拷贝项目到本地 git 全局配置 git 当前仓库配置 git 查看 global 配置 git 查看当前仓库配置 git 删除 global 配置 git 比如 git 删除 ...

  8. git修改服务器的命令行,Git版本控制工具安装及命令行操作

    很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...

  9. Android_版本控制_Git命令行介绍和使用说明

    一.命令"git"或者"git help"查询常用命令 [add]: "git add"--不但是用来添加不在版本控制中的新文件,也用于添加 ...

最新文章

  1. python科学计算整理
  2. 在Java8中包装设计模式
  3. jitter 如何优化网络_网络推广如何做好网站SEO优化
  4. js中将时间字符串转换为时间戳
  5. zabbix client安装配置执行
  6. 台达b3伺服modbus通讯_A2伺服modbus通讯难题-专业自动化论坛-中国工控网论坛
  7. 大学计算机知识竞赛幽默主持词,知识竞赛幽默主持词.docx
  8. 微波射频学习笔记2--------传输线理论
  9. Linux:计算机网络基础
  10. 中国数字化城市行业现状调研及前景规划分析报告2022~2028年
  11. 用python语言怎么打出菱形的*号_Python打印“菱形”星号代码方法
  12. oj美元和人民币java_【牛客网OJ题】:人民币转换
  13. Python语音合成小工具(PyQt5 + pyttsx3)
  14. 程序员课外拓展001:EI收录号Accession number中的数字的含义
  15. Isaac SDK Sim 环境
  16. 关于Python虚拟环境与包管理你应该知道的事
  17. mysql 管理instance_MySQL从零开始——第三章 MySQL体系结构
  18. java set list 区别是什么_Java中的list和set有什么区别
  19. WPS2016word表格里数字不能在一行排列到最后
  20. 织梦生成小说html,织梦用栏目分页来做小说站实现教程(支持动态静态)

热门文章

  1. 多项式拟合缺点_机器学习——机器学习算法优缺点综述
  2. Windows 快速删除 大量文件
  3. elasticsearch match模糊查询
  4. c++ 调用python返回指针
  5. python event多线程回调
  6. 深入浅出K-Means算法
  7. Google工程师带你学算法
  8. 一、LDAP目录服务介绍
  9. 十五、Redis三种特殊类型之二HyperLoglog
  10. mysql数据库表删了重建error_数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败-阿里云开发者社区...