Git 本地项目关联远程仓库教程

本文我们来讲解一下如何使用Git将本地项目关联到个人的GitHub远程仓库。

创建新的repository

要将本地项目关联到远程仓库我们得先有一个远程仓库(repository)来进行关联,这里我在GitHub中创建一个新的私人仓库来给大家演示一下具体流程。

首先在主页左侧点击New

给仓库起个名,并写一些描述

Configuration中按照自己的项目设定,完成后点击Create repository

创建后的仓库(除了license,.gitignore和README.md外什么都没有)

最后别忘了在本地新建一个文件夹存放你的项目:

到这儿新的代码仓库便配置好了,接下来就是关联到本地后愉快地使用git命令修改,上传,管理GitHub代码仓库内的代码了。

SSHKey配置

使用Git将代码远程推送到GitHub主要有两种方式一种是通过https协议,另一种是通过SSH连接,这里建议大家使用SSH,因为SSH的优势是配置完成后 git push/pull无需输入账号和密码;如果使用https每次都要输入账号和密码,非常不友好。

Git本地配置

Git的本地配置主要是几行命令,这边给大家拆解开来讲一讲,基本流程和命令行主要就是这些:

  • git init
  • git add .
  • git remote add origin git@github.com:usename/xxx.git
  • git remote -v
  • git pull origin main
  • git commit -m "feat:该仓库首次Commit"
  • git push origin main

所有的这些命令是最基本也是最常用的命令,这些命令建议大家多记多用可以做到信手拈来,拿来即用。这里还要说明的是,所有的这些命令不是一劳永逸的,你每次新建一个不同的文件夹创建一个新的项目都需要走一遍上述的流程,因为不同文件夹下的.git文件并不相同,你的一个项目对应一个,git

git init初始化

进入到项目文件所在的命令行,输入git init命令来初始化该项目的git配置

bash 复制代码
git init

这会在文件夹下生成,git文件夹,这个文件夹千万不要删

其内部是整个 Git 仓库核心,所有版本记录、分支、提交、配置全部存在这里;删除它项目就失去版本控制!

git add .添加项目文件

接着我们使用git add 命令来将文件夹内的文件添加到git的暂存区,如果一个一个添加那么就是git add xxx。如果需要批量全部添加使用git add .。对于新仓库来说一般都是直接git add . 。

bash 复制代码
git add .

git remote add 添加远程仓库

然后便是将远程仓库添加到git了,首先我们要去新建的仓库把SSH链接复制过来然后输入以下命令,这里名字是指我们的远程连接的名字,这个名字可以随便起,我一般用github比较多,大部分人可能会用origin,

bash 复制代码
git remote add 名字 ssh链接

更一般化的话就是:

bash 复制代码
git remote add github git@github.com:Hello-Mr-Crab/data-cabin.git

git remote -v查看所有远程连接

远程连接的名字后边忘记了也没关系,我们可以使用git remote -v命令查看所有的SSH远程连接的配置信息。

好的,那么到这儿,恭喜你已经完成了基本配置,接下来的这几部便是你日常工作的全部,后边使用git 管理和开发代码无非都是在重复这几步。

Git工作流程

将本地项目与远程仓库建立连接后,我们就可以使用Git来开发和管理代码。

git pull仓库拉取代码

每当远端仓库代码有更新时我们通常都需要拉取一份最新代码到本地来同步一下进度。这个时候我们使用git pull命令。并且,对于一个新仓库来说都要求先git pull后再git push。拉取代码时我们使用这个命令。

bash 复制代码
git pull github main

其中,github是前边设定的SSH连接的名称,你要是origin那就是git pull origin,main是仓库的主分支(默认使用main,以前是master),如果有人fork了你的代码,那么就会产生不同的分支。拉取不同分支2的代码时将main改为其他分支名即可。

拉取后会显示的内容如下:

顶部输出的是本次拉取的一些日志包括拉取仓库的文件数量,压缩比,解包速度等。下边的才是我们本次从仓库拉取的文件与本地的文件的差异,可以看到我这次的显示有3个文件发生了变化,包括88行插入,1行删除。

git commit 常用操作(提交暂存区内容)

git commit 命令用于将暂存区的内容提交到本地仓库中,是 Git 工作流程中的一个关键步骤,每次提交都会生成一个唯一的 commit-id,用于标识这次提交。

提交指定文件

bash 复制代码
git commit [file1] [file2] -m "提交信息"

提交所有文件(需要先将所有文件提交到暂存区后再commit)

bash 复制代码
git add .
bash 复制代码
git commit -m "提交信息"

当然还可以一行命令搞定

bash 复制代码
git commit -am "提交所有文件"

如果最近的一次提交需要更正一下可以使用--amend

bash 复制代码
git commit --amend  -m "修改最近的提交"

多行提交信息

bash 复制代码
git commit \
-m "feat(auth): add sms login interface" \
-m "Support user login via mobile verification code.
Adjust token expiration time to 2 hours.
Closes #456"

commit内容与规范

1.原子提交(最重要)

一次 commit 只做一件事

  • ❌ 禁止:同时修复 bug + 新增功能 + 格式化代码塞同一个提交
  • ✅ 拆分:修复 bug 一个 commit,新功能一个 commit,代码格式化单独 commit 好处:方便回滚、代码审查、cherry-pick、定位 bug(bisect)

比如说:

bash 复制代码
git commit \
-m "feat: 新增xxx功能" \
-m "支持xxx
Closes #456"

2. 标题规范

  • 长度:≤50 个字符,简洁概括改动
  • 使用祈使句式(命令语态)
    • feat: add user login api
    • added login api / adds login api
  • 首字母小写(行业主流约定,无需句号结尾)

常见的小标题:

  • feat: 新功能
  • fix bug:修复bug
  • docs:文档修改
  • style: 格式调整(空格、分号、格式化,无逻辑代码变更)
  • refactor: 代码重构(无bug修复、无新增功能)
  • perf: 性能优化
  • test :新增/修改测试代码
  • chore: 构建流程、依赖、工具配置改动(业务代码无变化)

3.正文写why,不重复what

  • ❌ 重复代码改动:修改了 User 类的 name 字段
  • ✅ 说明动机:原名称长度限制无法满足客户实名需求,扩大字段长度至 64

4.常用禁忌清单

  1. git commit -m "更新" / 修改代码 / "临时提交":信息完全无效,无法追溯
  2. ❌巨大体量提交,几百行代码一次提交
  3. ❌标题长篇大论,塞满细节
  4. ❌中英文混杂无统一风格(项目统一语言即可)
  5. ❌不关联需求 / 缺陷编号,后期无从溯源

5.预览完整 commit 信息

写完提交后执行下边的命令,可以预览完整 commit 信息:

bash 复制代码
git log -1
# 或者查看原始提交文本
git cat-file -p HEAD

撤销最近的commit(适用于未push)

首先使用git reset撤回上一次提交的commit

bash 复制代码
# 撤回上一次commit,代码保留,回到暂存区
git reset --soft HEAD~1

效果就是:

  • 最近保存的一次commit 记录消失
  • 上次提交的代码依然在暂存区 ✅ 操作流程:

然后重新修改代码 / 调整文件后继续git commit

bash 复制代码
git commit -m "feat(xxx): 正确标题" -m "详细描述"

冲突合并与解决

这个是整个git工作流中的核心,也是大部分程序员的日常。

冲突什么时候出现?

同一个文件的同一处代码,在两条分支被同时修改,执行合并(merge /pull/rebase)时 Git 无法自动判断保留哪一份 → 产生冲突。 常见触发场景:

  1. git merge 分支名
  2. git pull(等价 git fetch + git merge
  3. git rebase 分支名
  4. cherry-pick 挑选提交

区分两大合并模式:merge 普通合并|rebase 变基合并(冲突解决逻辑略有差异)

冲突文件标识

打开冲突文件,可以看到:

复制代码
<<<<<<< HEAD     # 当前分支(你现在所在分支)代码
当前分支代码内容
=======         # 分割线
传入分支的代码内容
>>>>>>> 分支名   # 要合并进来的分支代码

手动解决核心规则

  1. 删除 <<<<<<< HEAD=======>>>>>>> xxx 所有标记
  2. 人工筛选保留代码:保留 A / 保留 B / 两者合并手写融合
  3. 保存文件

git push提交代码至仓库

git push命令很简单,就是用来将代码提交到远程仓库:

bash 复制代码
git push <远程主机名> <本地分支名>:<远程分支名>

其中远程主机名是我们前边git remote add时起的名字比如origin,本地分支和远程分支如果是自己的项目基本一致都是main,故有时我们可以直接写成:

bash 复制代码
git push origin main

如果已经建立了连接,甚至还可以更简短点

bash 复制代码
git push

总结

以上便是本文所有内容,如果对你有用还请三联支持一下博主😁

相关推荐
铁锚20 小时前
Git设置自动推送到同名远端分支
git
lazy H1 天前
Git worktree 怎么用?同时开发多个分支完整教程
大数据·git·后端·学习·搜索引擎·github
AC赳赳老秦1 天前
GitHub 开源项目数据采集:OpenClaw 抓取星标与贡献者数据,深度分析技术发展趋势
大数据·前端·数据库·python·开源·github·openclaw
重生的黑客1 天前
Git 本地版本管理与分支管理:从零理解工作区、回退、冲突与开发流程
数据库·git·elasticsearch
Cx330_FCQ2 天前
Tmux使用
服务器·git·算法
dong_junshuai2 天前
每天一个开源项目#51 Swift BLE 多设备状态同步实践
github
YuePeng2 天前
别再让 AI 直接写 SQL 了:一个注解搞定十亿行数据的语义层
后端·github
英勇无比的消炎药2 天前
TinyRobot v0.5.0 深度解读(四):CLI 脚手架——从零搭建 AI 应用的工程化实践
前端·vue.js·github
运维大师2 天前
【K8S 运维实战】24-资源优化HPA与VPA
运维·kubernetes·github