实验二: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 版本已成功推送。

相关推荐
邵奈一1 小时前
git报错:error: RPC failed; curl 16 Error in the HTTP2 framing layer
git·网络协议·rpc
云纳星辰怀自在3 小时前
Git系列之git tag和Release&Milestone
git
繁华似锦respect4 小时前
linux-git
git
残轩5 小时前
用Gitee+Typora轻松打造自己专属的私有云笔记
git·markdown
Eternity.,8 小时前
【Git原理与使用三】Git远程仓库
git·gitee·centos·远程仓库
熙曦Sakura10 小时前
【Git】删除文件
git
山上春10 小时前
常见的 Git 命令
大数据·git·elasticsearch
希望永不脱发的程序猿10 小时前
git的坑
git
Z_W_H_11 小时前
提取GIT最近提交的修改文件
git
palomua21 小时前
25.3.7#Git命令#merge和rebase的区别
大数据·git·elasticsearch