一个分支增加了一个文件,然后Main分支Merge了,但是后面,Main分支不小心删掉了这个文件,怎么恢复这个文件?
January 5, 2026
摘要 如果还有分支有这个文件 # 无需切换分支,直接从原分支将文件检出到当前工作区 $ git checkout origin/feature-branch <文件路径> #本地其他分支 $ git checkout [feature-branch] <文件路径> 详解 理解您遇到的问题了。一个文件被合并到主分支后又意外被删除,恢复起来并不复杂,因为 Git 会完整记录所有的提交历史。您可以通过下图快速了解整个恢复流程,并根据您的具体情况选择最合适的路径。 具体应该采用哪条路径,取决于“原分支是否还存在”以及“您更倾向于哪种操作方式”。下面是每个步骤的详细说明。 🔎 定位文件或删除点 恢复的关键是找到文件“最后存在”的那个时间点。 检查原分支:如果最初添加文件的分支(例如 feature-branch)仍然存在,可以先切换到该分支,确认文件是否还在。这是最直接的确认方法。 在主分支历史中搜寻:如果原分支已被删除,或者您想直接在主分支上操作,可以通过以下命令查找文件的历史记录: # 查看所有涉及该文件的提交历史,按时间倒序排列...
git 怎么去掉一些不重要的中间commit
January 5, 2026
摘要 在Git中清理提交历史,去除不重要的中间commit,是代码整理中的常见需求。以下是几种核心方法及其操作流程,你可以根据实际情况选择。 Git Rebase案例:当分支提交了Commit,主干也有新的Commit 参考: git rebase: 人生无法重来,但代码可以! git rebase 情景图表+代码演示 结论,在此情况下,使用git rebase好过git merge main。 黄金原则:不要使用rebase处理已经被其他人引用的提交。 引申,git rebase -i常用命令:pick、rework、squash、drop 操作 💎 方案一:交互式变基(Rebase) 这是最强大和常用的方法,特别适用于尚未推送到远程仓库的本地提交。它可以精确地删除、合并、修改提交。 ...
本地Git不同分支对应不同远程仓库
January 5, 2026
摘要 场景 博客模板:我现在有个基于Github Pages的Jekyll博客项目A已经提交了很多年,有很多Commit;有个项目B是Jekyll博客模板框架,也更新了很多年。现在我希望能把项目A的博客框架换成项目B的,同时,后续我在项目A要优化框架时,调试完,也把最新的更新推给项目B。我应该怎么规划管理项目A和项目B的分支。 其他场景如中间件等 经验 注意:每个本地分支只能对应一个远程仓库分支。 #设置不同仓库的别名 git remote add [RepoName] [RepoURL] # 将本地分支推送到指定仓库的分支 git push -u [RepoName] [local-branch-name]:[remote-branch-name] # 案例 git push -u cayman cayman-theme:digital-scrapbook # 查看本地分支对应的仓库分支 git checkout [local-branch-name]...
已有项目创建Github Pages
January 4, 2026
思路 通过jekyll new myblog生成必要的文件,再将这些文件Copy到现有项目的指定分支下。 然后配置Github仓库的pages设置、项目CNAME文件、域名供应商的解析。 Setup步骤 一、新建jekyll博客必要文件 jekyll new myblog 如果卡住了,直接Ctrl+c,进入目录,运行bundle install安装必要的Ruby包。 运行Jekyll serve,验证是否正常编译 访问localhost:4000验证可正常访问 二、将文件Copy到对应项目下 三、Github仓库配置 配置Github Actions 启用项目的 GitHub Pages:进入你的项目仓库,点击 Settings 选项卡。向下滚动找到 Pages 部分,在 Source 下选择一个分支(通常是...
Debug Jekyll & Github_Page
January 16, 2025
摘要 新发的文章总是没有在博客显示 问题:新发的文章总是没有在博客显示 原因:Github默认时区是美国西部,比中国差不多晚一天,所以发布的文章都成了“Has a Future Date” 解决办法:在_config.yml文件中,增加Timezone的设置 找到原因过程: 发现Github Action 研究Github Action 下载编译完的文件,发现没有最新的文章
Github & git
January 16, 2025
创建仓库 SSH #SSH #Generate your key with your email. ssh-keygen -t rsa -b 4096 -C "your_email@example.com" #all key file under ~/.ssh/ #id_rsa is private key, don't give it to anyone. #id_rsa.pub is public key...
Github & git
January 16, 2025
摘要 #Config # name,email 涉及contribution统计 git config --global user.name "Chen Xie" git config --global user.email "chenxie2016@163.com" # 查看设置 git config --list # check the origin URL AND modify the origin URL git remote -v git...