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 fetch加git merge。


7. GitHub特定操作

在GitHub上创建和管理仓库。

  1. 创建GitHub仓库

    登录GitHub,点击"New Repository"创建新仓库,复制仓库URL。

  2. git branch -M main

    重命名默认分支为main(或自定义名称),例如从master改为main。

  3. 配置SSH密钥


8. 注意事项与最佳实践

  • 分支隔离:除首次提交外,各分支独立,提交不会相互影响,除非执行合并或变基操作。
  • 冲突解决 :合并冲突时,Git会标记冲突区域,需手动编辑文件,保留所需代码,删除冲突标记(如<<<<<<<、=======、>>>>>>>)。
  • 谨慎使用rebase :git rebase会改写提交历史,公开分支上使用可能导致团队协作问题。
  • 提交信息:编写清晰的提交信息,描述变更内容,例如"Fix login bug"或"Add user profile page"。
  • gitignore :在项目初期创建.gitignore,忽略临时文件、依赖文件夹(如node_modules/)等。
  • 备份与安全:定期推送代码到远程仓库,避免本地数据丢失。
相关推荐
MinggeQingchun16 小时前
Git - 令牌登录
git
xhy_070718 小时前
Git 合并冲突怎么解决?用 AI 处理冲突的流程、Prompt 和 4 个易错点
人工智能·git·安全·prompt·ai编程·代码复审
Zhou14113621 小时前
Git_02_GitLab协作与CI_CD
git·ci/cd·gitlab
Zhou14113621 小时前
Git_03_GitFlow分支工作流
git
Flynt1 天前
把 bug tracker 塞进 git 仓库,同步和冲突怎么解决?我把 git-bug 拆开实测了一遍
分布式·git·开源
louisgeek2 天前
Git submodule 子模块
git
imDwAaY2 天前
6篇文章讲清楚Git:Git 实用技巧:暂存现场、挑选提交与定位 Bug (5/6)
git·后端
imDwAaY2 天前
6篇文章讲清楚Git:Git 团队开发实践:从 Pull Request 到版本发布 (6/6)
git·后端
誰能久伴不乏2 天前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git