【私有仓库】一文搞定 Git 私有仓库认证、拉取、多账号配置
Git 私有仓库拉取代码最全教程:SSH / HTTPS 两种方式详解
日常开发中,公有仓库可直接通过 Git 命令拉取代码,但私有仓库需要完成身份认证,否则会提示权限拒绝、认证失败等问题。目前 Git 拉取私有仓库代码主流分为 SSH 密钥认证 和 HTTPS 令牌认证 两种方式,适配 GitHub、Gitee、GitLab 所有代码托管平台。
本文将手把手讲解两种方式的完整配置流程、代码拉取命令、优劣对比,同时汇总高频报错解决方案,新手可直接照搬操作,开箱即用。
一、前置说明:两种认证方式核心区别
在实操前,先简单区分两种方式的适用场景,方便大家按需选择:
| 认证方式 | 核心优势 | 缺点 | 适用场景 |
|---|---|---|---|
| SSH 密钥 | 一次配置、永久免密,后续 pull/push 无需重复认证 | 初次配置步骤稍多,换设备需重新配置密钥 | 个人长期开发、固定设备、频繁提交代码 |
| HTTPS 令牌 | 配置简单、无需密钥,临时可用、跨设备灵活 | 默认无记忆,部分场景需重复输入令牌认证 | 临时克隆代码、公用设备、短期开发场景 |
⚠️ 重要提醒:目前所有代码平台已废弃账号密码直接登录,HTTPS 方式必须使用 个人访问令牌(Token) 替代密码,直接输入账号密码会认证失败。
二、SSH 密钥认证(单账户基本配置)
日常个人开发、固定设备场景下,推荐使用单账户 SSH 密钥认证。一次配置永久免密,全程无需重复输入账号密码,是私有仓库长期开发的最优方案。本节将对齐多账户章节结构,完整讲解单账户 SSH 配置原理、分步实操、仓库常规操作与常见问题解决。
2.1 核心原理
-
本地生成一组专属 SSH 公私密钥对,私钥留存本地、公钥托管在代码平台
-
本地与远程代码平台通过密钥加密校验身份,建立永久信任通道
-
后续所有 pull/push/clone 操作自动校验密钥,实现全程免密访问私有仓库
-
单账户无需配置 config 文件,默认全局密钥即可完成所有认证
2.2 实操配置步骤
步骤1:生成本地默认 SSH 密钥对
打开 Git Bash(Windows/Mac/Linux 通用),执行安全的 ed25519 加密密钥生成命令,替代老旧 RSA 密钥,安全性、兼容性更强:
ssh-keygen -t ed25519 -C "你的代码平台绑定邮箱"
命令详细解释:
-
ssh-keygen:SSH 密钥生成专用命令,用于创建、管理 SSH 公私钥对
-
-t ed25519:指定密钥加密算法为 ed25519,安全性更高、密钥体积更小、适配所有现代代码平台
-
-C “邮箱”:为密钥添加备注注释,标注密钥归属人,方便后期识别与管理
执行命令后全程直接回车,无需设置密钥密码,最终在 ~/.ssh 目录生成默认密钥文件:
-
id_ed25519:本地私钥(核心机密,禁止泄露、上传、分享)
-
id_ed25519.pub:可公开公钥,用于绑定 GitHub/Gitee/GitLab 平台
步骤2:查看并复制本地公钥
适配 Windows、Mac、Linux 全终端,可使用对应命令读取公钥,完整复制全部内容:
# Windows / Mac / Linux Git Bash 通用
cat ~/.ssh/id_ed25519.pub
# Windows CMD 专属原生命令
type %USERPROFILE%\.ssh\id_ed25519.pub
type ~\.ssh\id_ed25519.pub
Windows CMD 命令详细解释:
-
type:Windows 原生文件查看命令,等价于 Linux/Mac 的 cat 命令,用于读取文件文本内容
-
%USERPROFILE%:系统全局环境变量,自动匹配当前电脑用户目录,无需手动修改路径
步骤3:公钥绑定对应代码平台
登录对应代码平台,进入个人设置,新增 SSH 公钥,将复制的公钥完整粘贴保存:
-
GitHub:Settings → SSH and GPG keys → New SSH key
-
Gitee:个人设置 → SSH公钥 → 新增公钥
-
GitLab:用户设置 → SSH密钥 → 添加密钥
标题可自定义备注设备名称(如:家用笔记本、办公台式机),方便多设备密钥管理。
步骤4:测试本地与平台 SSH 连通性
绑定完成后,执行连通性测试命令,校验密钥是否生效、身份是否信任:
# GitHub 连通测试
ssh -T git@github.com
# Gitee 连通测试
ssh -T git@gitee.com
# GitLab 连通测试
ssh -T git@gitlab.com
首次连接输入 yes 确认永久信任,终端输出欢迎提示即代表配置完全成功。
连通性测试命令详细解释:
-
ssh:远程加密连接命令,用于建立本地与远程服务器的 SSH 通信通道
-
-T:禁用伪终端参数,专门用于身份校验,无多余交互、仅测试连通与权限
-
git@平台域名:代码平台固定公共登录账号,所有 SSH 连接统一使用 git 账号,无需个人用户名
步骤5:SSH 私有仓库全套常规开发操作
单账户配置完成后,所有私有仓库可全程免密操作,无需切换密钥、无需输入密码。下面覆盖日常开发 100% 常用场景,所有命令附带详细释义。
场景1:全新克隆私有仓库
本地无项目时,直接通过 SSH 地址克隆完整私有仓库代码:
# 通用格式
git clone git@平台域名:用户名/私有仓库名.git
# GitHub 示例
git clone git@github.com:xxx/xxx-private.git
# Gitee 示例
git clone git@gitee.com:xxx/xxx-private.git
命令解释:git clone 完整拉取远程私有仓库所有代码、分支、提交记录,自动初始化本地 Git 仓库并绑定远程 origin 地址,全程免密。
场景2:本地已有项目,手动关联远程私有仓库
本地空白文件夹或旧项目,手动初始化并绑定远程私有仓库地址:
# 切入项目根目录
cd 本地项目文件夹
# 初始化本地 Git 仓库
git init
# 绑定远程私有仓库 SSH 地址
git remote add origin git@github.com:xxx/xxx-private.git
# 拉取远程主干最新代码
git pull origin main
git pull origin master
命令逐行释义:
-
cd:终端路径切换命令,确保后续 Git 命令作用于当前项目目录
-
git init:初始化本地版本控制仓库,生成隐藏 .git 配置目录
-
git remote add origin:绑定远程仓库地址,origin 为远程仓库固定默认别名
-
git pull origin 分支名:拉取远程分支最新代码并自动合并到本地
场景3:日常同步远端最新代码
多人协作开发时,快速同步远程私有仓库更新内容:
# 同步主干分支最新代码
git pull origin main
# 同步开发分支最新代码
git pull origin dev
命令解释:自动拉取远程仓库对应分支代码,对比本地差异并自动合并,是日常迭代最常用的更新命令。
场景4:本地修改、提交、推送完整流程
本地开发完成后,同步代码到远程私有仓库完整流程:
# 1. 暂存所有文件变更
git add .
# 2. 本地提交并填写版本备注
git commit -m "新增功能/修复bug/优化代码结构"
# 3. 推送到远程私有仓库对应分支
git push origin main
git push origin dev
命令逐行释义:
-
git add .:将当前目录所有新增、修改、删除的文件加入暂存区,等待提交
-
git commit -m:将暂存变更固化为本地版本记录,备注用于团队追溯与版本管理
-
git push origin 分支名:将本地版本推送至远程私有仓库,SSH 自动认证、全程免密
场景5:指定分支单独拉取/推送
适配多分支开发模式,单独操作指定业务分支:
# 拉取远程指定分支代码
git pull origin 分支名
# 推送本地变更到指定远程分支
git push origin 分支名
# 实操示例
git pull origin dev
git push origin dev
场景6:仅克隆单个分支(轻量化克隆)
仓库体积较大时,只克隆需要的分支,减少下载体积与耗时:
git clone -b 分支名 git@github.com:xxx/xxx-private.git --single-branch
命令解释:-b 指定克隆分支,--single-branch 仅克隆当前分支,不下载全部分支历史记录。
场景7:查看/切换远程仓库地址
# 查看当前远程仓库绑定地址
git remote -v
# 切换为新的 SSH 私有仓库地址
git remote set-url origin git@github.com:xxx/xxx-new-private.git
命令解释:git remote -v 查看仓库读写地址;git remote set-url 快速替换远程绑定地址,无需重新初始化项目。
步骤6:配置全局提交账号信息
单账户场景可配置全局用户名与邮箱,所有项目统一生效,无需逐个配置:
# 配置全局用户名
git config --global user.name "你的平台用户名"
# 配置全局邮箱(与SSH密钥邮箱一致)
git config --global user.email "你的绑定邮箱@qq.com"
命令逐行释义:
-
--global:全局配置参数,对本机所有 Git 项目生效
-
user.name / user.email:定义代码提交记录的归属用户与邮箱,保证提交记录正常显示
查看全局账号配置:git config --global user.name、git config --global user.email
SSH 认证通过本地密钥对与代码平台绑定,建立永久信任关系,是开发主流首选方式,配置完成后全程免密操作。
2.3 单账户高频报错解决
1. 密钥认证失败、Permission denied
密钥正常绑定但依旧无法认证,多为 SSH 代理未加载密钥导致,执行修复命令:
# Windows Git Bash
start ssh-agent
ssh-add ~/.ssh/id_ed25519
# Mac / Linux
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
命令释义:启动本地 SSH 代理,手动加载默认私钥,让系统正常识别密钥,修复认证失败问题。
2. 提交记录账号不显示/账号错乱
多为全局账号未配置或配置不匹配导致,重新设置全局账号信息即可解决。
3. 远程仓库已存在报错
本地重复绑定远程仓库,先删除旧关联再重新绑定:
git remote remove origin
2.4 单账户配置总结
-
单账户 SSH 核心:一对默认密钥 + 平台公钥绑定 + 全局账号配置,极简高效;
-
一次配置永久免密,适配个人所有私有、公有仓库开发场景;
-
无需配置 config 文件,开箱即用,适合单机单账号长期开发;
-
所有常规 git 操作命令通用,全程无密码、无交互,开发效率最高。
三、SSH 密钥认证(多账户高级配置)
实际开发中,很多开发者需要在同一台电脑同时使用个人Git账号+公司Git账号,或同时操作 GitHub、Gitee、GitLab 多平台私有仓库。默认单SSH密钥会出现权限冲突、推送报错、账号串号问题。
本节讲解零冲突、全自动切换的SSH多账户配置方案,核心逻辑:一个账号一对独立密钥 + config别名绑定 + 仓库单独关联账号,永久生效、无需手动切换。
3.1 核心原理
-
为每一个Git账号(个人/公司/不同平台)单独生成专属SSH密钥对
-
通过
~/.ssh/config配置主机别名,将不同别名绑定对应密钥 -
克隆/关联仓库时使用别名地址,自动匹配对应账号密钥认证
-
本地仓库单独配置用户名和邮箱,避免提交记录串号
3.2 实操配置步骤
步骤1:生成多组独立SSH密钥(重点:自定义密钥名)
此前单账号密钥使用默认名称,多账号必须手动指定密钥文件名,防止覆盖。以「个人GitHub账号、公司GitHub账号」双账号为例:
# 1. 个人GitHub账号密钥
ssh-keygen -t ed25519 -C "个人账号邮箱@qq.com" -f ~/.ssh/id_ed25519_personal
# 2. 公司GitHub账号密钥
ssh-keygen -t ed25519 -C "公司账号邮箱@company.com" -f ~/.ssh/id_ed25519_work
# 拓展:Gitee账号可继续新增
ssh-keygen -t ed25519 -C "gitee邮箱@163.com" -f ~/.ssh/id_25519_gitee
执行命令后全程回车,不设置密钥密码。最终 ~/.ssh 目录会生成多组密钥文件,互不冲突。
步骤2:分别绑定公钥到对应Git账号
依次读取不同账号的公钥,分别粘贴到对应平台的SSH公钥配置中:
# 查看个人账号公钥
cat ~/.ssh/id_ed25519_personal.pub
# 查看公司账号公钥
cat ~/.ssh/id_ed25519_work.pub
# 查看Gitee账号公钥
cat ~/.ssh/id_ed25519_gitee.pub
绑定规则:个人公钥→个人GitHub账号,公司公钥→公司GitHub账号,一一对应,不可混淆。
步骤3:配置config文件(核心步骤)
进入 ~/.ssh 目录,新建/编辑无后缀的 config 配置文件,用于区分多账号密钥:
# 进入ssh目录
cd ~/.ssh
# 编辑配置文件(无则新建)
vim config
粘贴以下通用配置,根据自身账号修改注释和密钥路径:
# ====================== 个人GitHub账号 ======================
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
PreferredAuthentications publickey
# ====================== 公司GitHub账号 ======================
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
PreferredAuthentications publickey
# ====================== Gitee账号(拓展) ======================
Host gitee-personal
HostName gitee.com
User git
IdentityFile ~/.ssh/id_ed25519_gitee
PreferredAuthentications publickey
参数说明:Host为自定义别名(后续克隆仓库使用),HostName为平台真实域名,IdentityFile为对应私钥路径。
步骤4:测试多账号连通性
分别测试不同账号的SSH连接,出现欢迎提示即配置成功:
# 测试个人GitHub账号
ssh -T github-personal
# 测试公司GitHub账号
ssh -T github-work
# 测试Gitee账号
ssh -T gitee-personal
步骤5:多账号 SSH 私有仓库全套常规操作(完整开发流程)
完成多账号SSH密钥与config配置后,即可实现多账号零冲突、全自动免密操作私有仓库。核心规则:不同仓库使用对应自定义别名地址,系统自动匹配对应私钥完成认证,无需手动切换密钥。下面补齐多账号场景下「克隆、关联、更新、提交、推送、分支操作」全套常规开发操作,命令全部附带详细释义,与单账号教程风格完全统一。
场景1:全新克隆多账号私有仓库(最常用)
多账号克隆必须使用 自定义Host别名 替换原平台域名,精准绑定个人/公司账号:
# 克隆个人 GitHub 私有仓库
git clone git@github-personal:个人用户名/仓库名.git
# 克隆公司 GitHub 私有仓库
git clone git@github-work:公司用户名/仓库名.git
# 克隆个人 Gitee 私有仓库
git clone git@gitee-personal:用户名/仓库名.git
命令解释:基于标准 git clone 克隆命令,将原有域名替换为 config 中配置的别名,SSH代理会自动读取对应私钥,完成对应账号的身份认证,从根源解决多账号权限冲突、串号问题。
场景2:本地已有项目,绑定对应多账号远程私有仓库
本地已有代码文件夹,未关联远程仓库时,手动绑定对应账号的私有远程地址:
# 进入项目目录
cd 项目文件夹
# 初始化本地Git仓库
git init
# 绑定个人GitHub私有仓库
git remote add origin git@github-personal:个人用户名/仓库名.git
# 绑定公司GitHub私有仓库
git remote add origin git@github-work:公司用户名/仓库名.git
# 拉取远程主干代码
git pull origin main
命令逐行释义:
-
cd 项目文件夹:切入本地项目根目录,确保后续Git命令生效
-
git init:初始化本地Git版本仓库,生成隐藏.git配置文件夹
-
git remote add origin:绑定远程仓库别名与地址,origin为远程仓库默认固定别名
-
git pull origin main:拉取远程主干分支最新代码并自动合并到本地
场景3:多账号项目日常更新代码(同步远端最新内容)
多账号项目更新代码无需切换任何配置,直接执行拉取命令即可自动匹配账号:
# 同步主干分支最新代码
git pull origin main
# 同步指定开发分支代码
git pull origin dev
命令解释:自动根据当前仓库绑定的远程别名地址,调用对应账号密钥认证,拉取远端最新代码并自动合并,适配日常迭代更新。
场景4:多账号项目本地修改、提交、推送完整流程
多账号项目提交推送无需修改任何密钥,仅需保证当前仓库已配置对应局部用户名邮箱,直接使用标准提交流程:
# 1. 添加所有修改至暂存区
git add .
# 2. 本地提交并填写备注
git commit -m "新增功能/修复线上bug/优化代码结构"
# 3. 推送到对应账号远程私有仓库
git push origin main
git push origin dev
命令逐行释义:
-
git add .:暂存当前目录下所有新增、修改、删除的文件变更
-
git commit -m:将暂存变更提交至本地版本库,备注用于版本追溯,规范团队协作
-
git push origin 分支名:通过当前仓库绑定的别名地址,自动匹配对应SSH私钥,免密推送到对应个人/公司私有远程仓库
场景5:多账号指定分支单独克隆(轻量化拉取)
仓库体积较大时,可只克隆所需分支,提升下载速度、减少资源占用,适配多账号场景:
# 仅克隆个人仓库dev分支
git clone -b dev git@github-personal:个人用户名/仓库名.git --single-branch
# 仅克隆公司仓库test分支
git clone -b test git@github-work:公司用户名/仓库名.git --single-branch
命令解释:-b 指定克隆分支,--single-branch 只拉取当前指定分支代码,不克隆全部分支历史记录,轻量化下载。
场景6:查看/切换多账号远程仓库地址
日常开发可随时查看当前仓库绑定的远程账号地址,支持快速切换个人/公司仓库:
# 查看当前远程仓库地址与绑定账号
git remote -v
# 将当前项目切换为个人私有仓库地址
git remote set-url origin git@github-personal:个人用户名/仓库名.git
# 将当前项目切换为公司私有仓库地址
git remote set-url origin git@github-work:公司用户名/仓库名.git
命令解释:git remote -v 查看远程仓库读写地址,确认当前绑定的账号环境;git remote set-url 快速替换远程地址,实现项目账号环境切换,无需重新配置密钥。
场景7:多账号仓库初始化完整一条龙命令(新项目快速搭建)
空白文件夹快速搭建多账号私有仓库环境,适配新项目初始化:
# 1. 初始化本地仓库
git init
# 2. 绑定对应账号远程私有仓库
git remote add origin git@github-personal:个人用户名/仓库名.git
# 3. 配置当前仓库局部账号信息
git config user.name "个人用户名"
git config user.email "个人邮箱@qq.com"
# 4. 拉取远端初始代码
git pull origin main
实操要点:多账号场景严禁依赖全局账号配置,每个项目必须单独配置局部用户名、邮箱,彻底杜绝提交记录串号、归属错误问题。
多账号核心区别:将原地址中的平台域名,替换为自定义Host别名,即可自动匹配对应账号密钥,无需手动切换密钥,全程免密认证。下面为多账号场景完整私有仓库操作命令,并附带详细释义。
步骤6:本地仓库单独配置账号信息(杜绝提交串号)
全局账号容易串号,建议每个项目单独配置用户名和邮箱,仅对当前仓库生效:
# 进入个人项目目录,配置个人账号信息
git config user.name "个人用户名"
git config user.email "个人邮箱@qq.com"
# 进入公司项目目录,配置公司账号信息
git config user.name "公司用户名"
git config user.email "公司邮箱@company.com"
命令逐行释义:
-
git config user.name:单独设置当前仓库的提交用户名,仅对本地当前项目生效,不影响全局、其他项目配置
-
git config user.email:单独设置当前仓库的提交邮箱,保证代码提交记录归属正确,彻底解决多账号串号、提交账号错乱问题
查看当前仓库账号:git config user.name / git config user.email
查看命令解释:单独执行对应命令,可校验当前项目绑定的用户名/邮箱,确认账号配置是否生效,避免提交归属错误。
查看当前仓库账号:git config user.name / git config user.email
3.3 多账号高频报错解决
1. 密钥不生效、认证失败
手动加载所有私钥,重启SSH代理:
# Mac/Linux
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_personal
ssh-add ~/.ssh/id_ed25519_work
# Windows Git Bash
start ssh-agent
ssh-add ~/.ssh/id_ed25519_personal
ssh-add ~/.ssh/id_ed25519_work
命令逐行释义:
-
eval “$(ssh-agent -s)” / start ssh-agent:启动本地SSH代理服务,让系统可以识别并加载自定义多组私钥,解决密钥不生效问题
-
ssh-add:手动将指定私钥加入SSH代理信任列表,激活对应账号密钥,让多账号认证正常生效,适配多密钥共存场景
2. 仓库推送串号、提交记录账号错误
原因:项目使用了全局账号信息,解决方案:清空全局配置,统一使用仓库局部配置:
# 清空全局用户名邮箱
git config --global --unset user.name
git config --global --unset user.email
命令解释:--global 代表全局配置,--unset 为删除配置项,清空全局账号信息后,所有项目将默认使用仓库局部账号配置,从根源杜绝多账号串号。
3.4 多账号配置总结
-
多账号核心:一号一密钥、别名区分、仓库独立配置,彻底避免冲突;
-
无需手动切换账号,克隆时使用对应别名地址即可自动匹配认证;
-
优先使用仓库局部账号配置,杜绝全局串号问题;
-
该方案同时支持「同平台多账号」和「多平台多账号」所有场景,适配所有私有仓库。
四、HTTPS 令牌认证(临时快速使用)
HTTPS 无需配置密钥,核心是生成**个人访问令牌(Token)**替代密码,操作简单,适合临时拉取代码场景。
4.1 生成平台个人访问令牌(Token)
所有平台操作逻辑一致,核心是勾选 repo 仓库权限(必须勾选,否则无法访问私有仓库):
-
GitHub:Settings → Developer settings → Personal access tokens → Generate new token,勾选 repo 全部权限,生成并复制 Token(仅显示一次,务必保存)
-
Gitee:个人设置 → 私人令牌 → 生成新令牌,勾选 projects、pull 权限
-
GitLab:个人设置 → 访问令牌,勾选 read_repository、write_repository 权限
4.2 HTTPS 方式拉取私有仓库代码
场景1:全新克隆仓库
复制仓库 HTTPS 地址,执行克隆命令:
# 通用格式
git clone https://github.com/用户名/私有仓库名.git
执行后弹窗提示输入账号密码:
-
用户名:代码平台登录账号
-
密码:粘贴刚刚生成的 Token(重点!不要填登录密码)
✅ 进阶免交互克隆(直接携带令牌,无需弹窗输入):
git clone https://用户名:Token@github.com/用户名/私有仓库名.git
场景2:本地项目关联远程 HTTPS 私有仓库
# 关联远程仓库
git remote add origin https://github.com/用户名/私有仓库名.git
# 拉取代码,按提示输入账号+Token
git pull origin main
4.3 本地永久保存令牌(免重复输入)
频繁操作可配置本地凭证缓存,无需每次输入 Token:
# 全局缓存凭证
git config --global credential.helper store
首次输入账号+Token后,后续 pull/push 自动认证,永久生效。
五、远程仓库地址切换(SSH ↔ HTTPS)
已关联远程仓库,可随时切换两种认证方式的地址:
# 查看当前远程地址
git remote -v
# 切换为 SSH 地址
git remote set-url origin git@github.com:xxx/xxx-private.git
# 切换为 HTTPS 地址
git remote set-url origin https://github.com/xxx/xxx-private.git
六、高频报错问题排查
6.1 SSH 报错:Permission denied (publickey)
-
排查公钥是否正确绑定代码平台
-
本地加载私钥,执行修复命令:
# Windows
start ssh-agent
ssh-add ~/.ssh/id_ed25519
# Mac / Linux
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
6.2 HTTPS 报错:Authentication failed
-
确认未使用账号密码,必须使用 Token 认证
-
确认 Token 未过期、已勾选 repo 仓库权限
-
重新生成新 Token 重试
6.3 报错:fatal: remote origin already exists
本地已关联远程仓库,先删除旧关联,再重新绑定:
git remote remove origin
七、私有仓库开发常用 Git 命令大全(详细释义)
本章汇总私有仓库 SSH/HTTPS 开发场景下高频必备 Git 命令,覆盖仓库初始化、分支管理、代码提交、同步更新、远程配置、问题修复全场景,每条命令附带通俗解释与实操场景,新手可直接收藏复用,适配日常私有仓库所有开发操作。
7.1 仓库初始化与远程配置命令
# 初始化本地Git仓库
git init
# 绑定远程私有仓库地址(SSH/HTTPS通用)
git remote add origin 远程仓库地址
# 查看当前远程仓库绑定信息
git remote -v
# 修改/切换远程仓库地址
git remote set-url origin 新仓库地址
# 删除旧的远程仓库关联
git remote remove origin
命令释义:
-
git init:将普通文件夹初始化为Git版本仓库,生成隐藏.git配置目录,开启版本控制
-
git remote add origin:绑定本地项目与远程私有仓库,origin为远程仓库默认固定别名
-
git remote -v:查看远程仓库读写地址,校验当前绑定的仓库与账号是否正确
-
git remote set-url:快速替换远程仓库地址,用于切换SSH/HTTPS协议或更换仓库地址
-
git remote remove origin:解除本地与远程仓库的关联,解决「远程仓库已存在」报错
7.2 代码克隆与同步更新命令
# 完整克隆私有仓库所有代码
git clone 远程仓库地址
# 仅克隆指定分支代码(轻量化克隆)
git clone -b 分支名 仓库地址 --single-branch
# 拉取远程主干最新代码并自动合并
git pull origin main
git pull origin master
# 拉取远程指定开发分支最新代码
git pull origin 分支名
命令释义:
-
git clone:完整下载远程私有仓库的代码、分支、版本记录,自动初始化本地仓库并绑定远程地址
-
git clone -b --single-branch:只下载指定分支代码,减少仓库体积,提升克隆速度,适合大型私有仓库
-
git pull origin:拉取远程分支最新代码,自动对比本地差异并合并,是日常同步代码的核心命令
7.3 代码提交与推送命令(最常用)
# 暂存所有本地文件变更
git add .
# 暂存指定单个文件变更
git add 文件名
# 本地提交变更,备注版本信息
git commit -m "功能描述/修复bug说明"
# 推送到远程主干分支
git push origin main
# 推送到远程指定开发分支
git push origin 分支名
命令释义:
-
git add .:暂存当前目录下所有新增、修改、删除的文件变更,等待本地提交
-
git add 文件名:精准暂存指定文件修改,适合局部功能迭代提交
-
git commit -m:将暂存的变更固化为本地版本记录,备注用于团队版本追溯、问题定位
-
git push origin:将本地版本同步推送到远程私有仓库,SSH免密/HTTPS令牌认证后直接生效
7.4 分支管理命令(多分支开发必备)
# 查看本地所有分支
git branch
# 新建本地分支
git branch 新分支名
# 切换到指定分支
git checkout 分支名
# 新建并直接切换到新分支
git checkout -b 新分支名
# 删除本地分支
git branch -d 分支名
命令释义:
-
git branch:罗列本地所有分支,带*号为当前所处分支
-
git branch 分支名:创建全新本地开发分支,不切换当前分支
-
git checkout 分支名:切换本地工作分支,适配多业务分支并行开发
-
git checkout -b:一步完成「新建分支+切换分支」,提升开发效率
-
git branch -d:删除已合并的无用本地分支,精简项目分支结构
7.5 账号配置与信息查看命令
# 配置全局提交用户名/邮箱(单账号使用)
git config --global user.name "用户名"
git config --global user.email "邮箱"
# 配置当前仓库局部用户名/邮箱(多账号必备)
git config user.name "用户名"
git config user.email "邮箱"
# 查看全局账号配置
git config --global user.name
git config --global user.email
# 清空全局账号配置(解决多账号串号)
git config --global --unset user.name
git config --global --unset user.email
命令释义:
-
--global 全局配置:对本机所有Git项目生效,适合单机单账号开发场景
-
局部仓库配置:仅对当前项目生效,多账号场景核心用法,杜绝提交串号
-
--unset:清空指定配置项,用于修复账号错乱、配置冲突问题
7.6 简单问题修复命令
# 查看本地版本状态、文件变更
git status
# 查看所有版本提交记录
git log
# 撤销本地暂存,恢复修改前状态(不删除代码)
git reset HEAD .
命令释义:
-
git status:查看当前文件新增、修改、暂存状态,快速掌握项目变更情况
-
git log:查看历史提交记录、版本号、提交人,用于版本回溯、问题排查
-
git reset HEAD .:撤销所有暂存的文件变更,代码保留,可重新修改提交,适合误暂存修复
八、最终总结
-
长期开发首选 SSH:一次配置永久免密,无重复认证烦恼,效率最高,适配个人、公司固定设备长期开发;
-
临时使用首选 HTTPS:无需配置密钥,通过Token快速认证,操作轻便,适合公用设备、临时拉取代码场景;
-
私有仓库 HTTPS 认证彻底废弃原生账号密码登录,必须使用个人访问令牌Token,否则认证失败;
-
SSH 支持单/多账号适配,多账号场景采用「独立密钥+config别名+局部账号配置」方案,彻底解决串号、权限冲突问题;
-
SSH与HTTPS协议可自由切换,搭配全套常用Git命令,可覆盖私有仓库99%的开发、同步、提交、排错场景。
更多推荐


所有评论(0)