当前位置: 首页 > news >正文

Git 远程仓库

Git 入门笔记 远程仓库

Git 远程仓库

Git 远程仓库是一个托管在网络服务器上的代码仓库,它是团队协作开发的核心。

通过远程仓库,开发者可以共享代码、同步更新,实现分布式协作。

SSH 密钥

SSH 密钥可以让你在使用 Git 时安全地连接远程仓库,无需每次都输入用户名和密码。

  1. 检查现有 SSH 密钥

检查 C:\Users\你的用户名 文件夹,看看有没有 .ssh 文件夹,再看看有没有 id_rsaid_rsa.pub 文件。

如果有的话,就不用生成了,直接跳过下一步。

如果没有的话,就需要进行下一步,生成密钥。

  1. 生成新的 SSH 密钥对

打开 Git Bash,输入以下指令:(最后那个字符串是你的邮箱地址)

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

可以保持默认值,一直按回车键。

完成后,可以在第一步提到的文件夹里,看到那两个文件。

  1. 添加密钥

登录 Github,点击右上角的头像,找到 Settings,在左侧的导航栏中,找到 SSH and GPG keys 选项。

github设置

点击 New SSH key,填写 Title,把 id_rsa.pub 文件的内容复制,粘贴到 Key 那一栏,最后点击 Add SSH key 就添加完成了。

添加SSH

设置SSH

远程仓库操作

远程仓库管理

  • 克隆远程仓库:git clone 仓库地址
  • 查看远程仓库:git remote -v
  • 添加远程仓库:git remote add 远程仓库名 仓库地址
  • 删除远程仓库:git remote remove 远程仓库名
  • 重命名远程仓库:git remote rename 旧名称 新名称

远程分支操作

  • 查看远程分支:git branch -r
  • 查看所有分支:git branch -a
  • 查看分支跟踪:git branch -vv
  • 拉取远程分支:git pull origin 分支名
  • 推送本地分支:git push origin 分支名
  • 删除远程分支:git push origin --delete 分支名
  • 跟踪远程分支:git branch --track 分支名 origin/分支名

实践

创建远程仓库

登录 Github,点击右上角的加号,点击 New repository,填写仓库名称,点击 Create repository 即可创建远程仓库。

创建远程仓库

仓库信息

创建完成后,仓库默认是空的,点击 SSH 按钮,右侧显示了仓库的地址。点击最右侧的复制按钮,可以把这个地址复制下来。

仓库地址

克隆到本地

在本地找一个空的文件夹,打开 Git Bash 窗口,执行命令:

$ git clone 仓库地址

就可以把远程仓库克隆到本地了。

克隆仓库

创建本地文件

进入 MyProject 文件夹,创建一个 README.md 文件,输入一行文本。

创建本地文件

提交并推送

回到 Git Bash 窗口,执行命令:

$ cd MyProject

进入 MyProject 文件夹,然后执行简单的提交命令:

$ git add README.md
$ git commit -m "Add README"

由于我们是从远程仓库克隆到本地,只有一个 main 分支,本地的 main 分支和远程的 main 分支是关联的,所以可以直接执行命令:

$ git push

此时,我们提交的 README.md 文件就被推送到远程仓库了。

提交并推送

远程修改文件

在 Github 页面上,点击编辑按钮。

远程修改文件

修改一下文件内容,点击 Commit changes 按钮进行提交。

远程提交

此时远程仓库就有了两次提交,而本地仓库只有一次。

拉取更新

现在要从远程仓库拉取更新,把本地仓库的内容也更到最新版本,执行命令:

$ git pull

执行完成后,本地的文件就跟远程仓库同步版本了。

拉取更新

相关文章:

  • 设计模式(8)——SOLID原则之依赖倒置原则
  • 39.[前端开发-JavaScript高级]Day04-函数增强-argument-额外知识-对象增强
  • docker创建容器添加启动--restart选项
  • 复刻系列-星穹铁道 3.2 版本先行展示页
  • 前端在线工具 CodePen 和 JSFiddle
  • 智能工厂调度系统设计方案研究报告
  • 《AI大模型应知应会100篇》第15篇:大模型训练资源需求:算力、数据与成本分析
  • ConcurrentHashMap 源码分析
  • C++中 string 类及迭代器相关知识详解
  • 详解MYSQL表空间
  • 如何为您的设计应用选择高速连接器
  • Hello Java!
  • ngx_conf_read_token - events
  • CMake set_source_files_properties用法详解
  • 机械革命 无界15X MT7922 debian12 蓝牙无法使用的研究
  • 【NLP】 18. Tokenlisation 分词 BPE, WordPiece, Unigram/SentencePiece
  • 【navicat16版本安装】
  • 基于FPGA的智能垃圾桶设计-超声波测距模块-人体感应模块-舵机模块 仿真通过
  • 服务器远程端口详解
  • MySQL与Oracle深度对比
  • 知名中医讲师邵学军逝世,终年51岁
  • 时隔三年,俄乌直接谈判重启
  • A股三大股指低收:汽车股领涨,大金融走弱,两市成交近1.1万亿元
  • 特朗普再提“接管”加沙,要将其变为“自由区”
  • 辽宁盘山县一乡镇幼儿园四名老师被指多次殴打一女童,均被行拘
  • 魔都眼|锦江乐园摩天轮“换代”开拆,新摩天轮暂定118米