2025-10-19 13:49:53 +08:00
2025-10-19 13:49:53 +08:00

Git 仓库使用方法(Windows PowerShell

本文档说明如何在 Windows PowerShell 下初始化本地仓库、首次推送到远端、以及日常 push / pull 操作。

远端地址(SSH):

ssh://git@182.148.54.29:25672/StudyGroup/GitDemo.git

ATTENTION 1"GitDemo.git"为仓库名称,在其他地方使用时请根据需要替换为相应仓库名。 ATTENTION 2:这是一个 SSH 地址且使用了非默认端口 25672。请确保你的电脑已配置 SSH 公钥并允许通过该端口访问目标服务器。

前置准备

  • 已安装 Git for Windows
  • 初次使用 Git 建议先设置用户名和邮箱(仅需一次):
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
  • 如果尚未配置 SSH 密钥(可选但推荐):
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
# 按提示回车;随后将生成的公钥内容(~/.ssh/id_ed25519.pub)添加到 Git 服务器账号

一、在空文件夹中初始化并首次推送

以下步骤等价于你提供的命令(将 Linux 的 touch 替换为 PowerShell 的 New-Item):

# 1) 创建 README.md 文件(如已存在可省略)
New-Item -ItemType File README.md -Force

# 2) 初始化本地仓库
git init

# 3) 将文件加入暂存区并提交
git add README.md
git commit -m "first commit"

# 4) 关联远端
git remote add origin ssh://git@182.148.54.29:25672/StudyGroup/GitDemo.git

# 5) 首次推送到 master 分支,并建立上游跟踪关系
# 如果你本地默认分支叫 main,可先将其改名为 master
# git branch -M master
git push -u origin master

说明:

  • -u 会把本地分支与远端同名分支关联,之后可直接使用 git pushgit pull
  • 如果你的团队使用 main 而非 master,可将上述命令中的 master 替换为 main

二、从远端克隆已有仓库

git clone ssh://git@182.148.54.29:25672/StudyGroup/GitDemo.git
cd GitDemo

三、日常开发:提交并推送(push

# 查看改动状态(可选)
git status

# 将改动加入暂存区(当前目录所有改动)
git add -A

# 提交
git commit -m "你的提交说明"

# 推送到远端(已建立上游后可省略分支名)
git push
# 或者显式:git push origin master

四、获取远端更新(pull

# 从跟踪的上游分支拉取并自动合并
git pull

# 或显式指定分支(例如 master)
# git pull origin master

建议:团队协作时可优先使用 rebase 以保持线性历史(按需):

git pull --rebase

五、分支协作(可选)

# 新建并切换到功能分支
git checkout -b feature/my-change

# 提交并首次推送到远端,同时建立跟踪
git push -u origin feature/my-change

# 回到主分支并更新
git checkout master
git pull --rebase

六、常见问题

  • 首次连接服务器出现主机指纹确认:按提示输入 yes 即可建立信任。
  • 推送被拒(远端有你本地没有的提交):
git pull --rebase
git push
  • 认证失败(Permission denied):检查 SSH 公钥是否已添加到服务器账号,或是否能访问端口 25672。
  • 本地默认分支是 main 而远端使用 master:执行 git branch -M master 后再推送;反之同理。

——

如需进一步自动化或团队规范(提交信息规范、分支命名、保护分支等),可以在此 README 中补充团队约定。

七、SSH 密钥生成与获取(Windows PowerShell

以下步骤帮助你在本地生成 SSH 密钥、复制公钥并配置到 Git 服务器,适配本仓库的非默认端口 25672。

1) 生成 SSH 密钥

ssh-keygen -t ed25519 -C "你的邮箱@example.com"
# 默认会生成:
# 私钥:  %USERPROFILE%\.ssh\id_ed25519
# 公钥:  %USERPROFILE%\.ssh\id_ed25519.pub
# 建议设置一个 passphrase(更安全)。

如果系统较旧不支持 ed25519,可退而求其次使用 rsa:

ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"

2) 查看并复制公钥内容

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

# 复制到剪贴板(推荐,PowerShell 5+ 可用)
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard

然后将公钥内容粘贴到 Git 服务器的 SSH 公钥设置页面。

3) 启动 ssh-agent 并添加私钥(可选但推荐)

# 启动 ssh-agent 服务(首次)
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

# 将私钥加入 agent(每次新设备/新密钥时执行一次)
ssh-add $env:USERPROFILE\.ssh\id_ed25519

4) 为非默认端口配置 SSH 别名(简化地址,可选)

本仓库的 SSH 地址使用端口 25672。为了避免每次写完整 URL,可在 %USERPROFILE%\\.ssh\\config 中增加一段 Host 配置:

Host git-demo
    HostName 182.148.54.29
    Port 25672
    User git

如果没有该文件,可以新建一个:

New-Item -ItemType File $env:USERPROFILE\.ssh\config -Force | Out-Null
notepad $env:USERPROFILE\.ssh\config

配置完后,即可将远端地址由:

ssh://git@182.148.54.29:25672/StudyGroup/GitDemo.git

简化为:

git-demo:StudyGroup/GitDemo.git

并执行:

git remote set-url origin git-demo:StudyGroup/GitDemo.git

5) 测试 SSH 连接

# 使用完整地址测试(适合未配置 Host 时)
ssh -p 25672 git@182.148.54.29

# 或使用 Host 别名(若已按上文配置)
ssh git-demo

首次连接会提示确认主机指纹,输入 yes 即可。若显示欢迎信息或权限受限提示即表示连通成功(无需 shell 权限)。

S
Description
No description provided
Readme
33 KiB