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 "[email protected]"

    设置全局邮箱,例如"[email protected]"。

  • 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密钥


8. 注意事项与最佳实践

  • 分支隔离:除首次提交外,各分支独立,提交不会相互影响,除非执行合并或变基操作。
  • 冲突解决 :合并冲突时,Git会标记冲突区域,需手动编辑文件,保留所需代码,删除冲突标记(如<<<<<<<=======>>>>>>>)。
  • 谨慎使用rebasegit rebase会改写提交历史,公开分支上使用可能导致团队协作问题。
  • 提交信息:编写清晰的提交信息,描述变更内容,例如"Fix login bug"或"Add user profile page"。
  • gitignore :在项目初期创建.gitignore,忽略临时文件、依赖文件夹(如node_modules/)等。
  • 备份与安全:定期推送代码到远程仓库,避免本地数据丢失。
相关推荐
Justice link1 小时前
Git和Gitlab的部署和操作
git
极小狐1 小时前
极狐GitLab 的合并请求部件能干什么?
运维·git·安全·gitlab·极狐gitlab
YoungHong19928 小时前
Git Bisect 使用指南:高效定位引入 Bug 的提交
git·bug
极小狐11 小时前
极狐GitLab 的压缩和合并是什么?
运维·git·ssh·gitlab·github
它说我会飞耶18 小时前
git 命令集
git
极小狐18 小时前
极狐GitLab 合并请求依赖如何解决?
运维·git·ssh·gitlab·github
ikkkkkkkl1 天前
Git基本操作
git
互联网搬砖老肖1 天前
git 的基本使用
大数据·git·elasticsearch
程序猿chen1 天前
量子跃迁:Vue组件安全工程的基因重组与生态免疫(完全体终局篇)
前端·vue.js·git·安全·面试·前端框架·跳槽