Git从入门到日常:团队协作必备命令

Git从入门到日常:团队协作必备命令

你的代码是怎么管理的?文件夹复制,加上日期后缀v1v2v3_finalv3_final_real?改了一个bug,不小心覆盖了新功能。想找回昨天的版本,翻遍回收站也找不到。

这不是你的问题,是没有版本控制的必然结果。

Git是目前最流行的版本控制系统。今天不聊原理,只讲命令。学完就能用,用了就能解决实际问题。


Git是什么?——代码的“时光机”

Git的核心能力就三件事:记录每一次修改,随时回到任意历史版本,多条开发线同时进行。

团队协作时,它还能自动合并代码,冲突时提示你手动解决。

你不用管Git底层怎么存数据,只需掌握日常会用到的几个命令。


安装与初始化

Linuxsudo apt install git -y (Ubuntu/Debian) 或 sudo yum install git -y (CentOS/RHEL)

Windows/Mac:去git-scm.com下载安装包

验证:git --version

配置身份(每次提交都会记录你是谁):

bash

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

开始一个项目

  • 新项目:git init 在当前目录初始化仓库
  • 已有项目:git clone https://github.com/用户名/仓库名.git 下载到本地

日常开发四步曲

第一步:查看状态

bash

git status

显示哪些文件被修改、哪些是新文件、哪些要提交。建议每次操作前都敲一遍,避免误操作。

第二步:把文件加入暂存区

bash

git add 文件名      # 添加单个文件
git add .           # 添加所有新文件和修改
git add *.py        # 通配符

add不是提交,是把文件放进“购物车”,准备一次性提交。没add的文件不会被提交。

第三步:提交到本地仓库

bash

git commit -m "修复了登录bug"

-m后面是本次修改的说明,建议写得清晰,以便将来回溯。

第四步:推送到远程仓库

bash

git push origin main

把本地提交同步到GitHub/GitLab等远程仓库。origin是远程仓库的默认别名,main是分支名(老项目可能是master)。


分支操作

分支是Git最强大的特性。你可以在主分支之外开一条新线,改完测试通过再合并回去。

bash

git branch                # 查看本地分支(当前分支前有*号)
git branch feature-xxx    # 创建新分支
git checkout feature-xxx  # 切换到新分支
git checkout -b feature-xxx  # 创建并切换(两步并一步)
git merge feature-xxx     # 把feature-xxx合并到当前分支
git branch -d feature-xxx # 删除分支(合并后清理)

合并时遇到冲突:Git不知道保留哪个版本,会在文件里标记冲突位置,手动选择后重新addcommit


撤销与回滚

bash

git checkout -- 文件名     # 撤销工作区的修改,回到上次commit的状态
git reset HEAD 文件名      # 把文件从暂存区撤回,但保留修改
git reset --soft HEAD~1    # 撤销上一次commit,修改保留在暂存区
git reset --hard HEAD~1    # 彻底回到上一个版本,修改直接丢掉(慎用)
git log                    # 查看提交历史,找到想回去的commit id
git reset --hard commit_id # 回到指定版本

如果已经push到远程了,不要用reset,用git revert(生成一个新的反向提交),因为reset会改写历史,影响队友。


拉取与合并

bash

git pull origin main   # 拉取远程更新并合并到当前分支
git fetch origin       # 只拉取不合并,先看看远程改了啥
git diff origin/main   # 比较本地和远程的差异
git merge origin/main  # 手动合并

推荐git pull --rebase,能让提交历史更干净,但新手先用默认pull就好。


.gitignore:让Git忽略你不想管的文件

在项目根目录创建.gitignore文件,写入不需要版本控制的文件或目录。例如:

text

node_modules/
.env
*.log
.DS_Store
dist/

这些文件不会被git addgit status干扰。


团队协作标准流程

  1. 开始工作前:git pull origin main(拉取最新代码)
  2. 新建功能分支:git checkout -b feature-xxx
  3. 日常提交:git add . → git commit -m "xxx"
  4. 推送分支:git push origin feature-xxx
  5. 在GitHub/GitLab上发起Pull Request/Merge Request
  6. 团队评审通过后合并到主分支
  7. 删除本地分支:git branch -d feature-xxx
  8. 切回主分支并拉取更新:git checkout main → git pull origin main

核心原则:永远不在主分支上直接修改,每个功能单独开分支。


常用命令速查

命令用途
git status查看当前状态
git add .添加所有修改到暂存区
git commit -m "msg"提交到本地仓库
git push origin main推送到远程
git pull origin main拉取远程更新
git branch查看分支
git checkout -b xxx创建并切换分支
git merge xxx合并分支
git log --oneline简洁版提交历史
git diff查看未暂存的修改

一个真实案例

一个小型开发团队,三个人写同一个项目。以前用共享文件夹,经常出现“谁把代码覆盖了”的撕扯。用Git之后,每个人在自己的分支上开发,合并前先pull再push,覆盖问题再也没有出现过。

新来的实习生,半天就学会了这套流程。负责带他的人说:“以前教版本控制要两天,现在半天就够了。”


最后一句

Git不难,难的是每天用。

你不用记住所有命令。每天只用statusaddcommitpushpull五条。足够覆盖绝大多数日常场景。

从今天开始,把v1v2final这种文件夹删掉。用Git管理你的代码。一个月后你会觉得,以前的日子简直是原始社会。

知识库

服务器账单分析:找出云费用中的“隐形消费”

2026-5-18 18:31:01

知识库

服务器安全基线:CentOS/Ubuntu一键加固脚本

2026-5-19 17:20:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧