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/)等。
  • 备份与安全:定期推送代码到远程仓库,避免本地数据丢失。
相关推荐
安庆平.Я1 小时前
git互联GitHub 使用教程
git·github
自来也_8 小时前
Git配置代理
git
Jooolin1 天前
【编程史】Git是如何诞生的?这可并非计划之中...
linux·git·ai编程
Lw老王要学习1 天前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
去旅行、在路上1 天前
Git & Svn
git·svn
abcnull1 天前
github中main与master,master无法合并到main
git·github
养意1 天前
git提交代码和解决冲突修复bug
git·bug
码农黛兮_462 天前
Git 常用命令大全
git
一弓虽2 天前
git 学习
git·学习
疯狂的沙粒2 天前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch