本地配置推送至GitHub远程仓库

在 Windows 上配置 Git,并提交到 GitHub

本文说明如何在一台 Windows 电脑上装好 Git、登录 GitHub,再把 D:\DownloadAdmin\local_config 通过 HTTPS 推送到 GitHub。

推送使用远程名 origin。提交作者和 GitHub 用户名是两项不同的信息

GitHub 用户名显示在个人主页网址 https://github.com/<GitHub 用户名> 里,创建仓库后也可以从仓库地址中复制。本机没有 SSH 密钥,推送走 HTTPS。

一、安装 Git

  1. 打开 https://git-scm.com/download/win,下载 Git for Windows 并安装。
  2. 安装时保留这些选项,使新电脑和本机一致:
    • 将 Git 加入命令行和第三方软件的 PATH。
    • HTTPS 传输使用 OpenSSL。
    • 换行符选择 "Checkout Windows-style, commit Unix-style",对应 core.autocrlf=true。
    • 凭据助手选择 Git Credential Manager。
    • 默认分支名填写 master。
  3. 安装完成后重新打开 PowerShell,确认命令可用:
powershell 复制代码
git --version
gh --version

本机当前版本是 git version 2.55.0.windows.5 和 gh version 2.101.0。两条命令都能打印出版本号,就说明 Git 和 GitHub CLI 都可用。

新电脑如果没有 gh,到 https://cli.github.com 安装 GitHub CLI,装完后重新打开 PowerShell。

二、配置提交身份

作者信息写在全局配置里,这台 Windows 用户下的所有仓库都会使用它。

powershell 复制代码
git config --global user.name "tubao"
git config --global user.email "zhending0519@gmail.com"
git config --global --add safe.directory "*"

配置保存在 C:\Users\admin\.gitconfig。safe.directory = * 让 Git 可以在本机任意目录使用仓库。本机这份文件的完整内容是:

ini 复制代码
[user]
	name = tubao
	email = zhending0519@gmail.com
[core]
	excludesfile = C:/Users/admin/git.ignore
[safe]
	directory = *
[credential "https://gitee.com"]
	provider = generic

[core] 由后面的忽略文件步骤写入。[credential "https://gitee.com"] 是 Gitee 的凭据设置,和 GitHub 登录写在同一个文件里。GitHub 登录成功后,这个文件还会多出 github.com 的凭据行。

三、登录 GitHub

本机已经安装 GitHub CLI,还没有登录任何 GitHub 账号,Windows 凭据里也没有 github.com 的记录。在 PowerShell 中执行:

powershell 复制代码
gh auth login

按提示依次选择:

  1. GitHub.com
  2. HTTPS
  3. Authenticate Git with your GitHub credentials 选择 Y,让 git push 使用这次登录
  4. Login with a web browser
  5. 选完第 4 步后,代码出现在 PowerShell 窗口里 ,不是 GitHub 网页上。gh 会先打印一行类似下面的提示:
text 复制代码
! First copy your one-time code: ABCD-1234
Press Enter to open github.com in your browser...

ABCD-1234 这段就是一次性代码,每次登录都会变。用鼠标选中 PowerShell 里的这串代码,复制它。先不要按 Enter。

复制好之后再按 Enter。浏览器会打开 GitHub 的设备登录页。把刚才复制的代码粘贴到网页的输入框里,确认登录并授权。授权完成后回到 PowerShell,登录即结束。

完成后执行:

powershell 复制代码
gh auth status

输出里应包含已登录 github.com,协议为 HTTPS。选择第 3 步的 Y 之后,Git 会通过 gh 读取 GitHub 凭据,推送时一般不会再弹出用户名密码框。

四、用私人令牌登录

电脑无法打开浏览器时,用 Personal Access Token 完成同一次登录。

  1. 打开 https://github.com/settings/tokens/new。
  2. Note 填写 Windows Git,选一个有效期。
  3. 勾选权限 repo。
  4. 生成后立刻复制令牌。离开页面后无法再次查看完整内容。
  5. 在 PowerShell 中执行下面的命令,出现提示后粘贴令牌并回车:
powershell 复制代码
gh auth login --hostname github.com --git-protocol https --with-token

令牌只交给 gh 保存,不写入文件,也不写进 git remote 地址。

如果以后认证失败,先退出再重新登录:

powershell 复制代码
gh auth logout
"protocol=https`nhost=github.com`n`n" | git credential reject
gh auth login

五、配置全局忽略文件

全局忽略文件用来挡住编辑器目录、编译产物和本地环境变量文件,避免它们被 git add . 加进去。

本机文件位于 C:\Users\admin\git.ignore。新电脑先创建同名文件,再执行:

powershell 复制代码
git config --global core.excludesfile "C:/Users/admin/git.ignore"

文件内容:

gitignore 复制代码
# Compiled class file
*.class

erdaye

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

# 环境变量配置,不要提交到git
.env

换了一台电脑、用户目录不是 C:\Users\admin 时,把 core.excludesfile 改成该用户目录下的实际路径。

六、确认电脑已经配置完成

在开始提交前执行:

powershell 复制代码
git config --global --list
git config --system --get credential.helper
gh auth status

全局配置里应能看到:

text 复制代码
user.name=tubao
user.email=zhending0519@gmail.com
core.excludesfile=C:/Users/admin/git.ignore
safe.directory=*
credential.https://gitee.com.provider=generic

系统配置里应能看到 credential.helper=manager。gh auth status 应显示已登录 github.com。

再确认 GitHub 网站可以打开:

powershell 复制代码
curl.exe -sS -o NUL -w "%{http_code}`n" --max-time 20 https://github.com

输出 200 表示网络可用。到这里,这台电脑的 Git 和 GitHub 认证环境就准备好了。

七、在 GitHub 上创建仓库

  1. 打开 https://github.com/new。
  2. Repository name 填写 local_config。公开或私有都可以,推送命令相同。
  3. 不要勾选 Add a README,这样远程仓库是空的,本地第一次推送可以直接成功。
  4. 创建完成后复制 HTTPS 地址:
text 复制代码
https://github.com/<GitHub 用户名>/local_config.git

八、在本地做出第一次提交

进入仓库目录,查看状态:

powershell 复制代码
cd D:\DownloadAdmin\local_config
git status

把需要纳入版本管理的文件放进这个目录。当前这份说明 github-push.md 已经在目录里,可以直接作为第一次提交的内容。确认没有 .env 之类的敏感文件后执行:

powershell 复制代码
git add .
git status
git commit -m "init"

git status 用来在提交前再看一眼即将入库的文件。git commit 会使用第二节配置的作者 tubao <zhending0519@gmail.com>。

九、关联远程并推送

把地址换成第七步复制的 HTTPS 地址:

powershell 复制代码
git remote add origin https://github.com/<GitHub 用户名>/local_config.git
git remote -v
git push -u origin master

git remote -v 应打印出同一个 HTTPS 地址的 fetch 和 push。-u 会把本地 master 和远程 origin/master 关联起来。

第三节已经用 gh auth login 登录过时,这条推送会直接使用该登录。推送成功后,GitHub 仓库页面能看到刚才的提交。

十、之后每次修改

文件改完后,在仓库目录重复这四步:

powershell 复制代码
git status
git add .
git commit -m "说明这次改了什么"
git push

git status 查看改动,git add 暂存,git commit 在本地留下记录,git push 把新提交送到 GitHub。第一次推送已经用 -u 关联过分支,所以这里不需要再写 origin master。

十一、远程分支名或初始提交不一致

新建仓库的默认分支如果是 main,把本地 master 推到远程 main:

powershell 复制代码
git push -u origin master:main

创建仓库时如果已经勾选 Add a README,先把两边的历史合到一起再推送。远程默认分支是 main 时:

powershell 复制代码
git pull origin main --rebase --allow-unrelated-histories
git push -u origin master:main

远程默认分支是 master 时,把上面拉取命令里的 main 换成 master,推送命令改为:

powershell 复制代码
git push -u origin master

如果 origin 已经存在、只是地址写错了,用下面的命令替换地址,再执行推送:

powershell 复制代码
git remote set-url origin https://github.com/<GitHub 用户名>/local_config.git
相关推荐
SL_staff1 小时前
APS降本增效的关键:在JVS中实现‘人-机-料-法-环’全要素耦合调度
java·github·全栈
chingho2 小时前
GitHub上这10个C#项目,不仅实用,还怪好玩的
c#·github·.net·开源项目
miofly2 小时前
Codex CLI 0.157.0 自动启动守护进程引发用户争议
开源·github
QuantiCore_IO2 小时前
量化回测复权数据的工程实践:从 API 获取到数据质量验证
后端·github·api
miofly2 小时前
Cursor 用 S3 上的 WAL 替代副本协调,Push 吞吐量超过每秒 300 次
开源·github
逛逛GitHub3 小时前
5 个 GitHub 上开源的稀奇古怪小玩意儿,这一届网友真天才。
github
u1301303 小时前
GitHub 热榜项目:日榜(2026-10-12)
人工智能·github
Ken_P_##4 小时前
WordAgent
github·agent
u1301304 小时前
GitHub 热榜项目:日榜(2026-10-11)
人工智能·github