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 小时前
【DevOps实战】使用 GitHub Actions 自动构建镜像并双推至 Docker Hub 和 GHCR
docker·自动化·github·devops
MicrosoftReactor3 小时前
技术速递|GitHub Copilot SDK 与云原生的完美融合
云原生·github·copilot
JiL 奥5 小时前
简易的 AWS SAM + GitHub Actions 项目
云计算·github·aws
潘晓可5 小时前
从自建Github实例迁移仓库到SaaS版Github
github
极客小云5 小时前
【基于AI的自动商品试用系统:不仅仅是虚拟试衣!】
javascript·python·django·flask·github·pyqt·fastapi
念丶小宇18 小时前
Github上传大文件
github
极智-9961 天前
GitHub 热榜项目-日榜精选(2026-02-03)| AI智能体、终端工具、RAG技术等 | claude-mem、99、termux-app等
人工智能·网络安全·github·ai智能体·llm应用·rag技术·torrent工具
mancy_1212121 天前
复古C语言代码复活!——以121+hello.c为例摘要
c语言·vscode·gitee·visual studio·新人首发·turbo c
骂我的人都死了1 天前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11