前言

记录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. FastAPI安全防护指南:构建坚不可摧的参数处理体系

    扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 探索数千个预构建的 AI 应用,开启你的下一个伟大创意 第一章:输入验证体系 1.1 类型安全革命 from pydantic impor ...

  2. linux 源码安装完php后在目录下找不到php.ini的问题

    首先,我们需要确定php版本的php.ini文件需要放在个目录下 我们先执行以下命令查看php的php.ini目录应该放在那个地方 php -i |grep php.ini 效果如下,现在我们确定好了 ...

  3. SQL 常见优化指南

    这一章介绍SQL常见的优化,一共30条 第一条 对查询优化,要尽量的避免全表扫描,首先应该考虑在where以及order by 涉及的列上建立索引. 第二条 应尽量避免在where子句中对字段的nul ...

  4. 使用Python完成设备巡检

    在企业网络中,设备巡检是保持网络稳定性和安全性的核心任务.无论是路由器.交换机,还是防火墙和服务器等设备,都需要定期进行巡检,以确保网络设施的正常运行.然而,传统的设备巡检通常是通过手动登录设备.查看 ...

  5. 插入排序(LOW)

    博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ def insert_sort(li): for i in range(1, l ...

  6. selenium爬虫2

    无头浏览器简介 无头浏览器(Headless Browser)是一种没有图形用户界面的浏览器,它在后台运行,不会显示任何窗口或界面.无头浏览器通常用于自动化任务,如网页抓取.自动化测试和性能监控等. ...

  7. 【Linux】5.9 Shell函数

    Shell 函数 1. 自定义函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] ...

  8. ORA-28001:口令已经失效

    Oracle用户口令默认的有效期导致的一个异常,留爪. Oralce11G下,创建的用户及口令,也就是用户密码默认会有个180天的过期时间, 如果超过180天用户口令未做修改,则该用户口令失效,也就是 ...

  9. Nginx 查看配置文件路径

    通过测试信息来间接查看 #测试nginx.conf是否正确 nginx -t #输入此命令,通常会输出如下信息 nginx: the configuration file /etc/nginx/ngi ...

  10. C#/.NET/.NET Core优秀项目和框架2025年3月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...