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

Git常用命令简明教程

本教程整合并优化了Git核心命令,涵盖初始化、配置、文件操作、分支管理、远程仓库操作及常见场景,适合快速入门和日常参考。命令按使用流程分组,简洁明了,包含注意事项和最佳实践。


1. 初始化与配置

初始化Git仓库并设置基本配置。

  • git init
    初始化当前目录为Git仓库,创建.git文件夹。

  • git clone <repository_url>
    克隆远程仓库到本地,例如git clone https://github.com/username/repository.git

  • git status
    查看当前分支状态,显示已修改、已暂存或未跟踪的文件。

  • git config --global user.name “Your Name”
    设置全局用户名,例如"Your Name"。

  • git config --global user.email “your.email@example.com”
    设置全局邮箱,例如"your.email@example.com"。

  • git config --global core.editor “code --wait”
    配置默认编辑器为VS Code(替代VIM)。


2. 文件操作与提交

管理文件修改、暂存和提交。

  • git add <file_name>
    将指定文件暂存到待提交区域。

  • git add .
    暂存当前目录下所有修改的文件。建议:逐个添加文件,确保提交内容清晰。

  • git commit -m “message”
    提交暂存文件到本地仓库,附带简洁描述性提交信息,例如git commit -m "Add login feature"

  • touch .gitignore
    创建.gitignore文件,指定忽略的文件或文件夹(例如node_modules/.env)。

  • git checkout – <file_name>
    丢弃工作区中指定文件的修改,恢复到最新提交状态。

  • git reset --hard <commit_hash>
    将当前分支回退到指定提交,丢弃之后的所有更改。注意:谨慎使用,数据不可恢复。


3. 查看历史与差异

检查提交历史和代码差异。

  • git log
    显示详细提交历史记录。

  • git log --oneline
    以单行格式简洁显示提交历史。

  • git show <commit_hash>
    查看指定提交的详细信息。

  • git diff
    比较工作区与暂存区之间的差异。

  • git diff --staged
    比较暂存区与上次提交之间的差异。

  • git diff <commit_hash1> <commit_hash2>
    比较两个提交之间的差异(可使用..简化,如git diff <hash1>..<hash2>)。

  • git diff
    比较两个分支之间的差异。


4. 分支管理

创建、切换、合并和删除分支。

  • git branch
    列出所有分支,当前分支前有*标记。

  • git branch <branch_name>
    创建新分支,例如git branch feature-login

  • git checkout <branch_name>git switch <branch_name>
    切换到指定分支。

  • git checkout -b <branch_name>git switch -c <branch_name>
    创建并立即切换到新分支。

  • git merge <branch_name>
    将指定分支合并到当前分支。建议:在main分支上合并其他分支。
    注意:若不同分支修改同一文件,可能引发冲突,需手动编辑文件,保留所需代码并删除冲突标记。

  • git rebase <branch_name>
    将当前分支的提交重新应用到指定分支(例如master)上。注意:会改写历史,团队协作时需谨慎。

  • git branch -d <branch_name>
    删除已合并的本地分支。未合并分支需用-D强制删除。


5. 暂存工作

临时保存修改以切换分支。

  • git stash
    暂存当前分支的未提交修改,允许切换分支。

  • git stash pop
    恢复最近一次暂存的修改,可在原分支或新分支应用。

  • git stash list
    列出所有暂存记录。


6. 远程仓库操作

与远程仓库(例如GitHub)交互。

  • git remote -v
    查看已配置的远程仓库信息。

  • git remote add origin
    添加远程仓库,例如git remote add origin https://github.com/username/repository.git

  • git remote remove
    删除指定远程仓库连接。

  • git remote rename <old_name> <new_name>
    重命名远程仓库连接。

  • git remote set-url origin <new_url>
    修改远程仓库URL。

  • git push -u origin <branch_name>
    推送本地分支到远程仓库并设置上游分支,例如git push -u origin main

  • git push origin <branch_name>
    推送指定分支到远程仓库。

  • git pull
    从远程仓库拉取代码并合并到当前分支。等效于git fetchgit merge


7. GitHub特定操作

在GitHub上创建和管理仓库。

  1. 创建GitHub仓库
    登录GitHub,点击“New Repository”创建新仓库,复制仓库URL。

  2. git branch -M main
    重命名默认分支为main(或自定义名称),例如从master改为main

  3. 配置SSH密钥

    • 生成SSH密钥并添加到SSH代理:参考GitHub指南。
    • 添加SSH密钥到GitHub账户:参考GitHub指南。
    • 测试SSH连接:参考GitHub指南。

8. 注意事项与最佳实践

  • 分支隔离:除首次提交外,各分支独立,提交不会相互影响,除非执行合并或变基操作。
  • 冲突解决:合并冲突时,Git会标记冲突区域,需手动编辑文件,保留所需代码,删除冲突标记(如<<<<<<<=======>>>>>>>)。
  • 谨慎使用rebasegit rebase会改写提交历史,公开分支上使用可能导致团队协作问题。
  • 提交信息:编写清晰的提交信息,描述变更内容,例如“Fix login bug”或“Add user profile page”。
  • gitignore:在项目初期创建.gitignore,忽略临时文件、依赖文件夹(如node_modules/)等。
  • 备份与安全:定期推送代码到远程仓库,避免本地数据丢失。

相关文章:

  • Git 撤回合并提交
  • 在web应用后端接入内容审核——以腾讯云音频审核为例(Go语言示例)
  • Spark Mllib 机器学习
  • 将你的本地项目发布到 GitHub (新手指南)
  • Unreal Engine 实现软件测试方案的仿真体验
  • 【大模型】图像生成 - Stable Diffusion 深度解析:原理、应用与实战指南
  • R语言操作n
  • 数据集下载(AER 和causaldata R包)
  • Stable Diffusion 技术全景解析与行业竞争力分析
  • DAY8-GDB调试及打桩
  • 相机DreamCamera2录像模式适配尺寸
  • 知识体系_数据量纲化处理方式
  • 详细图解 Path-SAM2: Transfer SAM2 for digital pathology semantic segmentation
  • 计算机网络-运输层(1)
  • 2025.4.27_C_Struct,Enum,Union
  • 如何通过OKR管理项目目标
  • 【第三十三周】BLIP论文阅读笔记
  • Flink02-学习-套接字分词
  • Ldap高效数据同步- MirrorMode双主复制模式配置详解(上)
  • 在 Cursor 中 配置 GitHub MCP Server
  • 特朗普的百日执政支持率与他“一税解千愁”的世界观和方法论
  • 解放日报头版头条:“五个中心”蹄疾步稳谱新篇
  • 从“网点适老化”到“社区嵌入式”,“金融为老上海模式”如何探索?
  • 专访|伊朗学者:美伊核谈不只是改革派立场,但伊朗不信任美国
  • 仅退款正式成历史?仅退款究竟该不该有?
  • 五一假期上海路网哪里易拥堵?怎么错峰更靠谱?研判报告来了