当前位置: 首页 > news >正文

Git使用步骤

Git 是一个分布式版本控制系统,广泛用于软件开发和其他需要跟踪文件变更的项目。以下是 Git 的基本使用方法和一些常用命令的详细说明。

安装 Git

在大多数操作系统上,你可以通过包管理器安装 Git:

  • Windows:
    • 下载并安装 Git for Windows。
  • MacOS:
    • 使用 Homebrew 安装:brew install git
  • Linux:
    • 使用包管理器安装,例如在 Ubuntu 上:sudo apt-get install git

初始化 Git 仓库

在项目目录中初始化一个新的 Git 仓库:

git init

配置 Git

首次使用 Git 时,需要配置用户信息:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

添加文件到仓库

将文件添加到 Git 的暂存区:

git add <file>

添加所有文件:

git add .

提交更改

将暂存区的文件提交到仓库:

git commit -m "Commit message"

查看状态

查看当前工作目录的状态:

git status

查看提交历史

查看提交历史记录:

git log

查看简洁的提交历史:

git log --oneline

分支管理

创建分支

创建并切换到新分支:

git branch <branch-name>
git checkout <branch-name>

或者使用简化的命令:

git checkout -b <branch-name>
切换分支

切换到指定分支:

git checkout <branch-name>
查看分支

查看当前所有分支:

git branch
合并分支

将一个分支的更改合并到当前分支:

git merge <branch-name>

拉取和推送

克隆仓库

克隆一个远程仓库到本地:

git clone <repository-url>
添加远程仓库

添加一个远程仓库:

git remote add <remote-name> <repository-url>
拉取更新

从远程仓库拉取最新的更改:

git pull <remote-name> <branch-name>
推送更改

将本地更改推送到远程仓库:

git push <remote-name> <branch-name>

撤销更改

撤销工作区的更改

撤销工作区中的更改,恢复到最近一次提交的状态:

git checkout -- <file>
撤销暂存区的更改

将已经添加到暂存区的文件移出暂存区:

git reset <file>
撤销最后一次提交

撤销最后一次提交,但保留所有更改在工作区:

git reset --soft HEAD~1

撤销最后一次提交,并丢弃所有更改:

git reset --hard HEAD~1

标签管理

创建标签

创建一个标签:

git tag <tag-name>

创建一个带有注释的标签:

git tag -a <tag-name> -m "Tag message"
查看标签

查看所有标签:

git tag
推送标签

将标签推送到远程仓库:

git push <remote-name> <tag-name>

推送所有标签:

git push <remote-name> --tags

忽略文件

创建一个 .gitignore 文件,列出不需要跟踪的文件或目录:

# .gitignore
*.log
*.swp

恢复文件

从仓库中恢复已删除的文件:

git checkout <commit-hash> -- <file>

高级用法

交互式添加

使用交互式模式将文件添加到暂存区:

git add -i
交互式提交

使用交互式模式提交更改:

git commit --interactive
质量检查

使用 git diff 查看工作区和暂存区的差异:

git diff

查看暂存区和最后一次提交的差异:

git diff --cached

常用快捷键

  • git log -p:查看每次提交的详细更改。

  • git blame <file>:查看文件的每一行是谁最后一次修改的。

  • git show <commit-hash>:查看指定提交的详细信息。

参考资料

  • Git 官方文档
  • Pro Git 书
  • GitHub 官方文档
http://www.lryc.cn/news/506615.html

相关文章:

  • Python+OpenCV系列:AI看图识人、识车、识万物
  • springboot449教学资源共享平台(论文+源码)_kaic
  • 类OCSP靶场-Kioptrix系列-Kioptrix Level 4
  • 贪心算法在背包问题上的运用(Python)
  • POD 存储、PV、PVC
  • C中strlen和sizeof的区别
  • WSL2内部的Ubuntu怎么设置网络内桥接模式,弄了好久老是不成功,怎么办?
  • Linux环境下 搭建ELk项目 -单机版练习
  • ubuntu20.04安装mysql5.7
  • MacPorts 安装 Tengine
  • Git安装及基础学习
  • 【celery】任务有时候不执行
  • 【恶意软件检测论文】通过提取 API 语义来实现的一个新颖的安卓恶意软件检测方法
  • 什么,不用 Tomcat 也能运行 Java web?
  • 华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 1 构建快速验证手机号Button
  • 王佩丰24节Excel学习笔记——第十一讲:Vlookup函数
  • 【QT实战の心情笔记】
  • 图像生成工具WebUI
  • 排查常见的 MySQL性能问题
  • 滑雪场管理系统
  • 西游记战力排名、笔记等
  • vue3 + js + vite创建的项目中配置svg图
  • c++ 找第一个只出现一次的字符
  • 在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)
  • Win11安装安卓子系统WSA
  • 利用两种方式分别实现单例模式(懒汉式、饿汉式)
  • js分页功能
  • Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra+为例)保姆级教程
  • MyBatis(四)
  • 【从零开始的LeetCode-算法】3285. 找到稳定山的下标