Git的常用命令及常见问题处理方法

目录

  • 一、介绍
  • [二、常用 Git 命令](#二、常用 Git 命令)
    • [1. 配置用户信息](#1. 配置用户信息)
    • [2. 初始化仓库](#2. 初始化仓库)
    • [3. 克隆远程仓库](#3. 克隆远程仓库)
    • [4. 查看状态](#4. 查看状态)
    • [5. 添加文件到暂存区](#5. 添加文件到暂存区)
    • [6. 提交更改](#6. 提交更改)
    • [7. 查看提交历史](#7. 查看提交历史)
    • [8. 查看文件差异](#8. 查看文件差异)
    • [9. 查看分支](#9. 查看分支)
    • [10. 切换分支](#10. 切换分支)
    • [11. 合并分支](#11. 合并分支)
    • [12. 处理冲突](#12. 处理冲突)
    • [13. 远程操作](#13. 远程操作)
    • [14. 标签管理](#14. 标签管理)
    • [15. 撤销操作](#15. 撤销操作)
  • 三、常见问题处理方法
    • [1. 无法推送到远程仓库](#1. 无法推送到远程仓库)
    • [2. 分支丢失](#2. 分支丢失)
    • [3. 文件被错误地添加到暂存区](#3. 文件被错误地添加到暂存区)
    • [4. 回到之前的提交](#4. 回到之前的提交)
    • [5. 忘记暂存文件](#5. 忘记暂存文件)
    • [6. 提交信息错误](#6. 提交信息错误)
    • [7. 删除远程分支](#7. 删除远程分支)
    • [8. 文件冲突解决后无法提交](#8. 文件冲突解决后无法提交)

一、介绍

Git 是一个分布式版本控制系统,以下是一些常用的 Git 命令及其使用方法:

二、常用 Git 命令

1. 配置用户信息

bash 复制代码
git config --global user.name "Your Name"          # 配置全局用户名
git config --global user.email "your@email.com"    # 配置全局邮箱

2. 初始化仓库

bash 复制代码
git init                     # 初始化一个空的 Git 仓库

3. 克隆远程仓库

bash 复制代码
git clone <repository-url>                         # 克隆远程仓库到本地

4. 查看状态

bash 复制代码
git status                                         # 查看当前工作目录的状态

5. 添加文件到暂存区

bash 复制代码
git add <file>                                     # 添加指定文件到暂存区
git add .                                          # 添加所有文件到暂存区

6. 提交更改

bash 复制代码
git commit -m "Commit message"                     # 提交暂存区的更改,并添加提交信息
git commit -am "Commit message"                    # 一次性提交所有已跟踪文件的更改

7. 查看提交历史

bash 复制代码
git log                                            # 查看提交历史
git log --oneline                                  # 简要查看提交历史
git log --author="Your Name"                       # 查看特定用户的提交历史

8. 查看文件差异

bash 复制代码
git diff                                               # 查看工作目录与暂存区之间的差异
git diff --staged                                      # 查看暂存区与上一次提交之间的差异
git diff <commit1> <commit2>                           # 比较两个提交之间的差异

9. 查看分支

bash 复制代码
git branch                                          # 列出所有本地分支
git branch -a                                       # 列出所有本地和远程分支
git branch <branch-name>                            # 创建新分支
git branch -d <branch-name>                         # 删除本地分支
git branch -D <branch-name>                         # 强制删除本地分支

10. 切换分支

bash 复制代码
git checkout <branch-name>                          # 切换到指定分支
git checkout -b <branch-name>                       # 创建并切换到新分支
git checkout -- <file>                              # 恢复文件到最近一次提交的状态

11. 合并分支

bash 复制代码
git merge <branch-name>                             # 合并指定分支到当前分支

12. 处理冲突

在合并或重新合并过程中,若出现冲突,Git 会在冲突文件中用以下标记来显示冲突:

bash 复制代码
<<<<<<< HEAD
... 冲突内容 ...
=======
... 冲突内容 ...
>>>>>>> branch-name

解决冲突后,使用以下命令提交更改:

bash 复制代码
git add <file>
git commit -m "Resolved merge conflict"

13. 远程操作

bash 复制代码
git remote -v                                       # 查看远程仓库地址
git fetch                                           # 获取远程仓库的更新但不合并
git pull                                            # 获取远程更新并合并到当前分支
git push                                            # 将本地提交推送到远程仓库
git push origin <branch-name>                       # 推送本地分支到远程仓库

14. 标签管理

bash 复制代码
git tag                                             # 列出所有标签
git tag <tag-name>                                  # 创建新标签
git tag -a <tag-name> -m "Tag message"              # 创建带注释的标签
git push origin <tag-name>                          # 推送标签到远程仓库

15. 撤销操作

bash 复制代码
git reset --hard HEAD                               # 撤销工作目录和暂存区的所有更改
git reset HEAD <file>                               # 将文件从暂存区移除但保留工作目录的更改
git revert <commit>                                 # 创建一个新的提交来撤销指定提交的更改

三、常见问题处理方法

1. 无法推送到远程仓库

#可能是因为远程分支的HEAD指向了非引用,或者远程仓库拒绝更新

bash 复制代码
git push --set-upstream origin <branch-name>        # 设置上游分支
git pull origin <branch-name>                       # 拉取远程更新
git push origin <branch-name>                       # 再次尝试推送

2. 分支丢失

可能是因为分支被删除或覆盖

bash 复制代码
git reflog                             # 查看 Git 引用日志
git checkout <commit-hash>             # 切换到指定的提交
git branch <branch-name>               # 创建新分支

3. 文件被错误地添加到暂存区

bash 复制代码
git reset HEAD <file>                               # 取消暂存单个文件
git reset HEAD                                      # 取消暂存所有文件

4. 回到之前的提交

bash 复制代码
git checkout <commit-hash>                          # 切换到指定的提交
git checkout -b <branch-name>                       # 创建新分支
git reset --hard <commit-hash>                      # 强制重置当前分支到指定提交

5. 忘记暂存文件

bash 复制代码
git add <file>                                      # 添加文件到暂存区
git commit --amend                                  # 修改最后一次提交

6. 提交信息错误

bash 复制代码
git commit --amend -m "Corrected commit message"    # 修改最后一次提交的信息

7. 删除远程分支

bash 复制代码
git push origin --delete <branch-name>              # 删除远程分支

8. 文件冲突解决后无法提交

bash 复制代码
git add <file>                                      # 添加解决冲突后的文件
git commit -m "Resolved conflict"                   # 提交更改
相关推荐
qqxhb4 小时前
04|最小工程素养:文件、命令行、依赖、环境变量、Git
git·环境·依赖·工程·项目结构
国家二级编程爱好者8 小时前
删除typora文档没有引用的资源文件
git·python
Rsun0455112 小时前
Git相关面试题
git
rogerogers13 小时前
在 VS Code Remote SSH 中完美配置 GPG 自动签名 (macOS 到 Ubuntu 24.04)
git·visual studio code
qiuyuyiyang14 小时前
Nginx 反向代理之upstream模块以及完整配置反向代理示例
git·nginx·github
勇闯逆流河16 小时前
【Linux】Linux基础开发工具(git、dbg)
linux·运维·服务器·开发语言·c++·git
Wpa.wk17 小时前
IDE中配置Git常见操作
ide·经验分享·git·测试工具
NaCl鱼呜啦啦1 天前
Git 仓库损坏修复指南:从诊断到恢复
git
huazi991 天前
AI编程(一):Trae+Git 应用开发
git·ai编程·trae
badhope2 天前
GitHub热门AI技能Top20实战指南
前端·javascript·人工智能·git·python·github·电脑