初始化本地仓库
进入项目根目录,执行以下命令创建本地Git仓库:
bashgit init
配置用户身份信息
设置提交代码时的身份标识(建议与GitHub账号信息一致):
bashgit config --global user.name "Your Full Name"
git config --global user.email "your-github-registered-email@example.com"
添加文件并完成首次提交
bash# 添加所有文件到暂存区(建议先创建.gitignore文件过滤无关内容)
git add .
# 提交到本地仓库,提交信息需清晰描述内容
git commit -m "Initial commit: project structure setup"
关联远程GitHub仓库
在GitHub创建新仓库后,将本地仓库与远程仓库关联:
bashgit remote add origin https://github.com/your-username/your-repository.git
推送代码至远程仓库
bashgit push -u origin main
bash# 先合并远程历史记录
git pull origin main --allow-unrelated-histories
# 解决可能的冲突后推送
git push -u origin main
.gitignore文件配置
必须在git add .
前创建.gitignore
文件,用于排除不需要跟踪的文件(如依赖目录、日志文件、IDE配置文件等)。可从GitHub官方.gitignore模板库获取对应语言或框架的模板,避免将冗余文件提交到仓库。
关于强制推送的规范
强制推送命令git push --force
会直接覆盖远程仓库的历史记录,仅适用于以下场景:
--force-with-lease
参数(仅当远程分支未被他人修改时生效)。多账号环境配置
若需要在同一台设备上管理多个Git账号(如个人账号与工作账号),需移除--global
参数,在当前仓库单独配置身份信息:
bashgit config user.name "Work Account Name"
git config user.email "work-email@example.com"
适用于命令行用户,简化认证流程,推荐优先使用:
按提示选择以下选项:bashgh auth login
GitHub.com
SSH
(无需重复输入凭证)Yes
允许工具自动生成并配置SSH密钥gh repo list
验证认证成功(列出当前账号仓库)。适用于临时操作或单仓库场景,步骤如下:
repo
权限(仓库读写权限),完成生成后立即保存令牌。适用于频繁操作或多仓库场景,无需重复输入凭证,步骤如下:
bash# 使用ed25519算法生成密钥(比RSA更安全)
ssh-keygen -t ed25519 -C "your-github-email@example.com"
执行后按提示操作(可设置密钥密码增强安全性,或直接按三次回车跳过)。cat ~/.ssh/id_ed25519.pub
,复制输出的全部内容;成功提示:bashssh -T git@github.com
Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
GitHub CLI进阶使用
除认证外,gh工具可直接完成仓库操作,例如:
gh repo create your-repository --public
gh repo clone your-username/your-repository
gh pr create
PAT管理规范
多账号SSH配置
若需管理多个GitHub账号,生成密钥时需指定路径:
bashssh-keygen -t ed25519 -C "work-email@example.com" -f ~/.ssh/id_ed25519_work
并创建~/.ssh/config
文件配置密钥映射:
ssh-config# 个人账号 Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_ed25519 # 工作账号 Host github.com-work HostName github.com User git IdentityFile ~/.ssh/id_ed25519_work
关联远程仓库时使用对应Host:
bashgit remote add origin git@github.com-work:company-account/repository.git
认证方式兼容性说明
GitHub自2021年8月起已完全禁用基于账号密码的Git操作认证,若遇到"密码错误"提示,需切换为上述认证方式。
识别冲突文件
执行git pull
或git merge
命令时,若出现"conflict"提示,使用以下命令查看冲突文件:
bashgit status
冲突文件会被标记为"both modified"(双方均有修改)。
手动解决冲突
打开冲突文件,Git会用特殊标记标识冲突区域:
<<<<<<< HEAD // 当前分支(如本地main分支)的修改内容 const version = "1.0.0"; ======= // 待合并分支(如远程main分支)的修改内容 const version = "1.1.0"; >>>>>>> origin/main
编辑文件:
<<<<<<<
、=======
、>>>>>>>
)。完成冲突解决与提交
bash# 标记冲突文件为已解决
git add <冲突文件名>
# 提交冲突解决结果,备注需说明解决逻辑
git commit -m "Resolve merge conflict: update version to 1.1.0"
# 推送至远程仓库
git push origin main
复杂冲突的工具辅助
对于多文件或大段代码的冲突,建议使用图形化工具提高效率:
git mergetool
调用Beyond Compare、KDiff3等工具(需提前配置),支持三向对比与可视化编辑。协作场景的冲突预防
git pull origin main
,减少与远程仓库的差异;feature/login
、feature/payment
);冲突解决后的验证流程
解决冲突后必须执行以下步骤验证:
冲突处理的回退机制
若冲突解决过程中出现错误,可通过以下命令中止合并,恢复到操作前状态:
bashgit merge --abort
操作环节 | 关键命令流程 |
---|---|
项目初始化与推送 | git init → 配置用户信息 → git add . → git commit → git remote add → (远程非空时先git pull --allow-unrelated-histories ) → git push |
身份认证 | GitHub CLI(gh auth login )、PAT(生成带repo权限的令牌)、SSH(生成密钥+配置公钥) |
分支冲突解决 | git status 识别冲突 → 编辑文件删除冲突标记 → git add → git commit → git push |
通过规范执行上述流程,可有效提升代码迁移效率,保障仓库访问安全,减少协作开发中的冲突风险。
本文作者:GYC
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!