git 介绍与使用教程

Git 是一个 分布式版本控制系统,每个开发者都有一个完整的本地仓库(包含完整历史记录),而远程仓库(如 GitHub、GitLab、Gitee)是团队共享的中央仓库。它们的关系如下:

  1. 本地仓库(Local Repository)

    • 存储在你的计算机上,包含完整的提交历史、分支和代码。

    • 你可以独立进行提交(git commit)、创建分支(git branch)等操作,无需联网。

  2. 远程仓库(Remote Repository)

    • 存储在服务器(如 GitHub)上,团队成员可以共享代码。

    • 通常命名为 origin(默认远程仓库别名),但可以有多个远程仓库(如 upstream)。

一、将本地项目提交到远程仓库的指令

复制代码
cd 项目文件夹
git remote add origin http://192.168.20.33:1000/ye/gpt-sovits-main.git    # 添加远程仓库
git init                     # 初始化本地仓库
git add .                    # 将本地项目所有文件添加到暂存区
git commit -m "全部更新"      # commit 提交项目,-m 后面的文字是本次提交(commit)添加的提交信息
git push origin main:master  # 将本地main仓库的文件push到远程的master分支

二、继续提交新的项目

复制代码
rm -rf .git        # 删除现有仓库里的项目

然后按照第一步继续执行即可

三、修改远程仓库的文件(以k.py为例)

复制代码
# 拉取远程 master 分支的最新代码
git pull origin master
# 使用编辑器(如 VS Code)修改
code k.py  

git status                    # 查看已修改的文件      
git add k.py                  # 将修改添加到暂存区
git commit -m "更新k.py文件"   # 提交到本地仓库
git push -u origin master

常用指令

复制代码
git clone <仓库URL>        # 克隆远程仓库到本地
git status                 # 查看当前仓库状态(显示已修改/未跟踪的文件)
git add <文件名>           # 将文件添加到暂存区

============ 分支管理 =============
git branch                 # 列出所有本地分支
git branch <分支名>        # 创建一个新分支(但不会自动切换)
git checkout <分支名>      # 切换到指定分支
git merge <分支名>         # 将指定分支合并到当前分支(可能产生冲突需手动解决)
git branch -d <分支名>     # 删除本地分支(需先切换到其他分支)

=========== 远程仓库操作 =============
git remote add <别名> <仓库URL>     # 添加远程仓库并指定别名(如 origin)
git remote -v              # 查看已配置的远程仓库及其URL
git push <远程名> <分支名>  # 推送本地分支到远程仓库(如 git push origin main)
git pull <远程名> <分支名>  # 拉取远程分支的更新并合并到当前分支(等价于 git fetch + git merge)
git fetch <远程名>         # 从远程仓库下载最新数据(但不自动合并)

=========== 
相关推荐
霸道流氓气质1 天前
GitLab CI/CD 完全指南
linux·ci/cd·gitlab
sbjdhjd1 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
用什么都重名2 天前
Git 合并两个无共同历史的分支:从报错到解决全记录
git·gitlab
master3362 天前
GitLab (Docker) 常用命令及解决方案清单
docker·容器·gitlab
qq_356408662 天前
GitLab 单机私有化部署文档(基于 Docker 环境)
docker·gitlab
lisanmengmeng4 天前
gitlab 免密配置
linux·服务器·gitlab
求知若渴,虚心若愚。4 天前
Jenkins 自动化流水线(CICD)
运维·自动化·gitlab
mnasd6 天前
Gitlab + Jenkins 实现 CICD
运维·gitlab·jenkins
鹤鸣的日常7 天前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
starvapour7 天前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab