Skip to content

🚀 Git 使用详解与拓展教程


📦 创建新仓库

在命令行创建本地项目并连接远程仓库

bash
echo "# 项目名" >> README.md       # 创建 README.md
git init                           # 初始化 Git 仓库
git add .                          # 添加所有文件到暂存区
git add README.md                 # 添加 README.md(冗余,但可保留)
git commit -m "first commit"      # 提交
git branch -M main                # 重命名主分支为 main
git remote add origin https://github.com/用户名/仓库名.git  # 添加远程仓库
git push -u origin main           # 推送到远程

🔄 修改远程仓库地址

bash
git remote set-url origin 新地址

🔐 记住 GitHub 密码

bash
git config --global credential.helper store

建议改用 SSH 登录更安全稳定,见后文 SSH 配置。


🌱 本地分支管理

bash
git branch                      # 查看所有分支
git branch 新分支名            # 创建分支
git checkout 分支名            # 切换分支
git branch -d 分支名           # 删除分支(安全删除)
git branch -D 分支名           # 强制删除分支
git branch -M 旧名 新名        # 重命名分支

🚀 推送分支

bash
git push origin 分支名
git push origin 本地分支:远程分支    # 推送到指定远程分支

🏠 Git 三大区域

text
工作区 --> 暂存区 --> 仓库区
   |         |          |
   |         +-----> git commit
   +---------------> git add

🕰️ 版本回退

bash
git log                         # 查看提交历史
git reset --hard 版本号        # 回退到某一版本(注意是不可逆的)
git reflog                      # 查看 HEAD 移动记录(可找到已被 reset 的提交)

⛓️ 克隆远程仓库

bash
git clone 远程地址

🔄 同步更新远程仓库

bash
git pull       # 拉取远程最新代码
git push       # 推送代码到远程

✅ 建议每天:

  • 上班第一件事:git pull
  • 下班最后一件事:git push

🔐 使用 SSH 连接 GitHub(推荐)

生成 SSH 密钥对:

bash
ssh-keygen -t rsa -C "你的邮箱"

连续回车即可。

步骤:

  1. 查看公钥内容:

    bash
    cat ~/.ssh/id_rsa.pub
  2. 复制并添加到 GitHub → Settings → SSH and GPG Keys。

  3. 克隆仓库使用 SSH 地址:

    bash
    git clone git@github.com:xxx/xxx.git

🔀 分支合并示例

bash
git branch B
git checkout B
# 修改文件并提交
git add .
git commit -m "add some content"
git checkout A
git merge B   # 合并 B 到 A

注意:当前分支就是被合并的目标分支


⚔️ 冲突的产生与解决

情境:

  1. 同事 push 了新的代码。

  2. 你未 pull,直接修改本地代码。

  3. 执行 git push 被拒绝。

  4. 提示 rejected,需先执行 git pull

  5. 出现冲突标记:

    <<<<<<< HEAD
    本地修改内容
    =======
    远程修改内容
    >>>>>>> 分支名
  6. 手动修改后,保存并执行:

bash
git add .
git commit -m "解决冲突"

📁 .gitignore 使用

语法:

text
# 忽略文件夹
/xxx/

# 忽略所有.zip 文件
*.zip

# 忽略特定文件
/ms/ms.doc

# 排除忽略的文件(即强制追踪)
!ss.p

更新 .gitignore 生效步骤

.gitignore 修改后不立即生效?执行:

bash
git rm -r --cached .
# 修改 .gitignore
git add .
git commit -m "clear cache"

🌐 全局配置忽略文件

bash
git config --global core.excludesfile ~/.gitignore

⚙️ 常用 Git 配置

bash
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
git config --list      # 查看当前配置

✅ 总结

  • 每次进入项目:git pull
  • 开始开发新功能:新建分支 → 开发 → 合并 → 删除分支
  • 冲突解决靠沟通
  • 合理使用 .gitignore
  • 多用 git statusgit log 查看当前状态