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

git相关操作


1. 初始化仓库

git init                            # 初始化一个新的 Git 仓库
git clone <repository_url>          # 克隆远程仓库到本地

2. 配置

git config --global user.name "Your Name"       # 设置全局用户名
git config --global user.email "your.email@example.com"  # 设置全局邮箱
git config --list                                # 查看当前配置

3. 基本操作

git status                        # 查看工作目录和暂存区的状态
git add <file>                    # 将文件添加到暂存区
git add .                         # 将所有修改的文件添加到暂存区
git commit -m "commit message"    # 提交暂存区的更改到本地仓库
git commit -a -m "commit message" # 跳过暂存区,直接提交所有已跟踪文件的更改

4. 分支操作

git branch                        # 列出所有本地分支
git branch <branch_name>          # 创建一个新分支
git checkout <branch_name>        # 切换到指定分支
git checkout -b <branch_name>     # 创建并切换到新分支
git merge <branch_name>           # 将指定分支合并到当前分支
git branch -d <branch_name>       # 删除指定分支
git branch -m <new_branch_name>   # 重命名当前分支

5. 远程操作

git remote -v                     # 查看远程仓库信息
git remote add <name> <url>       # 添加一个新的远程仓库
git fetch <remote>                # 从远程仓库获取更新,但不合并
git pull <remote> <branch>        # 从远程仓库拉取更新并合并到当前分支
git push <remote> <branch>        # 将本地分支推送到远程仓库
git push -u <remote> <branch>     # 推送并设置上游分支

6. 撤销操作

git checkout -- <file>            # 撤销工作目录中文件的修改
git reset HEAD <file>             # 将文件从暂存区移除
git reset --soft <commit>         # 撤销提交,但保留更改在暂存区
git reset --mixed <commit>        # 撤销提交,并将更改保留在工作目录
git reset --hard <commit>         # 撤销提交并丢弃所有更改
git revert <commit>               # 创建一个新的提交来撤销指定提交的更改

7. 查看历史

git log                           # 查看提交历史
git log --oneline                 # 查看简洁的提交历史
git log --graph                   # 查看带有分支图的提交历史
git show <commit>                 # 查看指定提交的详细信息
git diff                          # 查看工作目录和暂存区的差异
git diff --cached                 # 查看暂存区和最后一次提交的差异
git diff <commit1> <commit2>      # 查看两个提交之间的差异

8. 标签操作

git tag                           # 列出所有标签
git tag <tag_name>                # 在当前提交上创建一个轻量标签
git tag -a <tag_name> -m "tag message"  # 创建一个带注释的标签
git push <remote> <tag_name>      # 推送标签到远程仓库
git push <remote> --tags          # 推送所有标签到远程仓库
git tag -d <tag_name>             # 删除本地标签
git push <remote> --delete <tag_name>  # 删除远程标签

9. 暂存和恢复

git stash                         # 将当前工作目录的修改暂存起来
git stash list                    # 列出所有暂存的修改
git stash apply                   # 恢复最近一次暂存的修改
git stash drop                    # 删除最近一次暂存的修改
git stash pop                     # 恢复并删除最近一次暂存的修改
git stash clear                   # 删除所有暂存的修改

10. 其他操作

git rebase <branch>               # 将当前分支的提交变基到指定分支上
git cherry-pick <commit>          # 将指定提交应用到当前分支
git bisect                        # 使用二分查找来定位引入 bug 的提交
git clean -n                      # 显示将要删除的未跟踪文件
git clean -f                      # 删除未跟踪的文件

11. 子模块

git submodule add <repository_url>  # 添加一个子模块
git submodule update --init --recursive  # 初始化并更新子模块

12. 忽略文件

# 在项目根目录创建 .gitignore 文件,列出需要忽略的文件和目录

13. 高级操作

git reflog                        # 查看引用日志,用于恢复丢失的提交或分支
git filter-branch                 # 重写提交历史(谨慎使用)
git gc                            # 清理不必要的文件并优化本地仓库

14. 协作与工作流

git fetch --prune                 # 删除远程已删除分支的本地引用
git pull --rebase                 # 拉取远程更新并使用 rebase 合并
git push --force-with-lease       # 强制推送,但避免覆盖他人工作

15. 查看 Git 版本

git --version

16. 查看 Git 安装位置

# Linux/macOS
which git

# Windows
where git


http://www.kler.cn/a/503915.html

相关文章:

  • 51_Lua面向对象编程
  • 【C++第三方库】快速上手---轻量级数据库SQLite和单元测试工具Gtest
  • 504 Gateway Timeout:网关超时解决方法
  • 金融项目实战 06|Python实现接口自动化——日志、认证开户接口
  • 介绍下不同语言的异常处理机制
  • Cython全教程2 多种定义方式
  • Linux入门——权限
  • 学习笔记080——如何备份服务器中Docker创建的MySQL数据库数据?
  • [Linux] GDB 和 CGDB的使用及理解
  • 国产编辑器EverEdit - 打印与打印预览
  • 如何编写和运行 Lua 脚本优化复杂的 Redis 操作
  • 计算机视觉算法实战——视频分析(Video Analysis)
  • Linux 服务器挖矿木马防护实战:快速切断、清理与加固20250114
  • 【自然语言处理】P1 自然语言处理概述
  • 【SpringSecurity】SpringSecurity安全框架登录校验流程与登录配置示例
  • 时序数据库的订阅对比:TDengine vs InfluxDB 谁更强?
  • CentOS 6.8 安装 Nginx
  • 在ES6模块中导入和导出
  • C语言基本知识复习浓缩版:控制语句--分支
  • Flutter路由动画Hero函数的使用
  • 《利用深度神经网络在广角小口径望远镜中实现天文目标的检测与分类》论文精读
  • 价值尺度如何衡量?
  • “AI 自动化效能评估系统:开启企业高效发展新征程
  • 供应链数字化转型参考大型供应链系统技术架构设计方案
  • PBR(策略路由)的几种使用方式
  • C语言导航 7.2函数的调用