github基础入门(2):仓库创建与项目提交追踪一个项目git分支
目录一、仓库创建与基本代码提交1.从本地开始追踪一个项目2.将本地所有文件添加到暂存区完成第一次提交3.在 GitHub 上创建一个空的远程仓库4.关联本地仓库和 GitHub 远程仓库5.将本地代码推送到 GitHub6.打开github 验证即可。二、从仓库开始追踪一个项目1.打开github仓库克隆仓库到本地2.本地修改文件并提交3.实践任务三、Git分支与版本控制共5点前2点1.分支管理基础1分支的概念与作用2分支的概念3核心作用4分支的核心操作2.合并分支解决冲突1什么时候会触发合并冲突2常见场景3创建测试目录和初始 Python 文件4编辑calculator文件见下文……一、仓库创建与基本代码提交1.从本地开始追踪一个项目进入本地项目文件夹初始化 Git 仓库(使用git bash)# 进入具体的项目文件夹 默认在c盘 cd D: cd learngit/ # 初始化git仓库 会生成一个.git隐藏文件夹 # 指定默认分支为 main和 GitHub 一致 git init --initial-branchmain执行后终端提示Initialized empty Git repository in ...说明初始化成功。2.将本地所有文件添加到暂存区完成第一次提交# 创建.gitignore 文件(用于忽略一些不需要追踪或上传的文件) touch .gitignore # 把文件夹里所有文件添加到 Git 暂存区. 代表所有文件 git add . # 提交暂存区的文件到本地仓库-m 后是提交说明必填写清楚这次提交的内容 git commit -m first commit ^_^如下3.在 GitHub 上创建一个空的远程仓库这一步是给你的项目在 GitHub 上 “建个空文件夹”用来接收本地代码打开 GitHub 官网点击右上角「」号 → 选择「New repository」新建仓库填写仓库信息- Repository name仓库名必须和本地项目文件夹名一致比如 my-project方便识别 - Description可选项目描述比如「我的第一个 Python 项目」 - Visibility选「Public」公开或「Private」私有免费版也支持- 重点不要勾选「Add a README file」「Add .gitignore」「Choose a license」这些会导致远程仓库非空后续推送冲突点击「Create repository」创建仓库。创建完成后GitHub 会跳转到仓库页面显示仓库的 SSH 地址比如gitgithub.com:你的用户名/my-project.git先复制这个地址后面要用。4.关联本地仓库和 GitHub 远程仓库回到终端执行命令把本地仓库和刚创建的 GitHub 仓库绑定# 添加远程仓库origin 是远程仓库的别名默认用 origin 即可不用改 # 替换成你刚复制的 GitHub SSH 地址 git remote add origin gitgithub.com:PLAYEROFMYLIFE/learngit.git # 验证是否关联成功可选 git remote -v5.将本地代码推送到 GitHub# 把本地 main 分支推送到 origin远程仓库的 main 分支 # -u 是绑定默认推送分支后续只需 git push 即可不用重复写分支名 git push --set-upstream origin main6.打开github 验证即可。二、从仓库开始追踪一个项目1.打开github仓库克隆仓库到本地# 改成具体名字 git clone gitgithub.com:PLAYEROFMYLIFE/learngit.git2.本地修改文件并提交# 查看修改状态 git status # 添加修改到暂存区 git add filename # 提交修改到本地仓库 git commit -m modify commit # 推送到远程仓库 git push origin main3.实践任务创建名为my-first-repo的个人仓库在本地仓库并添加一个名为hello-world.txt的新文件提交修改并推送到GitHub三、Git分支与版本控制共5点前2点1.分支管理基础1分支的概念与作用分支能让你在不影响主代码的前提下独立开发新功能、修复 Bug最后再把改动合并回去。GitHub Flow是一种轻量级的分支策略其核心是主分支main/master始终处于可部署状态所有新功能都在短期存在的功能分支上开发完成后通过Pull Request合并回主分支。2分支的概念假设你在写一篇论文对应「主分支 main」你想加一个新章节但又怕写砸了影响已完成的内容 → 复制一份论文在副本上写新章节这就是「新建分支 feature - 新章节」写新章节时发现原论文有个错别字 → 切回原论文改错别字「切回 main 分支修复 Bug」新章节写完且没问题 → 把副本的内容合并回原论文「合并 feature 分支到 main 分支」。Git 分支的本质就是对代码库的一份 “独立快照”分支之间互不干扰你可以在任意分支上修改代码不会影响其他分支。3核心作用$隔离开发避免代码混乱最核心作用这是分支最根本的价值主分支main/master存放稳定、可发布的代码比如上线的产品代码绝对不能直接在上面改代码功能分支feature/*开发新功能比如「feature - 支付功能」「feature - 用户登录」Bug 修复分支bugfix/*/hotfix/*修复线上 Bughotfix 是紧急修复直接基于 main 分支测试分支test/dev用于测试未上线的功能。就算你在 feature 分支把代码改烂了main 分支的稳定代码也毫发无损不会影响团队其他人。$支持多人并行开发团队协作时每个人都可以在自己的分支上开发你开发「支付功能」→ 分支feature-pay同事开发「评论功能」→ 分支feature-comment互不干扰开发完成后各自合并到主分支避免多人改同一文件导致的冲突。$常用分支介绍4分支的核心操作# 1. 查看所有分支* 表示当前所在分支 git branch # 2. 新建分支比如新建 feature-login 分支 git branch feature/login # 3. 切换到新建的分支 git checkout/switch feature-login # 简写新建切换一步到位最常用 git checkout -b feature-login or git switch -c feature-login # 4. 把 feature-login 分支合并到 main 分支先切回 main git checkout/switch main git merge feature-login # 5. 删除已合并的分支开发完成后清理 git branch -d feature-login2.合并分支解决冲突1什么时候会触发合并冲突冲突的核心原因是两个不同的分支修改了同一个文件的同一行 / 同一部分代码Git 不知道该保留哪一个版本只能暂停合并等你手动决策。2常见场景场景 1多人改同一文件你在feature-login分支改了user.js的第 10 行同事在main分支也改了user.js的第 10 行你把feature-login合并到main时触发冲突。场景 2自己在不同分支改同一文件你在feature-pay分支改了config.js的配置又在bugfix-pay分支改了config.js同一处配置合并两个分支时触发冲突。场景 3分支长期未合并主分支已更新你的feature分支基于 1 个月前的main分支创建期间main分支的核心文件已被多次修改你合并时大量文件因内容差异触发冲突。3创建测试目录和初始 Python 文件#先搭建一个干净的 Git 仓库创建基础 Python 文件 # 1. 创建测试文件夹并进入 mkdir git-conflict-demo cd git-conflict-demo # 2. 初始化 Git 仓库指定 main 分支 git init --initial-branchmain # 3. 创建一个 Python 文件功能计算两个数的和 touch calculator.py4编辑calculator文件# calculator.py - 初始版本 def add(a, b): 计算两个数的和 result a b return result # 测试代码 if __name__ __main__: print(计算结果, add(10, 20))见下文……

相关新闻

利用COMSOL数值模拟技术实现井壁稳定性分析与坍塌预测的研究

利用COMSOL数值模拟技术实现井壁稳定性分析与坍塌预测的研究

井壁稳定,井壁坍塌,comsol数值模拟。井壁坍塌这事儿,搞过钻井的工程师都懂有多闹心。地下岩层像块不听话的软糖,压力、渗流、地质构造随便哪个因素闹别扭,井眼说塌就塌。以前老师傅们靠经验公式估算安全密度窗口&#…

2026/5/17 9:42:07 阅读更多 →
在工控项目里最头疼的就是IO状态监控页面制作,每个按钮指示灯都得手动关联变量。上周调试KTP700触摸屏时突然开窍——做个万能IO显示模板不香吗

在工控项目里最头疼的就是IO状态监控页面制作,每个按钮指示灯都得手动关联变量。上周调试KTP700触摸屏时突然开窍——做个万能IO显示模板不香吗

西门子触摸屏IO 博途IO, io列表显示 有说明书介绍怎么程序使用 可以更改到西门子任意尺寸的触摸屏上 2个页面显示所有IO状态灯和文本内容 自编的二次开发程序功能块 不用再一个个扣变量,关联变量 节约大量编程时间,提高工作效率 原本几个小时…

2026/7/6 1:37:10 阅读更多 →
Python 3.12 MagicMethods - 28 - __rsub__

Python 3.12 MagicMethods - 28 - __rsub__

Python 3.12 Magic Method - __rsub__(self, other)__rsub__ 是 Python 中用于定义反向减法的魔术方法。当左操作数不支持与右操作数的减法时,Python 会尝试调用右操作数的 __rsub__ 方法,从而实现 other - self 的运算。由于减法不满足交换律&#xff…

2026/7/7 2:18:18 阅读更多 →

最新新闻

FPGA 上到底有哪些硬件资源?这次一次性整理清楚

FPGA 上到底有哪些硬件资源?这次一次性整理清楚

很多人刚学 FPGA 的时候,容易把注意力全放在 Verilog 语法上。 写 always、写状态机、写计数器,这些当然重要,但如果一直停留在“代码层”,后面就会越来越容易卡住。因为 FPGA 和单片机、Linux 软件不一样,它不是在执行…

2026/7/8 1:05:09 阅读更多 →
3 种注意力机制改进 YOLOv7:在红外目标检测任务中的对比与《红外与激光工程》投稿适配

3 种注意力机制改进 YOLOv7:在红外目标检测任务中的对比与《红外与激光工程》投稿适配

3种注意力机制改进YOLOv7在红外目标检测中的性能对比与期刊适配指南红外目标检测技术在安防监控、自动驾驶和军事侦察等领域具有重要应用价值。随着深度学习的发展,基于YOLO系列算法的红外目标检测方法不断涌现新突破。本文将聚焦YOLOv7模型,深入分析CBA…

2026/7/8 1:03:08 阅读更多 →
C语言-1

C语言-1

1

2026/7/8 1:03:08 阅读更多 →
Go 零拷贝的代价:从 io.Copy 到 sendfile,我踩了一个性能假象的坑

Go 零拷贝的代价:从 io.Copy 到 sendfile,我踩了一个性能假象的坑

上周在调一个文件传输服务的性能时遇到了一个奇怪的现象。服务本身逻辑很简单:接收客户端上传的文件,处理后存储到后端。压力测试的时候发现,一个 200MB 的文件传输,CPU 占用率跑到 65%,而磁盘 IO 和网络吞吐都只用了不…

2026/7/8 1:01:07 阅读更多 →
Lasso回归坐标下降法 Python 实现:从梯度推导到 200 行代码复现

Lasso回归坐标下降法 Python 实现:从梯度推导到 200 行代码复现

Lasso回归坐标下降法 Python 实现:从梯度推导到 200 行代码复现1. 理解Lasso回归的核心机制Lasso回归(Least Absolute Shrinkage and Selection Operator)是一种特殊的线性回归方法,它在普通最小二乘法的基础上增加了L1正则化项。…

2026/7/8 1:01:07 阅读更多 →
PIC18LF25K40与PAM8904构建智能音频报警系统

PIC18LF25K40与PAM8904构建智能音频报警系统

1. 项目概述:基于PIC18LF25K40与PAM8904的智能通知系统在工业控制、智能家居和安防监控等领域,可靠的事件通知机制是保障系统安全运行的关键环节。本项目采用Microchip的PIC18LF25K40单片机作为控制核心,搭配PAM8904音频驱动芯片,…

2026/7/8 0:59:07 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻