前言

记录Git软件使用相关的流程、命令。

注:这不是一份专业的教程。


Git是什么?

Git 是一个用于管理源代码的分布式版本控制系统。 版本控制系统会在您修改文件时记录并保存更改,使用户可以随时恢复以前的工作版本。使用 Git可以轻松访问源代码的修改历史记录以及更改的人,同时防止旧版本的无意覆盖。

Git下载安装

1.下载地址

进入git-scm网站

后下对应系统版本的安装包

2.注意事项

安装包下载后双击安装,安装向导进行配置。具体操作可参考博文Git 详细安装教程

Git工作流程

Git命令速成

1.软件初始配置

git config --global user.name <用户名> # 设置用户名
git config --global user.email <邮箱名> # 设置邮箱
git config --global core.excludesfile ~/.gitignore_global # 全局gitignore

2.本地库管理

git init # 初始本地库
git status # 查看本地库状态
git diff # 查看详细更新状态,尚未缓存的改动
git diff --cached # 查看已缓存的改动
git diff HEAD # 查看已缓存的与未缓存的所有改动
git diff --stat # 显示摘要而非整个diff
git add <文件名> # 添加暂存区
git rm --cached <文件名> # 删除暂存区文件
git mv <old text> <new text> # 移动或重命名一个文件、目录、软连接
git commit -m "<日志信息>" <文件名> # 提交本地库

3.查看历史记录

git reflog
git log [-options] # 详细信息
# –oneline # 查看历史记录的简洁版本
# –graph # 查看历史中什么时候出现了分支、合并
# –reverse # 逆向显示所有日志
# –author # 查找指定用户的提交日志
# –since、–before、 --until、–after # 定筛选日期
# –no-merges # 选项以隐藏合并提交

4.标签

git tag # 查看标签
git tag -a vx.x # 创建标签
git tag -a vx.x <哈希值> # 追加标签
git tag -a <tagname> -m "某某标签" # 指定标签信息
git tag -s <tagname> -m "某某标签" # PGP签名标签

5.分支管理

git branch -v # 查看分支
git branch <分支名> # 创建分支
git branch -d <分支名> # 删除分支
git checkout <分支名> # 切换分支
git checkout <提交记录> # 切换HEAD
git checkout -b <分支名> # 创建并切换分支
git merge <要合并的分支> # 合并分支,合并冲突解决后提交本地库时不加文件名
git rebase <分支名> # 将当前分支复制到指定分支
git cherry-pick <哈希值> <哈希值> # 将其它分支的指定提交记录复制到当前分支

6.版本穿梭

git reset --hard <版本号> //回退分支,取消已缓存的内容
git checkout HEAD^ //移动到当前位置的父节点位置
git branch -f <分支名> HEAD~num //移动分支到num前

7.远程仓库管理

git clone <远程链接> # 克隆仓库
ssh -keygen -t rsa -C 远仓ssh地址 # git生成ssh公钥
git remote -v # 查看远程库信息
git remote add <别名> <远程库地址> # 关联远程库
git remote remove <远程库别名> # 删除关联库
git remote rename <旧别名> <新别名> # 修改关联库名称
git remote set-url <别名> <新链接> # 重设远程库地址
git push <远程库别名> <分支名> # 推送远程库
git pull <远程库别名> <分支名> # 拉取远程库
git fetch <远程库别名> # 拉取远程库最新数据,不自动合并

8.gitignore文件

gitignore文件用使Git忽略指定文件。

# VS Code
.vscode/ # C/C++
*.d
*.slo
*.lo
*.o
*.obj
*.gch
*.pch
*.so
*.dylib
*.dll
*.mod
*.smod
*.lai
*.la
*.a
*.lib
*.exe
*.out
*.app
/x64/
/x86/ # Java # zip
*.zip
*.tar.gz
*.rar # obsidian
.obsidian

Git使用随记的更多相关文章

  1. MacOS下SVN迁移Git踩坑记

    1. First Blood 之前在Windows环境下进行svn到git的迁移是很简单的,(参考官方文档:https://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E ...

  2. centos7安装git踩坑记

    之前自己是按照Git 服务器搭建这篇博客来安装git服务器的,一步步顺序下来,但git clone的时候,每次都要求输入密码.说好的SSH免密登录呢.前后搞了一天多才搞定,现在记录下踩过的坑. 坑1: ...

  3. git 命令 随记

    git merge --abort (--force使用原力!) 通常在合并版本时出现冲突,抛弃合并过程并且尝试还原到合并前的状态,当合并开始时存在未commit的文件,则这些文件无法还原. git ...

  4. 不要使用Android Studio的Git Commit了---->记一次debug

    今天下午写了一些代码,吃晚饭时分用Android Studio commit了一下,不知道有没有选择Commit and push,结果刚才代码出bug我想回滚到上个版本的时候,发现Android S ...

  5. 浅析git

    git是什么 简单来说,Git,它是一个快速的 分布式版本控制系统 (Distributed Version Control System,简称 DVCS) . 同传统的 集中式版本控制系统 (Cen ...

  6. Git 常用使用技巧

    1.创建代码仓库 Step 1:先配置下我们的身份吧,这样在提交代码的时候Git就可以知道是谁提交的,命令如下: git config --global user.name "coder-p ...

  7. Git使用本地仓库之基本操作

    1.Git是什么? 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本 ...

  8. 阿里云 linux搭建git服务器

    git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器. 在linux上面搭建g ...

  9. 一把剪刀看懂git reset 和它的三个参数

    都说git 命令难记且难懂,但是如果从立体的角度看待git与git管理的版本,那么一切都会明朗许多. 大多数的学习教程为了理解git,会绘制几个圆圈的串联,每个圆圈代表一个commit的版本,也就是从 ...

  10. 自家公司关于git commit 的规范

    代码提交的commit info提个建议,fix的issue是哪个issue?都要有明确的链接.推荐方式:1.建立issue,说明问题的背景和原因.http://git.startdt.net/pay ...

随机推荐

  1. git和github的入门操作

    之前因为工作中用的都是SVN版本控制工具,没接触过git和github,现在开始深入自学Django框架技术后,看到官网推荐使用git,然后这两天网上查阅了很多文章教程,学到入门操作需要学习的点,太多 ...

  2. SpringBoot+使用过滤器链执行风控决策

    风控流程 下单前进行风控校验 // 1.begin---风控处理---前置处理{黑白名单校验} RiskControlRuleEnum controlRuleEnum = riskControlHan ...

  3. Zotero 设置坚果云同步(使用 WebDAV 的方法)

    1.坚果云设置 登录坚果云:官网,注册账号 1.建立个人文件夹:zotero 2.在网页打开右上角的 账户信息,并选择 安全选项 在页面下方选择 添加应用 并输入与前面文件夹对应的名称 zotero ...

  4. 【JUC】基础总结

    多线程的思考:为什么需要run()和start()方法,只用其中一个不行吗? run()和start() run()是运行的时候就直接执行所有代码 start()相当于开启线程,并发执行,让这些线程开 ...

  5. ChatGTP获取的d读取excel通用程序。

    procedure ReadExcelFile(const FileName: string; AMemtable: TFDmemtable); var ExcelApp: OleVariant; S ...

  6. 高格发票勾稽之BUG

    select (INVNO) AS INVCODE, SDATE ,* FROM STKSALE1 WHERE LEN(INVSCODE) > 0 AND INVSCODE = '3100000 ...

  7. Modernize DevOps

    https://www.harness.io/ Continuous Delivery and gitops: while CD automates application deployment, G ...

  8. c流程控制

    关于流程控制,一般来说,计算机使用有着三种流程:一就是正常走,按照预先设定的语句序列执行,二就是重复做那么几个动作,直到满足条件,三就是有几条分支走向,根据目前条件去选择分支序列执行. 一.C中的循环 ...

  9. ArcGIS拼接、镶嵌同一空间位置的不同遥感影像

      本文介绍在ArcGIS下属的ArcMap软件中,对处于同一空间位置的多幅栅格图像加以拼接.融合与叠加等操作的方法.   假如现在我们分别有以下三幅栅格图像,三者分别是独立的三个图层.第一个图层如下 ...

  10. 重载(Overloading)与重写(Override)的区别?

    重载(Overloading)与重写(Override)的区别? No. 区别 重载 重写 1 英文单词 Overloading Override 2 发生范围 发生在一个类里面 发生在继承关系中 3 ...