Git入门笔记(二):连接GitHub、分支管理,以及踩过的坑
上一篇跑通了本地Git的基本流程这篇接着学怎么把代码推到GitHub上以及分支是怎么回事。中间踩了几个坑都记下来了。一、注册GitHub账号GitHub 是一个代码托管网站相当于代码的云盘。你本地用 Git 管理好的代码可以推送到 GitHub 上存着别人也能看到。去 github.com 注册一个账号用邮箱注册就行。注册完之后你会看到一个章鱼猫Octocat的 logo那就是 GitHub 的标志。二、在GitHub上创建仓库登录之后点右上角的 号选 New repository进入创建页面。需要填的选项Repository name仓库名给你的仓库取个名字比如 practice-git。Public / PrivatePublic公开的所有人都能看到你的代码。学习用的话选这个就行。Private私有的只有你自己和你邀请的人能看到。公司项目一般选这个。Initialize this repository with下面有三个勾选项——README、.gitignore、License。学习阶段全部不勾保持空仓库就行。后面会单独讲 .gitignore 是什么。填好之后点 Create repository就建好了。建好之后页面会显示一段命令告诉你怎么把本地代码推上来。先别急往下看。三、把本地代码推到GitHub假设你上一篇已经建好了本地仓库里面有提交记录。现在要把它和 GitHub 上的仓库连起来然后推送上去。一共三步git remote add origin https://github.com/你的用户名/仓库名.git git branch -M main git push -u origin main逐行解释git remote add origin https://github.com/tangtangyi/practice-git.gitgit remote — 管理远程仓库。远程仓库就是不在你电脑上的仓库比如在 GitHub 上的那个。add — 添加一个。origin — 这是你给远程仓库起的别名。就像你给联系人存名字一样origin 就是 practice-git.git · github.com 这个长地址的简称。以后你不用每次都打完整地址说 origin 就行。后面的 URL — 就是你在 GitHub 上建的那个仓库的地址。git branch -M main把主分支的名字从 master 改成 main。GitHub 现在默认主分支叫 main以前叫 master。改一下名字保持一致。git push -u origin maingit push — 推送把本地的代码上传到远程仓库。-u — 第一次推送时加上这个意思是记住这个对应关系。以后你在这个分支上再 push直接打 git push 就行不用每次写 origin main。origin — 推到哪里就是刚才设置的那个远程仓库。main — 推哪个分支。正常成功的输出长这样Enumerating objects: 6, done. Counting objects: 100% (6/6), done. Writing objects: 100% (3/3), 280 bytes | 280.00 KiB/s, done. To https://github.com/********/practice-git.git * [new branch] main - main branch main set up to track origin/main.看到 new branch 和 set up to track 就说明成功了。去 GitHub 刷新页面就能看到你的文件了。四、踩坑记录坑1push 没有任何输出执行 git push 之后命令行直接返回了没有报错也没有成功提示。这种情况大概率是网络被拦截了。很多公司的网络有 DLP数据防泄漏系统检测到你在往外部 Git 仓库推代码会直接掐断连接。表现就是 push 命令静默失败——不报错但也没推上去。解决办法切手机热点再 push或者回家用自己的网络 push代码在本地不会丢什么时候推都行。坑2GitHub 页面打不开 / 加载很慢国内访问 GitHub 经常抽风页面加载不出来或者特别慢。这是正常的多刷新几次或者等网络好的时候再操作。五、分支branch分支是什么想象你在写一份文档main 分支突然老板说你试一下用另一种格式排版。你不会直接在原文档上改万一改坏了就全完了。你会复制一份出来在副本上折腾。这个副本就是新分支。在 Git 里主分支叫 main以前叫 master是你的正式文档你可以新建分支来试验新功能试验完了合并回 main试验失败了直接丢掉这个分支main 完全不受影响分支长什么样main: A --- B --- C --- Fbug修复合并回来 \ / dev: D --- E新功能还没做完字母代表每次提交。你在 B 的时候开了 dev 分支在 dev 上做了 D 和 E。同时 main 上继续做了 C然后发现 bug 修了 F。最后把 dev 合并回 main。常用分支命令命令作用通俗理解git branch查看所有分支看看桌上有几份文档git branch 名字新建分支不切换复制一份文档放在桌上但还在看原件git checkout -b 名字新建分支并切换过去复制打开副本一步到位git merge 名字把另一个分支合并到当前分支副本改好了把改动合回原件git branch -d 名字删除分支安全删除副本没用了丢掉没合并的不让删git branch -D 名字强制删除分支不管合没合并都删举个例子# 查看当前分支带 * 的是你所在的分支 git branch * main # 新建一个叫 dev 的分支并且切换过去 git checkout -b dev Switched to a new branch dev # 这时候你再 git branch会看到 # main # * dev # 星号在 dev 前面说明你现在在 dev 分支上 # 在 dev 上改代码、提交... echo 新功能代码 test.txt git add . git commit -m 在dev分支上新增功能 # 改完了切回 main git checkout main # 把 dev 的改动合并到 main git merge dev # dev 没用了删掉 git branch -d dev合并冲突conflict如果两个分支改了同一个文件的同一行Git 不知道该听谁的就会报冲突。比如 main 上你把 test.txt 改成了 版本Adev 上你把同一行改成了 版本B合并的时候 Git 就会说CONFLICT (content): Merge conflict in test.txt这时候打开 test.txt你会看到类似这样的内容 HEAD 版本A 版本B dev HEAD 到 之间是当前分支main的内容 到 dev 之间是 dev 分支的内容。你手动删掉不要的那部分保留想要的然后重新 add commit 就行了。实际工作中怎么避免冲突各改各的文件尽量别两个人同时改同一个文件合并之前先 pull 一下最新的代码冲突了别慌看清楚两边改了什么跟同事沟通一下再决定留哪个六、远程分支你 push 到 GitHub 的 main 分支在 Git 里叫 origin/main是远程分支。本地的 main 和远程的 origin/main 是两个东西main— 你电脑上的分支origin/main— GitHub 上的分支git push 就是把本地的 main 同步到远程的 origin/main。反过来git pull 是把远程的 origin/main 拉下来同步到本地的 main。比如同事往 GitHub 推了新代码你用 git pull 就能拿到最新的。七、Git知识地图还剩下什么要学到这里你已经覆盖了日常开发 80% 的 Git 场景了。剩下的按需学就行马上要学的基础必备.gitignore — 告诉 Git 哪些文件不用管比如编译产生的临时文件、密码配置文件git reset / git revert — 提交错了怎么撤回工作中遇到了再学git stash — 临时存一下手头没做完的改动切分支去干别的事git rebase — 让提交历史更干净比 merge 高级一点git cherry-pick — 只拿另一个分支的某一次提交不是全部合并git tag — 给重要版本打标签比如 v1.0、v2.0基本用不到的碰到了再查git submodule、git bisect、git hook八、常用命令总结第一篇 这篇命令作用git init新建仓库git add .把所有改动准备好要提交git commit -m 说明提交并写说明git log --oneline查看提交历史简洁版git checkout 编号 -- 文件名把文件恢复到某个历史版本git remote add origin 地址关联远程仓库git push -u origin main推送到远程仓库git pull从远程拉取最新代码git branch查看分支git checkout -b 名字新建并切换分支git merge 名字合并分支git branch -d 名字删除分支九、写在最后学 Git 不需要什么基础会打字就行。关键是动手练光看教程没用。第一篇跑通了本地流程这篇学会了推送到 GitHub 和分支管理。下一篇讲 .gitignore 和提交撤回把基础补齐。共勉。

相关新闻

深度学习模型优化全流程:训练、压缩与部署实战

深度学习模型优化全流程:训练、压缩与部署实战

把Model-Optimizer这个项目从头到尾完整落地一遍之后,我觉得很多过程里踩过的坑和沉淀下来的判断,值得好好写出来。Model-Optimizer不是什么惊艳的大框架,而是一套面向深度学习模型全生命周期的优化工具集:训练阶段管优化器选型、…

2026/9/30 4:08:47 阅读更多 →
分层架构设计:从依赖倒置到工程落地,让代码边界清晰可维护

分层架构设计:从依赖倒置到工程落地,让代码边界清晰可维护

1. 分层架构到底在解决什么问题真正驱动一个 APP 必须分层架构的,从来不是“架构理念”这种玄乎的东西,而是那几次加需求加到头皮发麻的经历。先说我自己的例子:早些年我做过一款资讯类 APP,第一版为了抢上线时间,所有…

2026/9/30 4:08:47 阅读更多 →
Django+Spark构建新能源汽车销售数据分析系统全解析

Django+Spark构建新能源汽车销售数据分析系统全解析

说句实在话,每年到毕设季,总有一批人卡在大数据选题上。要么是光讲理论没有落地页面,要么是系统做出来了但分析逻辑太浅,答辩时老师一问就露馅。前阵子我刚帮人把一套星云新能源汽车销售数据分析系统完整跑通,技术栈就…

2026/9/30 4:08:47 阅读更多 →

最新新闻

用Claude搭建AI备课工作流:从提示词到自动化教案生成

用Claude搭建AI备课工作流:从提示词到自动化教案生成

在教师圈子里,问得最多的不是“AI能不能帮我备课”,而是“AI到底怎么帮我备课”。过去一年,我陆续试过不少AI工具,也组织过教研组做小范围试点,最后真正能稳定留在日常工作里的,反而是最不起眼的流程化用法…

2026/9/30 4:54:11 阅读更多 →
Redis MCP Server 实战:用自然语言操作 Redis 缓存

Redis MCP Server 实战:用自然语言操作 Redis 缓存

1. 从一条更新说起:Redis 接入 AI 到底意味着什么前几天刷技术圈,看到 Redis 官方在客户端侧放出了一个挺有意思的东西——Redis 的 MCP Server 正式落地了。消息本身不算炸裂,但结合最近半年 AI Agent 生态的演进节奏来看,这一步…

2026/9/30 4:54:11 阅读更多 →
Redis接入AI实战:基于MCP协议为Agent构建记忆层与工具调用

Redis接入AI实战:基于MCP协议为Agent构建记忆层与工具调用

1. 从一条更新说起:Redis 接入 AI 到底意味着什么前几天刷社区的时候看到一条消息,说 Redis 官方开始往 AI 方向靠了,支持了 MCP 协议,还能跟 Claude Code 这类工具直接打通。我当时第一反应是:终于来了。做后端这么多…

2026/9/30 4:54:11 阅读更多 →
模拟人生4绅士MOD安装指南:版本匹配与冲突排查实战

模拟人生4绅士MOD安装指南:版本匹配与冲突排查实战

1. 项目概述与核心思路1.1 从标题看穿需求:这不是一个mod,而是一整套管理工程“模拟人生4功能mod补丁”“ww绅士”“全动画分享”“测试无冲突”“最新版本可用1.121”,把这几个词凑在一起,翻译成人话就是:玩家手里有一…

2026/9/30 4:54:11 阅读更多 →
主流AI论文写作工具排名(2026 最新盘点)

主流AI论文写作工具排名(2026 最新盘点)

基于功能全面性、学术规范性、用户使用体验及技术稳定性,以下是2026年主流AI论文写作工具的权威测评排名,按综合使用价值从高到低依次列出,并附上各工具的核心亮点与典型应用场景。🏆 第一梯队:全流程学术解决方案&…

2026/9/30 4:54:11 阅读更多 →
从数学定义到工程实现:指数函数exp的原理、精度与应用全解析

从数学定义到工程实现:指数函数exp的原理、精度与应用全解析

你是不是也被"EXP"这三个字母搞得头晕过?游戏里它是经验值,安全报告里它是漏洞利用代码,到了数学库文档里它又变成了指数函数。我这次要聊的是最后一种,也是日常编码里存在感最高、却很少有人认真拆解过的那个exp。它全…

2026/9/30 4:53:11 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →