Git 使用

终端命令

pwd 显示当前终端会话所在的目录位置 print work directory

ls 显示当前目录下的所有文件 list file

cd (..代表上一级 切换目录 change directory

Git

检查是否下载Git

终端输入 git version

若出现版本号证明已下载Git

初始化

终端输入

git config --global user.name "name"

git config --global user.email "email"

提交

终端输入git init 会在当前目录创建一个.git的隐藏文件夹 其中hook中会保存文件的每个git版本记录和变化

终端输入git add 文件名 把文件加进git版本控制系统中

若文件过多,输入git add . 将当前目录下的所有文件加到git版本控制系统中

终端输入git commit 把刚才暂时保存的变更提交固定成一个版本 此时会出现一个vim的终端编辑器,在此写提交说明 按 ai进入编辑模式 然后写说明 按Esc退出编辑模式 输入:wq (英文冒号,wq表示保存并退出) 完成编辑,退出到终端目录

补充

终端输入git commmit -"提交说明" 直接提交并附上说明

说明

git按行来比较文件的改变情况,只有两种情况: 新增、删除

终端输入git log 查看提交信息

vscode自带功能

更改代码后,点击VSCode左侧的源代码,点击更改的文件可以看到对比视图,左侧是上一侧commit的内容,右侧是更改后的内容。 点击左侧的源代码管理一栏的右侧对号按钮,然后点击 自动执行git add 和 git commit.在上侧输入"说明"按回车

补充

安装扩展Git Histort Diff 可以看到所有历史提交等

回退

终端输入git log 复制想回退到的版本commit id

终端输入git reset--hard commit id 即可回退 (hard是重置模式的一种,表示硬重置,即覆盖所有变更。 另外还有soft和mixed模式) 但是reset不仅回退了而且清空了之后的版本

branch

在不同版本切换: 在git commit时,终端输入git branch 分支名称

终端输入 git checkout 分支名称不断切换分支

终端输入 git merge可以将合并分支

终端输入 git tag创建固定版本

github

创建仓库

仓库命名设置等

创建主分支 git branch -M main

添加一个远程仓库地址 git remote add orgin xxx xxx为图片红线部分

上传到github git push -u origin main 输入用户邮箱和密码 有时因网络问题需要多push几次

如何参与开源项目

添加

public项目点进去,点击fork 即可将项目复制到自己的库里

在自己的库点开刚刚复制的项目,点击Code 复制链接

在VSCode中找到一个文件夹,在终端输入git clone 复制的链接 输入git remote -v可以看到只有自己仓库的链接 在复制一下源项目的链接 输入git remote add upstream 链接添加上游代码库

为项目添加功能

输入git checkout -b kwc创建并切换到进入kwc的分支

创建文件夹,创建json文件,说明name,url 然后 git add git commit git push 回到自己仓库,可以看到已有这个分支了

在源项目中,点击Pull Requests(pr)拉去请求 点击New pull request新建pr base为根源,compare为比较,选取自己刚刚的分支。 如果显示绿色对号,证明可以合并,填写pr信息并提交。 则源项目的管理者可以合并分支项目了

如果没有绿色对号,可能是写代码时,源项目管理者提交了新的commit使版本不一致

先更新本地版本: 输入git fetch upstream

再把远程的最新代码合并的自己的分支中 输入git merge upstream/main

再提交 输入git push 然后提交pr

参考链接

【git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request】 www.bilibili.com/video/BV1s3...

Git 教程 | 菜鸟教程 (runoob.com)

相关推荐
aramae4 分钟前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端
BerryS3N2 小时前
GitHub Actions自动化运维实战:从CI/CD到云端部署的完整指南
运维·自动化·github
胡萝卜术2 小时前
V040:RAG 检索增强生成的工程链路解构与生产级系统设计
面试·架构·github
工具派4 小时前
从 git commit 到交付 PDF:我的一条在线工具流实录
git·elasticsearch·pdf
鱼樱前端12 小时前
别再自己拼凑了!这款 Vue 3.5+ 严肃产品级组件库,把 AI 对话、工作流和复杂数据全包了!
javascript·vue.js·github
阿里嘎多学长14 小时前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
IpdataCloud15 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
OpenTiny社区17 小时前
TinyEngine 2.11版本发布:AI 进一步融入画布,Vue 工程可一键转DSL
前端·vue.js·github
七牛开发者19 小时前
RAG 工程里的上下文剪枝:如何减少 68% 的上下文
前端·css·github
咋吃都不胖lyh21 小时前
提交(Commit)到本地的 Git 仓库,然后才能推送(Push)到远程的 Git 仓库
git