github/gitee 操作命令详解

github/gitee 操作命令详解

一、github介绍

1、主要功能

GitHub 是全球最大的代码托管和协作平台,基于分布式版本控制系统 Git 构建。其主要功能包括:

  1. 代码托管

    开发者可通过 Git 命令将本地代码库上传至远程仓库(Repository),实现云端备份与同步

    复制代码
    git push origin main
  2. 协作开发

    • 分支管理 :支持创建特性分支(git checkout -b feature),避免主代码污染
    • Pull Request:通过代码评审机制(Code Review)合并修改
    • 问题追踪:使用 Issues 模块管理任务和缺陷
  3. 持续集成

    通过 GitHub Actions 实现自动化工作流:

    yaml 复制代码
    name: CI
    on: [push]
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - run: npm install && npm test

2、关键特性

  • 🧩 分布式版本控制
  • 🔀 分支管理
  • 🔍 代码审查工具
  • 🤖 自动化工作流 (GitHub Actions)
  • 📂 项目管理工具
  • 🌐 社区生态
    📊 可视化分析

3、使用场景

  1. 个人开发者:备份代码、展示作品集
  2. 企业团队:敏捷开发、CI/CD 流水线
  3. 学术研究:论文复现、数据共享
  4. 开源项目:版本发布(Releases)、贡献者管理

4、入门步骤

  1. 注册账号:https://github.com/signup

  2. 创建仓库:New Repository → 初始化 README.md

  3. 本地关联:

    bash 复制代码
    git init
    git remote add origin https://github.com/user/repo.git

建议学习路径:掌握 Git 基础命令 → 理解 Pull Request 流程 → 实践 Issues 项目管理 → 探索 Actions 自动化

5、延伸阅读

二、核心概念

  1. 版本库(Repository)

    存储项目的所有文件、历史记录和元数据,是GitHub最基本的存储单位。分为:

    • 公开版本库(Public Repo)
    • 私有版本库(Private Repo)
  2. 分支(Branch)

    用于隔离开发工作的独立代码线,常见操作:

    shell 复制代码
    git checkout -b new-feature  # 创建新分支
    git merge main               # 合并到主分支
  3. 拉取请求(Pull Request)

    协作核心机制,流程包括:

    创建分支
    提交修改
    发起PR
    代码审查
    合并到主分支

  4. Fork(派生)

    将他人版本库复制到自己的账户下,形成独立副本:
    原版本库 → fork 用户副本 \text{原版本库} \xrightarrow{\text{fork}} \text{用户副本} 原版本库fork 用户副本

  5. 问题跟踪(Issues)

    项目管理工具,支持:

    • 任务分配
    • 错误报告
    • 功能请求
    • 标签分类
  6. Git工作流

    常见协作模式:

    python 复制代码
    # 典型开发流程
    def develop():
        clone_repo()      # 克隆版本库
        create_branch()   # 创建特性分支
        commit_changes()  # 多次提交
        push_branch()     # 推送分支
        open_pr()         # 发起拉取请求
  7. 持续集成(CI/CD)

    通过GitHub Actions实现自动化:

    yaml 复制代码
    name: CI
    on: [push]
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - run: npm install
          - run: npm test

三、 常用命令详解

1、配置用户信息 (首次使用 Git 或新电脑)

shell 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
  • --global:设置全局配置,对这台机器上的所有仓库生效。
  • 这些信息会记录在你提交的日志中。

2、初始化仓库

shell 复制代码
git init
  • 在当前目录创建一个新的 Git 本地仓库,生成一个隐藏的 .git 文件夹。
  • 通常在项目开始时执行一次。

3、克隆远程仓库

shell 复制代码
git clone https://github.com/用户名/仓库名.git
  • 将 GitHub 上的远程仓库完整地复制到本地。
  • 会自动设置名为 origin 的远程地址指向克隆的来源。
  • 这是获取已有项目代码的主要方式。

4、 查看状态

shell 复制代码
git status
  • 显示工作区和暂存区的状态。
  • 列出哪些文件被修改了但还没暂存 (Changes not staged for commit)。
  • 列出哪些文件已暂存等待提交 (Changes to be committed)。
  • 列出未被 Git 跟踪的新文件 (Untracked files)。

5、添加文件到暂存区

shell 复制代码
git add 文件名 # 添加特定文件
git add . # 添加当前目录下所有修改和新增文件
git add -A # 添加工作区中所有修改和新增文件
  • 将工作区的改动放入暂存区,为提交做准备。
  • 需要 git add 后,改动才会被包含在下次提交中。

6、 提交改动到本地仓库

shell 复制代码
git commit -m "提交信息描述"
  • 将暂存区的内容创建一个新的版本(提交)保存到本地仓库。
  • -m 后面跟的是本次提交的说明信息,必须清晰、简洁、有意义 。例如:git commit -m "修复用户登录页面的样式错误"

7、查看提交历史

shell 复制代码
git log # 查看详细历史
git log --oneline # 查看简略历史(单行显示)
git log --graph # 查看带有分支合并图形的历史
  • 显示当前分支的提交历史记录,包括提交哈希值、作者、日期和提交信息。

8、分支操作

shell 复制代码
git branch # 查看本地分支列表
git branch 新分支名 # 创建新分支(基于当前所在分支)
git checkout 分支名 # 切换到指定分支
git switch 分支名 # (Git 2.23+) 切换到指定分支,推荐使用
git merge 分支名 # 将指定分支合并到当前分支
git branch -d 分支名 # 删除已合并的分支
  • 分支是 Git 的核心功能,用于并行开发和管理不同功能。
  • 使用 git checkoutgit switch 切换分支前,最好确保工作区是干净的(没有未提交的修改)。

9、与远程仓库交互

shell 复制代码
git remote -v # 查看已配置的远程仓库地址(通常叫 origin)
git fetch origin # 从远程仓库 origin 获取最新信息(不合并)
git pull origin 分支名 # 相当于 git fetch + git merge,拉取远程分支并合并到当前本地分支
git push origin 本地分支名:远程分支名 # 将本地分支推送到远程仓库的指定分支
git push origin 分支名 # 通常用于将本地分支推送到远程同名分支
git push -u origin 分支名 # 首次推送时,建立本地分支与远程分支的追踪关系
  • git fetch:只获取远程仓库的更新信息(如新分支、新提交),不会自动修改你的工作目录。需要手动合并。
  • git pull:更常用,它执行 git fetch 然后立即尝试 git merge 将远程的更新合并到你当前所在的本地分支。
  • git push:将你本地仓库的提交推送到远程仓库。注意:强制推送 (git push -f) 会覆盖远程历史,应谨慎使用。

10、查看差异

shell 复制代码
git diff # 查看工作区与暂存区的差异
git diff --staged # 查看暂存区与最后一次提交的差异
git diff 提交A 提交B # 查看两个提交之间的差异
  • 用于比较不同版本或状态之间的文件内容变化。

11、撤销操作

shell 复制代码
git restore 文件名 # 丢弃工作区中指定文件的修改(恢复到最近一次提交或暂存的状态)
git restore --staged 文件名 # 将已暂存的文件移出暂存区(保留工作区的修改)
git reset --hard HEAD # 彻底丢弃工作区和暂存区的所有修改,恢复到 HEAD 指向的提交状态
  • 用于撤销尚未提交的修改。谨慎使用 --hard,它会永久丢弃未提交的改动。

12、变基 (Rebase - 进阶)

shell 复制代码
git rebase 目标分支 # 将当前分支的修改在目标分支的最新提交上重演
  • 用于整理提交历史,使其更线性清晰。比 merge 更复杂,在共享分支上使用要小心,因为它会改写历史。

13、储藏 (Stash - 临时保存)

shell 复制代码
git stash # 将当前未提交的改动临时储藏起来
git stash pop # 恢复最近一次储藏的改动
  • 当你想临时切换分支但又不想提交未完成的工作时使用。

14、总结

这些是日常使用 Git 和与 GitHub 交互时最常用的命令。掌握它们能有效进行版本控制、分支管理和团队协作。实际使用时,请结合 git help <命令>(如 git help push)或查阅 Git 官方文档获取更详细的解释和选项。

相关推荐
无限进步_3 分钟前
【C++&string】寻找字符串中第一个唯一字符:两种经典解法详解
开发语言·c++·git·算法·github·哈希算法·visual studio
木下~learning14 分钟前
零基础Git入门:Linux+Gitee实战指南
linux·git·gitee·github·虚拟机·版本控制·ubunt
CoderJia程序员甲36 分钟前
GitHub 热榜项目 - 日榜(2026-04-07)
ai·大模型·llm·github·ai教程
Maynor9961 小时前
纸质书《OpenClaw超级个体实操手册》已上市!
人工智能·github·飞书
Arvin_Rong2 小时前
Claude Code / Codex / Github Copilot 使用量消耗体感
github·copilot·vibe coding
2301_764441332 小时前
2026年GitHub中比较热门的skills技能
人工智能·自然语言处理·开源·github
AI成长日志2 小时前
【GitHub开源项目专栏】黑客松项目从零到一:创意构思、技术选型与敏捷开发全流程
开源·github·敏捷流程
淼淼爱喝水2 小时前
Ansible 常用文件模块详解(copy、file、fetch)
chrome·git·github
zoujiahui_20183 小时前
ubuntu使用中的问题
linux·ubuntu·github
wd5i8kA8i11 小时前
自研多线程 SSH 极速文件传输助手(附 GitHub 源码)
运维·ssh·github