惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
小众软件
小众软件
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
博客园_首页
T
Tailwind CSS Blog
The Cloudflare Blog
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
P
Proofpoint News Feed
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
D
Docker
Microsoft Azure Blog
Microsoft Azure Blog

繁星点点

最新轻量级龙虾部署教程 通过netboot.xyz重装系统 giffgaff卡保号教程 Llinux系统中全新透明代理方案(可代理所有出站流量) tailscale开启子网路由常见的坑 OpenWrt固件编译 解决UFW和Docker的问题 使用PGP的非对称算法加密文件 NSSM工具把任意exe程序注册为Windows后台服务 轻量级简约端口转发rinetd 安卓IDE的安装和使用 IP信息查询网站汇总 热点共享代理教程 SSH使用密钥认证登录详细解释 Debian系统公网IP出口切换指南,适用多IP服务器 Windows系统安装Scoop包管理器 安卓Flutter开发学习笔记 使用手机搭建节点服务端 关于github提交记录泄露真实邮箱的处理办法 anytls协议部署教程 caddy给域名用上ECH加密 通过gitlab流水线自动备份仓库 通过CF-Workers代理访问网站 低配机器使用alpine系统跑docker 端口敲门教程 3x-ui面板通过api管理示例 nmap端口扫描 数据库常用命令 snap和winget包管理器 😩😩😩学不完,根本学不完😩😩😩
Git推送GitHub常用命令
2025-04-08 · via 繁星点点

先在github创建一个仓库,然后本地CD到项目目录

初始化本地仓库

git init

创建并切换到main分支

git checkout -b main

确保本地分支是main

git checkout main

添加并提交新的更改

git add .
git commit -m "add"

关联远程仓库

git remote add origin https://github.com/your-username/your-repo.git

推送到仓库

git push origin main

main为分支名

输入用户名和key密钥即可推送完成

操作完成后清除Git存储凭据

git config --global --unset credential.helper

项目添加子模块

ddns-go 为例,项目根目录执行。

git submodule add https://github.com/jeessy2/ddns-go.git
git commit -m "添加子模块"

然后提交并推送即可

更新所有子模块

项目根目录执行

git submodule update --remote --merge

然后正常提交

git add .
git commit -m "更新子模块"
git push

删除子模块

git submodule deinit -f ddns-go
git rm -f ddns-go
rm -rf .git/modules/ddns-go
rm -rf ddns-go
git commit -m "删除子模块"

锁定子模块到某个提交

cd ddns-go
git checkout <commit-hash>
cd ..
git add ddns-go
git commit -m "锁定子模块版本"

🎈同步上游仓库某一个提交

1:获取上游更新

git fetch upstream

合并上游所有更新git merge upstream/main main为本地分支

2:确认上游仓库中是否包含目标提交

git branch -r --contains 提交哈希

3:使用 -m 选项进行同步指定的提交

git cherry-pick -m 1 提交哈希

这里的-m 1表示选择合并的提交中的第一个父提交的更改。

如果不是合并的提交则去掉-m 1

多个提交哈希用空格隔开

4:(可选)如果有冲突则找到冲突文件修改

标记所有冲突已解决

git add .

继续之前因冲突而中止的提交

git cherry-pick --continue

5:然后就可以推送到远程仓库了

本地dev分支推送到远程dev分支

git push origin refs/heads/dev:refs/heads/dev

(可选)放弃提交

git cherry-pick --abort

🎈合并有冲突的请求

获取全部请求

git fetch origin 'refs/pull/*/head:refs/pull/origin/*'

切换到主分支

git checkout main

合并指定的请求(1为#后面的编号)

git merge refs/pull/origin/1

查看冲突

git status

将显示冲突的文件用vim打开,删除你不要的代码然后保存文件,或者vscode可视化选择。

标记所有冲突已解决

git add .

完成合并

git commit -m "合并分支1"

推送到main分支

git push origin main

🎈清除所有提交历史

# 删除 Git 版本管理
rm -rf .git

# 重新初始化 Git
git init

# 创建并切换分支(可忽略)
git checkout -b main

# 添加所有文件
git add .

# 提交所有文件
git commit -m "update"

# 重新关联仓库
git remote add origin https://github.com/your-username/your-repo.git

# 强制推送覆盖远程历史
git push --force origin main

🎈切换分支

# 同步远程最新信息和分支
git fetch origin

# 本地切换到 dev 分支
git switch dev

Git旧版本需要加上跟踪远程分支git switch -c dev --track origin/dev

🎈回滚

执行回滚操作后无法恢复

回滚到上一次提交

命令结尾的数字代表前几次

git reset --hard HEAD~1

强制推送

git push origin main --force

或者回滚到指定提交

6038e0a是提交哈希值的前七位

git reset --hard 6038e0a

win系统更改已登录的账户

控制面板 \ 用户帐户 \ 凭据管理器

选择Windows凭据,找到github.com域名相关的凭据,然后编辑或者删除。

配置提交用户

# 全局配置
git config --global user.name "sky22333"
git config --global user.email "[email protected]"

# 查看
git config --list
git config --global http.proxy http://127.0.0.1:10808
git config --global https.proxy http://127.0.0.1:10808

默认会配置在C:\Users\用户名\.gitconfig文件里