代码管理——Git的使用(1)

Git 是一个分布式版本控制系统,用于跟踪文件变化、协同开发和管理代码历史。它能记录每一次修改的细节(谁、何时、修改了什么),支持多人协作、版本回退、分支管理等核心功能。

Git 基础使用

(1) 创建仓库

  • 初始化本地仓库

    git init                    # 在当前目录创建空仓库
    git init <目录名>           # 在指定目录创建仓库
    
  • 克隆远程仓库

    git clone <远程仓库URL>      # 克隆远程仓库到本地
    git clone -b <分支名> <URL>  # 克隆指定分支
    

(2) 操作仓库

  • 添加文件到暂存区

    git add <文件名>           # 添加单个文件
    git add .                # 添加所有修改和新文件
    git add *.txt            # 添加所有txt文件
    
  • 提交到本地仓库

    git commit -m "提交说明"    # 提交暂存区的修改
    git commit -am "提交说明"  # 添加所有修改并直接提交(跳过`git add`)
    

(3) 版本回退

  • 查看提交历史

    git log             # 查看完整历史
    git log --oneline   # 单行显示历史
    git log -p          # 显示修改细节
    
  • 回退到指定版本

    git reset --hard HEAD^         # 回退到上一个版本
    git reset --hard <commit-id>  # 回退到指定commit(前7位即可)
    git checkout <commit-id>      # 临时切换到旧版本(只读)
    

(4) 工作区与暂存区

  • 工作区:本地修改但未 git add 的文件。
  • 暂存区:已 git add 但未 git commit 的文件。
  • 仓库:已提交的历史版本。

(5) 修改与删除

  • 撤销工作区修改

    git checkout -- <文件名>  # 丢弃未暂存的修改
    
  • 删除文件

    git rm <文件名>          # 删除文件并暂存删除操作
    git rm --cached <文件名> # 从仓库移除但保留本地文件
    

3. 远程仓库操作

(1) 关联远程仓库

git remote add origin <远程仓库URL>  # 关联远程仓库(默认别名origin)
git remote -v                     # 查看远程仓库信息

(2) 推送与拉取

  • 推送本地提交

    git push origin <分支名>      # 推送本地分支到远程
    git push -u origin main      # 首次推送并设置上游分支
    
  • 拉取远程更新

    git pull origin <分支名>      # 拉取并合并远程分支
    git fetch origin            # 仅获取远程更新(不自动合并)
    

4. 分支管理

(1) 基础操作

  • 创建与切换分支

    git branch <分支名>          # 创建分支
    git checkout <分支名>       # 切换分支
    git checkout -b <分支名>    # 创建并切换到新分支
    
  • 删除分支

    git branch -d <分支名>      # 删除已合并的分支
    git branch -D <分支名>      # 强制删除未合并的分支
    

(2) 合并分支

  • 普通合并

    git checkout main          # 切换到主分支
    git merge <分支名>         # 合并指定分支到当前分支
    
  • 解决冲突
    手动编辑冲突文件 → git addgit commit

  • 变基(Rebase)

    git checkout feature
    git rebase main           # 将feature分支的修改“嫁接”到main最新提交后
    

标签管理

  • 创建标签

    git tag v1.0              # 轻量标签
    git tag -a v1.0 -m "版本说明"  # 附注标签(含提交信息)
    
  • 推送标签到远程

    git push origin v1.0       # 推送单个标签
    git push origin --tags     # 推送所有标签
    

其他常用命令

命令 用途 示例
git status 查看当前状态(修改/暂存/未跟踪文件) git status
git diff 查看工作区与暂存区的差异 git diff
git stash 临时保存未提交的修改 git stashgit stash pop
git cherry-pick <commit> 将指定提交应用到当前分支 git cherry-pick abc1234
git rebase -i <commit> 交互式变基(合并/修改提交历史) git rebase -i HEAD~3
git reflog 查看所有操作记录(包括已删除的commit) git reflog
git config 配置Git参数(用户名/邮箱等) git config --global user.name "Your Name"

7. 配置文件与忽略文件

  • 全局配置

    git config --global user.name "Your Name"
    git config --global user.email "your@email.com"
    
  • 忽略文件(.gitignore)
    创建 .gitignore 文件,列出需忽略的文件/目录:

    # 示例
    *.log
    /node_modules
    .env
    

工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库
           ↑               |                |
           └── git checkout / git reset ────┘
posted @ 2025-04-15 09:01  故渊Y  阅读(39)  评论(0)    收藏  举报