5.8 KiB
5.8 KiB
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 push和git 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 权限)。