yanchang
yanchang
发布于 2025-12-24 / 35 阅读
0
0

git基本操作指南

掌握 Git 是现代软件开发的必备技能。为了让你更直观地理解,我将这些操作分为三个阶段:初次获取日常提交保持同步

以下是 Git 核心操作的简明指南:


1. 初始设置 (只需做一次)

在开始之前,你需要告诉 Git 你是谁。这会确保你的代码提交记录上有正确的名字和邮箱。

Bash

# 设置你的用户名
git config --global user.name "你的名字"

# 设置你的邮箱 (最好与GitHub账号邮箱一致)
git config --global user.email "your_email@example.com"

2. 从 GitHub 获取代码 (Clone)

当你加入一个新项目,或者想把 GitHub 上的仓库(Repository)下载到你本地电脑时,使用 clone

  • 命令:

    Bash

    git clone <仓库地址>
    
    • 示例: git clone https://github.com/username/project.git

  • 说明:这不仅下载了文件,还建立了本地文件夹与远程 GitHub 仓库的连接。


3. 日常开发:修改与推送 (Push)

这是你每天最常用的 "三部曲":暂存 (Add) -> 提交 (Commit) -> 推送 (Push)

第一步:查看状态 (可选但推荐)

看看你修改了哪些文件。

Bash

git status

提示: 红色文件表示未被追踪或已修改但未暂存,绿色文件表示已准备好提交。

第二步:暂存更改 (Add)

将你的修改放入“暂存区”(就像把商品放进购物车)。

Bash

# 添加所有修改过的文件
git add .

# 或者只添加特定文件
git add filename.py

第三步:提交到本地 (Commit)

将暂存区的内容正式保存到本地的历史记录中(就像在购物车结账,生成小票)。

Bash

git commit -m "这里写清楚你修改了什么,例如:修复登录页面的Bug"

第四步:推送到 GitHub (Push)

将你的本地提交上传到 GitHub 服务器(将本地仓库同步到远程)。

Bash

git push

如果你是第一次推送到一个新的分支,可能需要使用:git push -u origin <分支名>


4. 保持同步 (Pull)

如果你的队友更新了代码,或者你在另一台电脑上更新了代码,你需要把这些变更拉取到当前电脑。

  • 命令:

    Bash

    git pull
    
  • 作用: 这相当于执行了“下载更新”并自动“合并”到你当前的文件中。


5. 分支操作 (进阶但必要)

为了安全起见,我们通常不直接在 main (主分支) 上修改代码,而是新建一个分支开发。

  • 创建并切换到新分支:

    Bash

    git checkout -b feature-new-login
    # 或者新版 Git 命令:
    git switch -c feature-new-login
    
  • 切回主分支:

    Bash

    git checkout main
    # 或者:
    git switch main
    

5.我完全不想要本地的修改(强制覆盖)

如果你确定 requirements.txt 的修改可以丢弃,只想立刻把远程代码拉下来:

请执行这个“核弹级”命令(注意:这会丢失所有未提交的本地修改):

PowerShell

git reset --hard HEAD

然后再拉取:

PowerShell

git pull

6.我想保留修改,但先拉取代码(推荐)

如果你不确定,或者想把代码先存起来,用 stash 是最万能的,不管你有没有 add 过都能处理:

  1. 强制把所有修改(包括暂存区)藏起来:

    PowerShell

    git stash
    
  2. 拉取代码:

    PowerShell

    git pull
    
  3. (可选)把修改拿回来:

    PowerShell

    git stash pop
    

7.我想手动撤销那个文件的状态

如果你不想用 reset --hard 重置所有文件,只想针对 requirements.txt 进行彻底撤销:

  1. 先把文件从暂存区移除(Unstage):

    PowerShell

    git reset HEAD requirements.txt
    
  2. 再撤销文件的修改:

    PowerShell

    git checkout requirements.txt
    
  3. 最后拉取:

    PowerShell

    git pull
    

简单总结: 最省事的方法是直接用 方案一(如果你不在乎本地修改)或者 方案二(最安全)。

8. 分支合并 (Merge) —— 将开发成果汇入主干

合并分支通常有严格的先后顺序。假设你在 feature-well-log 分支上完成了新功能的开发,现在需要将其合并到 main 分支。

第一步:确保当前分支的代码已全部提交

在切换分支前,工作区必须是干净的。

Bash

git status
# 如果有未提交的改动,请先 git add 和 git commit

第二步:切换回目标分支 (主分支)

你需要站在“接收代码”的分支上进行合并操作。

Bash

git switch main

第三步:拉取云端最新代码 (极其重要)

在合并前,必须确保你的本地 main 分支是最新的,防止覆盖队友的代码。

Bash

git pull origin main

第四步:执行合并操作

feature-well-log 分支的代码合并到当前的 main 分支。

Bash

git merge feature-well-log

第五步:推送到 GitHub

合并完成后,此时本地的 main 已经包含了新功能,你需要将其同步到云端。

Bash

git push origin main

9. 解决合并冲突 (Resolve Conflicts)

在执行 git merge 时,如果你和队友恰好修改了同一个文件的同一行代码,Git 就会提示冲突(Conflict),此时合并会暂停。

第一步:查看哪些文件冲突了

Bash

git status
# 冲突的文件会被标记为 "both modified"

第二步:手动修复冲突

打开冲突的文件,Git 会在代码中插入类似这样的标记:

Plaintext

<<<<<<< HEAD
主分支上原有的代码
=======
你在 feature-well-log 分支上写的新代码
>>>>>>> feature-well-log

你需要手动删除这些标记(<<<<<<<, =======, >>>>>>>),并保留你最终想要的代码逻辑。

第三步:标记冲突已解决并提交

修改完所有冲突文件后,重新暂存并提交。

Bash

git add .
git commit -m "解决合并冲突,整合测井数据分析模块"

10. 查看提交历史 (Log)

当项目越来越复杂,你需要随时查看历史存档记录和分支走向。

查看基础历史记录:

Bash

git log

查看更直观的分支树状图 (强烈推荐):

这个命令不仅能看到历史,还能用图形化的方式展示各个分支是如何分化和合并的。

Bash

git log --oneline --graph --decorate --all

扩充版总结速查表

操作场景

核心命令

简单解释

切换分支

git switch <分支名>

在不同分支间横跳 (替代老版的 checkout)

创建分支

git switch -c <分支名>

新建并直接切换到该分支

合并分支

git merge <源分支名>

将指定分支的代码合并到当前所在分支

查看历史

git log --oneline --graph

查看带分支线图的精简版提交历史

撤销提交

git reset --soft HEAD~1

撤销上一次 commit,但保留你修改的代码 (后悔药)

强制重置

git reset --hard HEAD

丢弃所有未提交的修改,恢复到最后一次提交状态

总结速查表

操作

命令

简单解释

下载代码

git clone [url]

把项目从云端搬回家

查看状态

git status

我现在改了啥?

暂存文件

git add .

把修改放进待提交区

本地保存

git commit -m "..."

确认存档(生成版本号)

上传代码

git push

把存档发送到 GitHub

同步更新

git pull

把 GitHub 的新内容拉下来


评论