实验二:Git用法练习:使用 DevStar 搭建 Git 仓库托管平台

Git 是目前最流行的版本控制工具,而 GitHub、GitLab 等托管平台为团队协作提供了极大的便利。但在某些情况下,我们需要自建 Git 仓库托管平台,例如:

  • 保护私有代码,避免托管到公网

  • 提供企业或学校内部协作

  • 提升对 Git 服务器的管理和控制能力

Git 基本用法介绍

1. Git 简介

Git 是目前最流行的分布式版本控制系统,它由 Linus Torvalds(Linux 之父)于 2005 年开发。Git 允许多个开发者协作开发项目,跟踪代码变更,管理不同版本的代码。

2. Git 安装与配置

2.1 安装 Git

  • Windows 用户可以从 Git 官网 下载并安装。

  • macOS 用户可以使用 Homebrew 安装:

    复制代码
    brew install git
  • Linux 用户可以使用包管理器安装,例如 Ubuntu:

    复制代码
    sudo apt install git

2.2 配置 Git

安装完成后,需要进行基本的用户信息配置:

复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

3. Git 常用命令

3.1 初始化仓库

在一个目录下初始化 Git 仓库:

复制代码
git init

这将在该目录下创建一个 .git 文件夹,存储 Git 版本控制相关的文件。

3.2 克隆远程仓库

如果需要获取远程 Git 仓库,可以使用 git clone 命令:

复制代码
git clone <仓库地址>

例如克隆一个 GitHub 仓库:

复制代码
git clone https://github.com/user/repo.git

3.3 添加文件到暂存区

修改或新建文件后,需要先添加到暂存区:

复制代码
git add <文件名>

添加所有修改:

复制代码
git add .

3.4 提交更改

将暂存区的文件提交到本地仓库:

复制代码
git commit -m "提交信息"

3.5 查看状态

查看当前工作区状态,包括已修改、未跟踪的文件等:

复制代码
git status

3.6 查看提交记录

查看提交历史:

复制代码
git log

3.7 远程仓库操作

(1)关联远程仓库

如果本地仓库没有关联远程仓库,可以手动添加:

复制代码
git remote add origin <远程仓库地址>

(2) 推送代码

将本地提交推送到远程仓库:

复制代码
git push origin main

(3) 拉取代码

从远程仓库获取最新代码:

复制代码
git pull origin main

3.8 分支管理

(1)创建新分支

复制代码
git branch <分支名>

(2)切换分支

复制代码
git checkout <分支名>

或者使用 switch 命令(较新版本推荐):

复制代码
git switch <分支名>

(3)合并分支

复制代码
git merge <分支名>

(4) 删除分支

复制代码
git branch -d <分支名>

3.9 撤销与回滚

(1) 撤销暂存

如果已经 git add 但还未提交,可以撤销暂存:

复制代码
git reset HEAD <文件名>

(2) 撤销最后一次提交

如果想撤销上一次提交但保留文件修改:

复制代码
git reset --soft HEAD~1

如果想撤销提交并清除修改:

复制代码
git reset --hard HEAD~1

(3) 回滚到某个历史提交

使用 git log 找到提交 ID,然后执行:

复制代码
git reset --hard <提交ID>

搭建 DevStar

1、 环境准备

(1)安装依赖

本实验将在 Linux 服务器(Ubuntu 20.04)上搭建 DevStar,安装以下依赖:

复制代码
sudo apt update
sudo apt install -y git gcc make g++ cmake libssl-dev

(2)下载并编译 DevStar

复制代码
git clone https://github.com/mengning/DevStar.git
cd DevStar
make

(3)启动 DevStar 服务器

复制代码
./bin/DevStarServer 8080 &  # 在后台运行,端口 8080

(4)访问 DevStar

打开浏览器,访问 http://<服务器IP>:8080/,即可看到 DevStar 的 Web 界面。

2. Git 操作演示:从创建仓库到发布版本

2.1 在 DevStar 上创建 Git 仓库

  1. 访问 http://<服务器IP>:8080/

  2. 创建一个新的 Git 仓库,例如 myproject

2.2 在本地初始化 Git 仓库

复制代码
git init myproject
cd myproject

2.3 配置用户信息

复制代码
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

2.4 添加远程仓库

复制代码
git remote add origin http://<服务器IP>:8080/git/myproject.git

2.5 创建代码文件并提交

复制代码
echo "# MyProject" > README.md
echo "print('Hello, Git!')" > main.py
git add README.md main.py
git commit -m "初始化项目,添加 README 和 main.py"

2.6 推送代码到远程仓库

复制代码
git push -u origin master

2.7 创建新分支并进行开发

复制代码
git checkout -b feature-branch
echo "# 新功能开发" > feature.txt
git add feature.txt
git commit -m "添加新功能"

2.8 合并新功能到主分支

复制代码
git checkout master
git merge feature-branch
git push origin master

2.9 处理合并冲突(如果有冲突)

如果 git merge 过程中发生冲突,Git 会提示冲突文件,手动编辑文件解决冲突后执行:

复制代码
git add <冲突文件>
git commit -m "解决合并冲突"
git push origin master

2.10 创建标签并发布版本

复制代码
git tag -a v1.0 -m "发布 v1.0 版本"
git push origin v1.0

2.11 在 DevStar 上查看提交历史和标签

  1. 访问 http://<服务器IP>:8080/git/myproject.git

  2. 查看提交记录,确认 v1.0 版本已成功推送。

相关推荐
工藤孤独13 小时前
Git Worktree 从零到多智能体实战
git
微尘寒风1 天前
【Git】的安装和使用
java·git
胖大和尚1 天前
Git初始化本地文件夹,并推送到远端
git
啵啵啵12341 天前
Git 底层原理:分支为什么只是一个 41 字节的文件
git
demon75520031 天前
Git Worktree详解介绍
git·worktree
胖大和尚2 天前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了3 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang3 天前
GIT 备忘
git
DogDaoDao3 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog3 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github