2025年最新版 Git和Github的绑定方法,以及通过Git提交文件至Github的具体流程(详细版)

news2025/4/20 7:37:14

文章目录

  • Git和Github的绑定方法与如何上传至代码仓库
    • 一. 注册 GitHub 账号
    • 二.如何创建自己的代码仓库:
      • 1.登入Github账号,完成登入后会进入如下界面:
      • 2.点击下图中红色框选的按钮中的下拉列表
      • 3.选择New repostitory
      • 4.进入创建界面后,按照下图所示操作,完成操作后点击绿色的Create repository按钮
      • ✅ 1. `Initialize this repository with a README`
        • 具体作用:
        • 几乎所有项目都应有一个 README,可以当成项目的名片+使用手册
      • ✅ 2. `.gitignore` 文件
        • 具体作用:
        • 示例(Python 项目):
        • 推荐不设置 `.gitignore`,很容易把一些不该提交的文件误上传,引发冲突或体积变大。GitHub 提供了各种语言的模板,一键搞定,建议勾选!
      • ✅ 3. `License`(许可证)
        • 具体作用:
        • 常见许可证类型:
        • 推荐理由:
      • 📌 总结建议:
    • 三.Git绑定Github的方法
      • 1. 将Git绑定到Github的作用
      • 2. 下载Git并完成安装
      • 3. 打开Git bash
        • 输入指令:
        • 引号中需要为Github账号所绑定邮箱
          • **A. Generating public/private rsa key pair.**
          • **B. Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):**
          • **C. Enter passphrase for "/c/Users/23370/.ssh/id_rsa" (empty for no passphrase): 请输入登入密码**
          • **D. Enter same passphrase again:请你确定登入密码(再次输入)**
          • **E. 最终生成的文件:**
      • 4. 前往当前设备的密匙保存路径,比如``/c/Users/23370/.ssh`` , 打开生成的ssh key文件id_rsa.pub并复制key字符串
      • 5.点击Github中的头像,点击侧边栏中的Settings,按照 GitHub → Settings → SSH and GPG keys → New SSH key(绿色按钮)的步骤操作
        • 🛠️ Authentication Key vs Signing Key 的区别
        • 🎯 最简单理解:
        • 📌 小例子
          • 不设置 Signing Key 时:
          • 配置了 Signing Key 后:
      • 6. 在Git bash上验证是否绑定成功
        • (1)输入指令: ssh -T git@github.com,回车后输入刚才设置的密匙密码(注意密码是看不见的)
        • (2)设置username和email,输入如下指令:
        • git config --global user.name "xxx"
        • git config --global user.email "xxxx@xxx.com"
        • **这里需要注意一点:因为 GitHub 上每一条提交记录(commit)都和邮箱绑定。**所以在git config --global user.email "xxxx@xxx.com"中填写的必须是Github绑定的邮箱
      • ✅ `git config --global` 设置**一次就永久生效**
        • 如何检查一下你现在的 git 配置是否正确,直接输入如下指令:
        • 如果以后你想检查自己当前的 `user.name` 和 `user.email` 配置,可以用:
        • (3)设置git的本地仓库
          • 1、直接在需要上传的文件目录下右键点击打开git bash
          • 2、 创建本地git仓库的方法:在git bash终端输入指令git init
          • 3、 上传文件到Github的方式
          • 解释:
          • 为什么会出现这个警告:
          • 解决方法:
          • **如果你希望 Git 始终保持一致的行结束符**:
          • 记住重要的一点:
      • 🏅 小tip:**这种方式只适用于已经被 Git 管理的文件,新文件还是需要 `git add`。**
      • 总结流程
        • (4)本地仓库与github远程仓库关联
          • 1、查看Github代码仓库地址
          • 2、 在Git bash上执行关联操作,输入如下指令(引号为代码仓库的地址信息)
          • 为什么需要绑定仓库?
          • **在 GitHub 上创建一个新的仓库**(假设你已经在 GitHub 上创建了一个名为 `my-repo` 的仓库)
          • 将远程 GitHub 仓库绑定到本地仓库**
          • **验证远程仓库是否绑定成功**
          • 3、 🎯 **在多个 GitHub 仓库中选择目标仓库**
          • **切换远程仓库**:
          • 3.1 `git remote add` 的作用
          • 3.2 origin vs 自定义远程名
          • 3.3 推送到不同的远程
          • 3.4 如何查看和管理已有远程
          • 具体解释:
          • 例子:
      • 查看所有远程仓库:
      • 小结:
          • 4、 在Git bash上输入如下指令,将文件从本地上传到Github
          • 1. **把本地的 `master` 分支推送到远程的 `origin` 仓库上**
          • 2. **建立本地分支和远程分支的关联(Tracking)**
          • 总结一句话:
          • 小补充一下:
        • (4)在Github上查看提交信息:
        • (5)克隆Github代码仓库到本地(git@github.com:xxx此处使用的是代码仓库的地址)

Git和Github的绑定方法与如何上传至代码仓库

一. 注册 GitHub 账号

  • 所有团队成员都需要各自注册一个 GitHub 账号:https://github.com/join
  • 注册完成后,建议:
    • 配置好自己的头像、昵称
    • 绑定常用邮箱
    • 开启双因素认证(2FA,安全性更高)

二.如何创建自己的代码仓库:

1.登入Github账号,完成登入后会进入如下界面:

在这里插入图片描述

图1.1 Github官网界面

2.点击下图中红色框选的按钮中的下拉列表

在这里插入图片描述

图1.2 创建代码仓库的按钮所在位置

3.选择New repostitory

在这里插入图片描述

图1.3 选择新建仓库的选项(New repostitory)

4.进入创建界面后,按照下图所示操作,完成操作后点击绿色的Create repository按钮

在这里插入图片描述

图1.4 填写新建仓库的各项具体信息

✅ 1. Initialize this repository with a README

💡作用:创建一个初始的 README.md 文件,用来介绍这个项目

具体作用:
  • 项目说明的门面,通常包括:
    • 项目简介
    • 安装/运行方法
    • 使用示例
    • 作者和联系方式
  • 一旦有这个文件,仓库就不是“空仓库”,可以直接 clone 或 pull(不然初始仓库 clone 会报错)
  • 会在 GitHub 页面上直接显示内容,美观又实用
几乎所有项目都应有一个 README,可以当成项目的名片+使用手册

✅ 2. .gitignore 文件

💡作用:告诉 Git 哪些文件不应该提交到版本库

具体作用:
  • 忽略本地临时文件、不必要的环境文件、防止“脏数据”污染仓库
  • 通常用于排除:
    • 编译生成的中间文件(如 .pyc, dist/
    • 编辑器配置(如 .vscode/, .idea/
    • 依赖库(如 node_modules/, .venv/
    • 系统文件(如 .DS_StoreThumbs.db
示例(Python 项目):
gitignore复制编辑__pycache__/
*.pyc
*.pyo
*.pyd
.venv/
.env
.idea/
.vscode/
推荐不设置 .gitignore,很容易把一些不该提交的文件误上传,引发冲突或体积变大。GitHub 提供了各种语言的模板,一键搞定,建议勾选!

✅ 3. License(许可证)

💡作用:告诉别人你这个代码允许别人怎么用

具体作用:
  • 没有许可证 = 默认 保留所有权利,别人不能合法地复制、修改、使用你的代码
  • 加上许可证 = 明确允许他人使用、修改、转载,但可能有条件
常见许可证类型:
许可证开源?可商用?要注明作者?要开源修改?特点
MIT非常宽松,适合开源又希望推广
Apache 2.0保护专利权,适合商业项目
GPL必须开源修改后的代码
无许可证默认“版权保留”,不能用
推荐理由:
  • 如果你是开源项目:建议选 MIT 或 Apache 2.0
  • 如果你不希望别人随便用,就不要加 license 或声明专有协议
  • 如果是私有仓库,license 可选,但加一个也有规范感

📌 总结建议:

选项是否建议勾选说明
README.md✅ 必勾选项目说明文件,增强可读性,避免空仓库
.gitignore✅ 必勾选忽略无用文件,保持仓库整洁
License✅ 可视情况勾选建议开源项目选择 MIT/Apache,私有项目可略过

三.Git绑定Github的方法

1. 将Git绑定到Github的作用

本地 Git 仓库可以同步到 GitHub。

其他成员可以 clone、pull、push 同一个远程仓库,一起协作开发

GitHub 上还能:

  • 创建 issue(任务追踪)
  • 提交 Pull Request(代码审核)
  • 做 CI/CD(自动测试部署)
  • 备份代码,防止丢失
  • 显示项目进度和文档(README、Wiki)

2. 下载Git并完成安装

[git安装教程

3. 打开Git bash

输入指令:
ssh-keygen -t rsa -C "xxxx@xxx.com"
引号中需要为Github账号所绑定邮箱

会有如下显示:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):
Enter passphrase for "/c/Users/23370/.ssh/id_rsa" (empty for no passphrase):
Enter same passphrase again:
A. Generating public/private rsa key pair.

🔹 系统正在帮你生成一对新的密钥(RSA算法,安全性很高)。

B. Enter file in which to save the key (/c/Users/23370/.ssh/id_rsa):

🔹 让你指定密钥文件保存的位置,默认存到:

/c/Users/23370/.ssh/id_rsa

​ 通常直接回车就行,用默认路径没问题

C. Enter passphrase for “/c/Users/23370/.ssh/id_rsa” (empty for no passphrase): 请输入登入密码

🔹 让你为私钥文件设置一个密码(叫做 passphrase)。

  • 如果你输入密码,以后用这个 SSH 密钥连接时,每次需要输入这个密码。
  • 如果你直接回车(留空),就不用密码,连接会更快(但稍微没那么安全)。
D. Enter same passphrase again:请你确定登入密码(再次输入)
E. 最终生成的文件:
文件内容用途
id_rsa私钥自己保存,绝不能泄露
id_rsa.pub公钥上传到 GitHub 等服务器

4. 前往当前设备的密匙保存路径,比如/c/Users/23370/.ssh , 打开生成的ssh key文件id_rsa.pub并复制key字符串

在这里插入图片描述

图 1.5 保存当前密匙的文件界面

5.点击Github中的头像,点击侧边栏中的Settings,按照 GitHub → Settings → SSH and GPG keys → New SSH key(绿色按钮)的步骤操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

图 1.6 将`id_rsa.pub` 的内容复制进去,再点击Add SSH key绿色按钮进行创建
🛠️ Authentication Key vs Signing Key 的区别
项目Authentication Key(认证密钥)Signing Key(签名密钥)
主要用途用来登录 GitHub,比如 git push用来给提交(commit)做签名,证明是你本人提交
Git 操作影响✅ git push、pull、clone 必须靠它🚫 不影响推拉,只管提交签名
是否必需✅ 必须有一把🔸 可选(签名是提升可信度用的)
配置位置(GitHub)Settings → SSH and GPG keys → “Authentication Key”Settings → SSH and GPG keys → “Signing Key”
本地配置额外操作?否,只关联 remote 就好是,需要告诉 Git 用哪把 Key 来签名提交
使用感受连接 GitHub必需,最基础提交更专业/可信,但新手可暂时不管

🎯 最简单理解:
  • Authentication Key:登录 GitHub 的门禁卡 🛂
  • Signing Key:每次提交(commit)的时候,在提交记录上盖一个你的私人印章 🪪
📌 小例子
不设置 Signing Key 时:
git commit -m "Fix bug"
#提交成功,但是 commit 记录上没有认证标识
配置了 Signing Key 后:
git commit -m "Fix bug"
#提交成功,GitHub上显示 "Verified" 绿色小盾牌

这样别人一看,就知道这是你本人提交的,不是别人伪造的。

在这里插入图片描述

图 1.7 成功创建的效果图(配置成功的SSH key)

6. 在Git bash上验证是否绑定成功

(1)输入指令: ssh -T git@github.com,回车后输入刚才设置的密匙密码(注意密码是看不见的)

在这里插入图片描述

PS: 第一次输入的时候会遇到如下显示:(请输入yes)

ssh -T git@github.com The authenticity of host 'github.com (20.205.243.166)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?

第一次连接某个服务器(这里是 GitHub)时,SSH 客户端不知道对方的身份,所以它提醒你:

⚠️ “我第一次遇到 github.com,这台机器的指纹是这个(SHA256:xxx),你要不要信任它?”

​ 这相当于确认“你信得过 GitHub 的服务器”

​ 如果你输入 yes,SSH 会把 GitHub 的身份保存下来(记录在你的 known_hosts 文件里),以后再连 GitHub,就不会再问你了。

随后会有如下显示:

Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Enter passphrase for key '/c/Users/23370/.ssh/id_rsa': 
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.

🔹 系统告诉你:

  • 已经把 GitHub 的服务器信息(它的身份指纹)记录到本地了。
  • 下次连接 GitHub 时,不需要再问你了。
  • 存在文件里:~/.ssh/known_hosts

(✅ 正常现象,没任何问题。)


Enter passphrase for key '/c/Users/23370/.ssh/id_rsa':

🔹 这里问你要SSH私钥的密码(passphrase)。

这是因为:

  • 你在一开始生成 SSH 密钥的时候,设置了passphrase(私钥保护密码)。
  • 现在要用这把私钥去连接 GitHub,所以系统要你输入密码来解锁私钥

👉 只要输入你当时设置的密码就行(输入的时候不会显示星号 *,正常的)。

显示 Hi Ac157OL! You’ve successfully authenticated, but GitHub does not provide shell access.即为连接成功

Hi Ac157OL!:GitHub 跟你打招呼,确认你的账号(Ac157OL)已经通过了身份验证。

You’ve successfully authenticated:你的 SSH 密钥验证通过了,已经可以正常连 GitHub。

but GitHub does not provide shell access:GitHub 只是用来托管代码的,它不会给你一个远程终端(shell),所以你不能像登录服务器一样直接操作。

(2)设置username和email,输入如下指令:
git config --global user.name “xxx”
git config --global user.email “xxxx@xxx.com”

即使已经在Github完成了SSH key的绑定,但是依旧需要设置username和email这两个参数,原因如下:

项目说明
SSH连GitHub只是让你的电脑可以连上GitHub服务器,身份验证通过了。
git config --global user.name/user.email是告诉 Git:以后每次你提交(commit)代码时,署名用哪个名字和邮箱。
  • SSH连接 = “门禁卡”
    → 你刷卡进公司了
  • git config 设 username/email = “在文件上签名”
    → 你在公司提交的每一份文件上,都要签上你的名字和邮箱,告诉别人这是谁写的

👉 不设 username/email,git commit 也能做,但提交记录上就没有明确署名或者是默认的,很乱很丑。

**这里需要注意一点:因为 GitHub 上每一条提交记录(commit)都和邮箱绑定。**所以在git config --global user.email "xxxx@xxx.com"中填写的必须是Github绑定的邮箱
  • 如果你设置了正确的邮箱(和 GitHub 账号里的邮箱对应),GitHub 提交记录上会显示你的头像和链接到你的 GitHub 账号。
  • 如果乱填一个邮箱(比如打错了),GitHub会显示一个小问号 ❓,无法正确关联到你的账号。

邮箱才是 GitHub 识别身份的关键不是靠 SSH名字

设置项要求说明
git config --global user.name随便填(当然建议和GitHub用户名一样,看起来正规一点)只是一个“提交署名”的显示名字,不影响 GitHub 识别身份。
git config --global user.email必须和你 GitHub 账户绑定的邮箱一致GitHub靠邮箱来识别你的提交归属,邮箱错了,GitHub认不出来。

git config --global 设置一次就永久生效

  • --global 代表:这个配置是全局配置只要在你电脑上,用Git提交,都会默认用这个name和email
  • 只需要执行一次,以后不用每次提交都再写。
如何检查一下你现在的 git 配置是否正确,直接输入如下指令:
git config --global --list

就能看到现在生效的 user.nameuser.email

如果以后你想检查自己当前的 user.nameuser.email 配置,可以用:
git config --global user.name
git config --global user.email

Git会直接告诉你现在生效的是哪一组设置。

(3)设置git的本地仓库
1、直接在需要上传的文件目录下右键点击打开git bash

在这里插入图片描述

2、 创建本地git仓库的方法:在git bash终端输入指令git init

在这里插入图片描述

内容意思
git init你执行了初始化命令
Initialized empty Git repositoryGit告诉你:“仓库已经创建好了,当前是空的。”

Git 就会在这个文件夹下,悄悄建一个隐藏目录 .git,用来记录所有的版本变化、提交记录、分支信息

  • 🔹 没有 git init,Git 是不会管你文件怎么改的。
  • 🔹 一旦 git init,这里所有变化 Git 都能追踪、记录。

如果你想验证一下 .git 真的在,可以在 Git Bash 里敲:

ls -a

它会列出所有文件(包括隐藏文件),你应该能看到一个 .git/ 文件夹。

3、 上传文件到Github的方式

Git是分两步提交的

3.1 将文件添加到 Git 暂存区:用 git add 把你指定的文件,标记为"准备好要提交",放到 Git 的“暂存区(staging area)”。

git add README.md
git add ./*
  • git add README.md 是只添加 README.md 一个文件。
  • git add ./ 是把当前目录下所有文件都添加进去(相当于:全都准备好要提交了)。

3.2 正式提交到本地仓库

git commit -m "本次提示信息" (这里的提示信息填写什么都可以,可以说明修改的部分)

把刚刚 git add 过的文件,真正记录到 Git 仓库历史中
并且用 -m "提示信息" 给这次提交写一个小备注,告诉自己和别人:“这次提交是干了啥”。

  • 例子:git commit -m "初始化项目"
  • 例子:git commit -m "添加了登录模块"

commit是一次"快照"保存,给未来版本回滚提供依据

git add:把文件添加到暂存区

git commit:将暂存区的文件提交到本地 Git 仓库,并生成一条提交记录。

PS:如果文件名中有空格,你可以将整个文件名用引号包裹起来(单引号或双引号都可以),这样 Git 就能正确识别路径。

例如:

git add 'AI Agent-V10'

或者:

git add "AI Agent-V10"

如果你不想使用引号,也可以使用反斜杠 \ 来转义空格。这样可以确保空格不会被分开:

git add AI\ Agent-V10

如果出现如下信息

$ git add 'AI Agent-V10'
warning: in the working copy of 'AI Agent-V10/AI Agent/test_model.py.code-workspace', LF will be replaced by CRLF the next time Git touches it
解释:
  • LF (Line Feed)CRLF (Carriage Return + Line Feed) 都是行结束符,用来标识一行的结束。
    • LF (\n) 是 Unix 和 Linux 系统中使用的行结束符。
    • CRLF (\r\n) 是 Windows 系统中使用的行结束符。
  • Git 的默认行为是根据你的操作系统来管理文件的行结束符。在 Windows 上,Git 会将文件中的 LF(Unix 样式行结束符)转换为 CRLF(Windows 样式行结束符),当 Git 操作这些文件时,会自动进行转换。
  • 警告信息提醒你,下次 Git 在处理这个文件时,会把文件中的 LF 转换成 CRLF
为什么会出现这个警告:
  1. 你的文件在本地工作区(working directory)中使用了 LF 作为行结束符。
  2. Git 会在下次操作这个文件时将其转换为 CRLF,以符合 Windows 系统的行结束符标准。
解决方法:

这个警告本身并不会导致提交失败。它只是告诉你,Git 会在下一次触摸这个文件时,自动将行结束符转换成 CRLF。

如果你不想看到这个警告或希望 Git 以特定方式处理行结束符,可以调整 Git 的配置。

如果你希望 Git 始终保持一致的行结束符

你可以使用以下命令来配置 Git 处理行结束符:

git config --global core.autocrlf true

这个设置会让 Git 在提交时自动将 LF 转换为 CRLF,而在检出(checkout)时自动将 CRLF 转换回 LF,适用于 Windows 系统。

记住重要的一点:

没有 git add,提交会失败,因为 Git 不知道你想提交哪些文件。

git commit 是在提交之前对暂存区的文件进行确认和打包(这时才会把你之前用 git add 加入的文件提交)。

git commit 不会“重新”添加文件,它仅仅是提交暂存区的内容,并且会生成一条提交记录。如果没有使用 git add,则没有任何文件被加入提交

🏅 小tip:这种方式只适用于已经被 Git 管理的文件,新文件还是需要 git add

如果忘记加 git add,提交时可以加 git commit -a,它会自动把所有已经跟踪的文件(已被 Git 管理的文件)加到暂存区,再提交:

git commit -a -m "提交所有修改"

总结流程

步骤命令解释
1git init把这个文件夹变成 Git仓库(开始版本管理)
2git add 文件名git add ./把文件放入"准备提交"的暂存区
3git commit -m "备注"真正提交到本地仓库,写一条变更记录

你可以用下面的命令查看提交记录(验证成功了没):

git log

可以看到每一次 commit 的 ID、作者、提交时间和备注。

(4)本地仓库与github远程仓库关联
1、查看Github代码仓库地址

在这里插入图片描述

2、 在Git bash上执行关联操作,输入如下指令(引号为代码仓库的地址信息)
git remote add origin “git@github.com:xxxx"
为什么需要绑定仓库?
  • 本地仓库只是你的代码保存在本地的地方,而**远程仓库(如 GitHub)**才是真正托管你的代码的地方。
  • 当你提交(git commit)时,Git 只会保存在本地仓库,它并不会自动上传到 GitHub。
  • 为了将提交推送到远程 GitHub 仓库,你需要明确告诉 Git 要推送到哪个远程仓库

需要使用 git remote add 命令将本地仓库与 GitHub 上的仓库进行绑定,具体步骤如下:

在 GitHub 上创建一个新的仓库(假设你已经在 GitHub 上创建了一个名为 my-repo 的仓库)
  • 假设进入 GitHub,点击“New repository”按钮,创建一个新的仓库,命名为 my-repo
将远程 GitHub 仓库绑定到本地仓库**

在本地仓库的 Git Bash 中,使用以下命令绑定 GitHub 仓库:

git remote add origin https://github.com/你的用户名/my-repo.git
  • origin 是 Git 默认的远程仓库名称。
  • https://github.com/你的用户名/my-repo.git 是你 GitHub 仓库的 URL,你可以在 GitHub 仓库页面找到它。
验证远程仓库是否绑定成功

你可以使用以下命令检查绑定情况:

git remote -v

如果绑定成功,会显示类似:

origin  https://github.com/你的用户名/my-repo.git (fetch)
origin  https://github.com/你的用户名/my-repo.git (push)
3、 🎯 在多个 GitHub 仓库中选择目标仓库

如果你有多个远程仓库,你可以使用 不同的名字 来区分这些远程仓库。例如,如果你有两个 GitHub 仓库 repo1repo2,你可以这样设置:

git remote add repo1 https://github.com/你的用户名/repo1.git
git remote add repo2 https://github.com/你的用户名/repo2.git

然后,推送到指定的远程仓库

git push repo1 master  # 推送到 repo1
git push repo2 master  # 推送到 repo2
切换远程仓库

你还可以随时查看、删除或修改绑定的远程仓库:

  • 查看远程仓库:git remote -v
  • 删除远程仓库:git remote remove origin
  • 修改远程仓库 URL:git remote set-url origin 新的仓库地址

绑定本地仓库和 GitHub 仓库:必须通过 git remote add origin <GitHub仓库URL> 来绑定。

推送到指定仓库:如果有多个仓库,可以在 git push 时明确指定仓库名,如 git push repo1 master

查看远程仓库:使用 git remote -v 查看已经绑定的远程仓库。

3.1 git remote add 的作用
git remote add <远程名> <仓库URL>
  • <远程名>:给这个远程仓库起的一个本地“别名”,方便后面引用。例如 originrepo1backupupstream……
  • <仓库URL>:你在 GitHub(或其他托管平台)上创建的那个仓库的地址。

3.2 origin vs 自定义远程名
  • origin

    • 这是 Git 默认的远程名,几乎所有教程里把主仓库都叫 origin
    • 当你 git clone 一个仓库时,Git 会自动把源 주소 设为 origin
  • 自定义(repo1、repo2、backup……)

    • 如果你还想推送到第二个、第三个仓库,就可以再 git remote add 一个新的远程名:

      git remote add repo1 https://github.com/你的用户名/repo1.git
      git remote add repo2 https://github.com/你的用户名/repo2.git
      
    • 这里的 repo1repo2 只是一种示例命名,完全可以换成任何你能一眼看出用途的名字,比如 originmirrorbackup


3.3 推送到不同的远程
  • 如果你只有一个远程(origin),那就:

    git push origin master
    
  • 如果你绑定了两个远程:

    push repo1 master   # 把 master 分支推到 repo1
    git push repo2 master   # 把 master 分支推到 repo2
    
  • 这样,同一份代码、同一个分支,可以同步推送到多个远程仓库。

3.4 如何查看和管理已有远程
  • 查看

    git remote -v
    
  • 修改 URL

    git remote set-url repo1 新的地址
    
  • 删除

    git remote remove repo2
    

**注意:git remote add origin 只能为 本地仓库 添加 一个主远程仓库

而这个 origin 通常是你最初推送或克隆时默认绑定的仓库。

具体解释:
  • origin 是 Git 中的一个默认远程仓库名,当你克隆一个仓库时,Git 会自动将这个远程仓库命名为 origin,并将其作为默认的推送和拉取源。
  • 每个本地仓库只能有 一个 origin,但是你可以通过 git remote add 命令为一个本地仓库添加 多个其他远程仓库,这些远程仓库的名字可以是自定义的(如 repo1, repo2, backup, staging 等)。
例子:

假设你有一个本地仓库,你想同时推送到 GitHub 和 GitLab:

  1. 首先添加 GitHub 仓库(作为 origin

    git remote add origin https://github.com/你的用户名/your-repo.git
    

    这里的 origin 是默认的远程仓库名。

  2. 再添加 GitLab 仓库(可以使用自定义名字)

    git remote add gitlab https://gitlab.com/你的用户名/your-repo.git
    

查看所有远程仓库:

git remote -v

输出会类似于:

origin    https://github.com/你的用户名/your-repo.git (fetch)
origin    https://github.com/你的用户名/your-repo.git (push)
gitlab    https://gitlab.com/你的用户名/your-repo.git (fetch)
gitlab    https://gitlab.com/你的用户名/your-repo.git (push)

小结:

  • origin 是默认的远程仓库名,且每个本地仓库只能有一个 origin
  • 你可以为同一个本地仓库添加多个远程仓库,只要它们的名字不同(例如 originrepo1repo2 等)。
  • origin 并不限制你只能添加一个仓库,其他自定义的远程仓库名没有限制
4、 在Git bash上输入如下指令,将文件从本地上传到Github

当你在本地仓库里执行这条指令:

git push -u origin master

它做了两件事情:


1. 把本地的 master 分支推送到远程的 origin 仓库上
  • origin 是你本地设置的远程仓库名(通常指向 GitHub 上那个仓库地址)。
  • master 是你要推送的本地分支名字(现在有些仓库默认是 main,但如果你本地分支叫 master,就写 master)。
  • 这一步会真正把你的代码文件上传到 GitHub 仓库上,GitHub 页面上也能看到文件了。

2. 建立本地分支和远程分支的关联(Tracking)
  • -u--set-upstream 的简写。
  • 它的作用是告诉 Git:“以后这个本地分支(master)默认关联到远程的 origin/master 分支”。
  • 好处是以后就可以直接用更短的指令推送或者拉取,比如:
    • 推送:git push
    • 拉取:git pull
  • 不需要每次都敲一大串 git push origin master

总结一句话:

git push -u origin master 会把代码传到 GitHub,并且帮你把本地分支和远程分支自动关联好,以后操作就方便很多了


小补充一下:
  • 如果是第一次推送(第一次建立远程仓库的连接),一定要用 -u
  • 之后继续更新代码,只需要在本地改完 ➔ git add .git commit -m "描述"git push,就可以了,不用再加 origin master,很省事!
(4)在Github上查看提交信息:

点击如下按钮,选择分支(该分支名称和提交时指令git push -u origin master中的master有关系)

在这里插入图片描述

(5)克隆Github代码仓库到本地(git@github.com:xxx此处使用的是代码仓库的地址)
git clone git@github.com:xxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于LSTM-AutoEncoder的心电信号时间序列数据异常检测(PyTorch版)

心电信号&#xff08;ECG&#xff09;的异常检测对心血管疾病早期预警至关重要&#xff0c;但传统方法面临时序依赖建模不足与噪声敏感等问题。本文使用一种基于LSTM-AutoEncoder的深度时序异常检测框架&#xff0c;通过编码器-解码器结构捕捉心电信号的长期时空依赖特征&#…

JavaScript中的Event事件对象详解

一、事件对象&#xff08;Event&#xff09;概述 1. 事件对象的定义 event 对象是浏览器自动生成的对象&#xff0c;当用户与页面进行交互时&#xff08;如点击、键盘输入、鼠标移动等&#xff09;&#xff0c;事件触发时就会自动传递给事件处理函数。event 对象包含了与事件…

王牌学院,25西电通信工程学院(考研录取情况)

1、通信工程学院各个方向 2、通信工程学院近三年复试分数线对比 学长、学姐分析 由表可看出&#xff1a; 1、信息与通信工程25年相较于24年上升5分、军队指挥学25年相较于24年上升30分 2、新一代电子信息技术&#xff08;专硕&#xff09;25年相较于24年下降25分、通信工程&…

深入理解 Java 多线程:锁策略与线程安全

文章目录 一、常见的锁策略1. 乐观锁&&悲观锁2. 读写锁3. 重量级锁&&轻量级锁4. 自旋锁5. 公平锁&&不公平锁6. 可重入锁 && 不可重入锁 二、CAS1. 什么是 CAS2. CAS 是怎么实现的3.CAS 有哪些应用1) 实现原子类2) 实现自旋锁 4. CAS 的 ABA 问…

Java数据结构——ArrayList

Java中ArrayList 一 ArrayList的简介二 ArrayList的构造方法三 ArrayList常用方法1.add()方法2.remove()方法3.get()和set()方法4.index()方法5.subList截取方法 四 ArrayList的遍历for循环遍历增强for循环(for each)迭代器遍历 ArrayList问题及其思考 前言 ArrayList是一种 顺…

科学量化AI对品牌产品印象 首个AI印象(AII)指数发布

2025年4月18日&#xff0c;营销传播数据研究领先机构四度传播研究院(SAC)&#xff0c;正式推出了量化AI大模型对产品整体印象的AI印象&#xff0c;简称AII&#xff08;ARTIFICIAL INTELLIGENCE IMPRESSIONS&#xff09;&#xff0c;同时发布了首个“汽车AI印象榜”。为企业和消…

FFmpeg 硬核指南:从底层架构到播放器全链路开发实战 基础

目录 1.ffmpeg的基本组成2.播放器的API2.1 复用器阶段2.1.1 分配解复用上下文2.1.2 文件信息操作2.1.3 综合示例 2. 2 编解码部分2.2.1 分配解码器上下文2.2.2编解码操作2.2.3 综合示例 3 ffmpeg 内存模型3.1 基本概念3.2API 1.ffmpeg的基本组成 模块名称功能描述主要用途AVFo…

UE5有些场景的导航生成失败解决方法

如果导航丢失&#xff0c;就在项目设置下将&#xff1a; 即可解决问题&#xff1a; 看了半个小时的导航生成代码发现&#xff0c;NavDataSet这个数组为空&#xff0c;导致异步构建导航失败。 解决 NavDataSet 空 无法生成如下&#xff1a; 当 NavDataSet 为空的化 如果 bAut…

MCP(Model Context Protocol 模型上下文协议)科普

MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是由人工智能公司 Anthropic 于 2024年11月 推出的开放标准协议&#xff0c;旨在为大型语言模型&#xff08;LLM&#xff09;与外部数据源、工具及服务提供标准化连接&#xff0c;从而提升AI在实际…

健康养生指南

在快节奏的现代生活中&#xff0c;健康养生成为人们关注的焦点。它不仅关乎身体的强健&#xff0c;更是提升生活质量、预防疾病的关键。掌握科学的养生方法&#xff0c;能让我们在岁月流转中始终保持活力。 饮食是健康养生的基础。遵循 “均衡膳食” 原则&#xff0c;每日饮食需…

Linux系统:进程终止的概念与相关接口函数(_exit,exit,atexit)

本节目标 理解进程终止的概念理解退出状态码的概念以及使用方法掌握_exit与exit函数的用法以及区别atexit函数注册终止时执行的函数相关宏 一、进程终止 进程终止&#xff08;Process Termination&#xff09;是指操作系统结束一个进程的执行&#xff0c;回收其占用的资源&a…

Linux下 文件的查找、复制、移动和解压缩

1、在/var/log目录下创建一个hehe.log的文件&#xff0c;其文件内容是&#xff1a; myhostname ghl mydomain localdomain relayhost [smtp.qq.com]:587 smtp_use_tls yes smtp_sasl_auth_enable yes smtp_sasl_security_options noanonymous smtp_sasl_tls_security_opt…

C语言学习之预处理指令

目录 预定义符号 #define的应用 #define定义常量 #define定义宏 带有副作用的宏参数 宏替换的规则 函数和宏定义的区别 #和## #运算符 ##运算符 命名约定 #undef ​编辑 命令行定义 条件编译 头文件包含 头文件被包含的方式 1.本地头文件包含 2.库文件包含 …

【STM32单片机】#10 USART串口通信

主要参考学习资料&#xff1a; B站江协科技 STM32入门教程-2023版 细致讲解 中文字幕 开发资料下载链接&#xff1a;https://pan.baidu.com/s/1h_UjuQKDX9IpP-U1Effbsw?pwddspb 单片机套装&#xff1a;STM32F103C8T6开发板单片机C6T6核心板 实验板最小系统板套件科协 实验&…

fastlio用mid360录制的bag包离线建图,提示消息类型错误

我用mid360录制的bag包&#xff0c;激光雷达的数据类型是sensor_msgs::PointCloud2&#xff0c;但是运行fast_lio中的mid360 launch文件&#xff0c;会报错&#xff08;没截图&#xff09;&#xff0c;显示无法从livox_ros_driver2::CustomMsg转换到sensor_msgs::PointCloud2。…

二级评论列表-Java实现

二级评论列表是很常见的功能&#xff0c;文章记录了新手用Java实现的具体逻辑。 整体实现逻辑是先用2个sql&#xff0c;分别查出两层数据。然后用java在service中实现数据组装&#xff0c;返给前端。这种实现思路好处是SQL简洁&#xff0c;逻辑分明&#xff0c;便于维护。 一…

IP检测工具“ipjiance”

目录 IP质量检测 应用场景 对网络安全的贡献 对网络管理的帮助 对用户决策的辅助作用 IP质量检测 检测IP的网络提供商&#xff1a;通过ASN&#xff08;自治系统编号&#xff09;识别IP地址所属的网络运营商&#xff0c;例如电信、移动、联通等。 识别网络类型&#xff1…

Replicate Python client

本文翻译整理自&#xff1a;https://github.com/replicate/replicate-python 文章目录 一、关于 Replicate Python 客户端相关链接资源关键功能特性 二、1.0.0 版本的重大变更三、安装与配置1、系统要求2、安装3、认证配置 四、核心功能1、运行模型2、异步IO支持3、流式输出模型…

deekseak 本地windows 10 部署步骤

有些场景需要本地部署&#xff0c;例如金融、医疗&#xff08;HIPAA&#xff09;、政府&#xff08;GDPR&#xff09;、军工等&#xff0c;需完全控制数据存储和访问权限&#xff0c;避免云端合规风险或者偏远地区、船舶、矿井等无法依赖云服务&#xff0c;关键设施&#xff08…

<sql>、<resultMap>、<where>、<foreach>、<trim>、<set>等标签的作用和用法

目录 一. sql 代码片段标签 二. resultMap 映射结果集标签 三. where 条件标签 四. set 修改标签 五. trim 标签 六. foreach 循环标签 一. sql 代码片段标签 sql 标签是 mybatis 框架中一个非常常用的标签页&#xff0c;特别是当一张表很有多个字段多&#xff0c;或者要…