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)。

  • git config --global --edit
    用默认编辑器打开 Git 配置文件。


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. SSH连接到 GitHub

配置 SSH 连接,避免每次推送时输入用户名和密码。

  1. 生成 SSH 密钥对
    运行以下命令生成一个新的 SSH 密钥对:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    按照提示操作,通常使用默认路径 ~/.ssh/id_rsa

  2. 将公钥添加到 GitHub

    • 查看并复制公钥内容:

      cat ~/.ssh/id_rsa.pub
      
    • 登录 GitHub,进入 Settings > SSH and GPG keys,点击 New SSH key,将复制的公钥粘贴并保存。

  3. 测试 SSH 连接
    运行以下命令测试 SSH 连接是否成功:

    ssh -T git@github.com
    

    如果成功,会显示:

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.
    
  4. 更改远程仓库 URL 为 SSH
    如果你之前使用了 HTTPS 链接,改为 SSH 链接:

    git remote set-url origin git@github.com:username/repository.git
    

    之后推送时不会再要求输入用户名和密码,而是使用 SSH 密钥进行身份验证。


9. 注意事项与最佳实践

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值