前言

记录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. docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for

    前言 docker 在进行 build 时,报错:Get "https://registry-1.docker.io/v2/": x509: certificate is vali ...

  2. deepseek内网离线部署手册

    前言 在当下 AI 浪潮汹涌的时代,DeepSeek 以其卓越的性能和出色的表现,迅速成为了众多专业人士和科技爱好者热议的焦点工具.在众多AI大模型的比拼中,DeepSeek 展现出了优越的实力.然而 ...

  3. Linux下使用fdisk扩大分区容量

    磁盘容量有300GB,之前分区的时候只分了一个150GB的/data分区,现在/data分区已经不够用了. 需求:把这块磁盘剩余的150GB容量增加到之前的/data分区,并且保证/data分区原有的 ...

  4. oracle调整sga、pga大小

    展开修改sga大小1-1查看当前sga大小SQL> show parameter sga1-2修改sga_max_size为24GSQL> alter system set sga_max ...

  5. 【SpringMVC】使用 @RequestMapping 映射请求

    使用 @RequestMapping 映射请求 Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求 在控制器的类定义及方法定义处都可标注 @Requ ...

  6. 【C语言】gcc编译时报错 fatal error: stdio.h: 没有那个文件或目录

    零.问题 在Ubuntu20.04.6中使用GCC编译一个HelloWorld代码时遇到如下问题: 首先确认了,自己单词没有拼写错. 然后再检查GCC的版本,确实没问题: 我用的是Ubuntu20.0 ...

  7. cnpack导致view快捷键失灵。

    学习d10.3.出现怪问题: 卸载cnpack出现: 这下要用快捷键了.那可不烦透了. 如此就ok了. 鸡蛋好吃,还要知道母鸡如何生蛋的?

  8. Android编译时动态插入代码原理与实践

    本文同步发布于公众号:移动开发那些事:Android编译时动态插入代码原理与实践 Android开发中,编译时动态插入代码是一种高效,并且对业务逻辑是低侵入性的方案,常用于增加通用的埋点能力,或者插入 ...

  9. kubernetes dashboard web控制台调研

    背景 kubernetes 是目前最流行的容器化系统,管理的方式一般都是最基础的kubectl命令客户端进行管理,但是对与一些没有基础的研发人员并不是很友好,所以我们需要一些web控制台,类似于云厂商 ...

  10. DP学习总结

    动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法. -----OI Wiki 例.1-最大子段和 分析 DP四步 ⑴定义状态 定义\(dp_i\)表示以\(i\)结尾的最大子段 ...