IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git 管理 GitHub 远程仓库 -> 正文阅读

[开发工具]Git 管理 GitHub 远程仓库


一、文档链接

此文档为自己总结的 Git 相关操作

链接:https://pan.baidu.com/s/1ALn_IGq4qo9D-EetoWCPqw
提取码:ufx6


二、操作流程


(一)在GitHub上创建新的仓库

如何创建新的仓库

  • 为你新建的仓库命名
  • 添加必要的描述(此描述相当于写入了Readme.md文件中,将会出现在仓库的首页
  • 选择为公开仓库
  • 默认选择添加Readme文件
  • Create repository

(二)URL选择

远程 URL 是 Git 一种指示“代码存储位置”的绝佳方式。 该 URL 可能是您在 GitHub 上的仓库,也可以是另一个用户的复刻,甚至在完全不同的服务器上。
您只能推送到两类 URL 地址:

  • HTTPS URL,如 https://github.com/user/repo.git
  • SSH URL,如 git@github.com:user/repo.git

Git 将远程 URL 与名称相关联,默认远程通常名为 origin

1. HTTPS URL

在命令行中使用 HTTPS URL 对远程仓库执行 git clonegit fetchgit pullgit push 命令时,Git 将要求您输入 GitHub 用户名和密码。

但是需要注意的是:从 2021 年 8 月 13 日开始,将在 GitHub.com 上对 Git 操作进行身份验证时不再接受帐户密码,而是使用个人访问令牌 (PAT) 代替密码向 GitHub 进行身份验证。

如何创建个人访问令牌?

  • 单击 Settings
    第一步

  • 在左侧边栏中,单击 Developer settings
    第二步

  • 在左侧边栏中,单击 Personal access tokens(个人访问令牌)
    第三步

  • 单击 Generate new token(生成新令牌)

  • 为你的令牌命名、选择令牌有限期、勾选 repo(要使用令牌从命令行访问仓库)
    第四步

  • 单击 Generate token(生成令牌)

  • 将令牌复制到剪贴板 (离开此页面后,将无法再次看到令牌)

要像对待密码一样对待您的令牌,确保其机密性。 使用 API 时,应将令牌用作环境变量,而不是将其编码到程序中。

最后强调:个人访问令牌只能用于 HTTPS Git 操作

2. SSH URL

使用 SSH URL 对远程仓库执行 git clonegit fetchgit pullgit push 命令时,系统将提示您输入密码,并且必须提供您的 SSH 密钥密码。

如何生成 SSH 密钥?
以下步骤仅针对 Win 系统, 关于 Linux 系统密钥的生成可参考:GitHub文档

  • 开启 Git Bash
  • 命令行中输入:ssh-keygen -t ed25519 -C "your_email@example.com"(替换为自己的 GitHub 电子邮件地址)
  • cd ~/.ssh
  • cat id_rsa.pub 复制打印信息
  • GitHubSetting 中找到 SSH and GPG keys
    在这里插入图片描述
  • 把刚刚 copy 的秘钥复制进去,取个名字,完成添加~

验证是否成功:

输入 ssh -T git@github.com
如果打印类似如下信息,即完成:
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

(三)Git 操作手册

一、工作区、暂存区、本地库

在这里插入图片描述

二、远程库

基于网络服务器的远程代码仓库。一般称为远程库。例如:GitHub

三、Git 本地操作

(一)设置本地用户信息

  1. 查看信息
git config --global --list  # 查看当前 git 的配置信息
  1. 修改信息
git config --global user.name "username"
git config --global user.email "email"

(二)本地仓库操作

<1> 初始化本地仓库
git init

通过 git status 命令,查询当前仓库的状态。

git status

"""
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        version1.1/
"""

可看到当前仓库是空的,但存在 Untracked files

<2> 将文件加入暂存区
git add .  # 添加当前路径的全部文件
git add xxx  # 也可指定某一文件

git status 查询仓库状态,可看到已被提交的文件。

git status

"""
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   version1.1/CORE/core_cm3.c
        new file:   version1.1/CORE/core_cm3.h
        new file:   version1.1/CORE/core_cmFunc.h
        new file:   version1.1/CORE/core_cmInstr.h
"""

git add 命令并没有把文件提交到本地 Git 仓库,而是把文件添加到了「临时缓冲区」。

<3> 删除操作
git rm --cached <file>  # 删除暂存区文件
git rm <file>  # 删除暂存区 以及 工作区文件
# 命令中加入 -r 递归删除文件夹
<4> 将暂存区内容提交到本地仓库
git commit -m "备注信息"

"""
[master (root-commit) efd61b9] first commit
 239 files changed, 69507 insertions(+)
 create mode 100644 version1.1/CORE/core_cm3.c
 create mode 100644 version1.1/CORE/core_cm3.h
"""

git status 查询仓库状态,可看到暂存区的文件已被转存。

git status

"""
On branch master
Untracked files:
 (use "git add <file>..." to include in what will be committed)
       "git\346\223\215\344\275\234\346\211\213\345\206\214.md"

nothing added to commit but untracked files present (use "git add" to track)
"""

通过 git log 命令,查询历史提交记录。

git log

"""
commit efd61b96d76a559335cc40c1444f71cec48f916d (HEAD -> master)
Author: GuoChenHui <1732276547@qq.com>
Date:   Wed Apr 13 15:44:38 2022 +0800

    first commit
"""

(三)分支操作

  • 一个分支对应一个本地库

  • HEAD 所指向的是当前分支。

<1> 查询分支
git branch -a  # 查询所有分支(本地库 以及 远程库)
git branch -r  # 查询所有远程库分支
git branch  # 查询所有本地库分支
<2> 创建新的分支并切换当前分支
git branch  # 查询现有分支

git branch Gch_branch  # 创建 Gch_branch 分支
git checkout Gch_branch  # 切换到 Gch_branch 分支

git checkout -b Gch_branch  # 相当于上面两句的合并
<3> 删除分支
git branch -d Gch_branch
<4> 合并分支

只会修改执行合并命令时所处的当前分支

git merge  
  • 合并冲突

当合并分支时,两个分支在同一文件的同一位置有两套完全不同的修改。此时 Git 无法决定选用哪个修改,需要我们人为修改

四、Git 远程库操作

要提前在 GitHub 创建好仓库

(一)创建远程库别名

使用命令:

git remote add 别名 GiHub仓库链接[https or ssh]

git remote add origin git@github.com:GChenH/NB-IoT.git 

(二)查看远程库别名

使用命令:

git remote

git remote
"""
origin
"""

git remote -v  # 可以看到每个别名的实际链接地址
"""
# 因为既可以拉取也可以推送,所以有两个。
origin  git@github.com:GChenH/NB-IoT.git (fetch)
origin  git@github.com:GChenH/NB-IoT.git (push)
""

(三)删除、修改远程库别名

  • 删除远程库别名

使用命令:

git remote rm [别名]

git remote rm origin
  • 修改远程库别名

使用命令:

git remote rename old_name new_name

git remote rename origin dev

(四)本地库推送到远程库

使用命令:

git push 远程库别名 本地库分支:远程库分支

git push origin master  # 本地分支与远程分支相同 可省略冒号后的

(五)远程库拉取到本地库

使用命令:

git pull 远程库别名 远程库分支:本地库分支

git pull origin master  # 合并当前本地分支与远程分支 可省略冒号后的

上面命令表示,取回 origin/master 分支,再与本地的 master 分支合并

git pull origin master:dev

上面命令表示,取回 origin/master 分支,再与本地的 dev 分支合并。

(六)拷贝远程仓库到本地

使用命令:

git clone [url]

clone 的仓库已完成初始化以及创建远程库别名(origin)

git clone git@github.com:GChenH/NB-IoT.git

(七)删除远程库分支

使用命令:

git push 远程库别名 -d 远程库分支

git push origin -d main

"""
To github.com:GChenH/NB-IoT.git
 - [deleted]         main
"""

五、对开源项目做出贡献

  1. fork 开源项目到自己的仓库中

  2. clone 到本地

  3. 在本地进行调试、修改

  4. pushfork 的仓库

  5. 对项目作者发出 pull request

  6. 等待其回复 merge or not

六、注意

  • 几乎所有的操作都是在本地进行,最后再 git push到远程仓库
  • 在对本地文件做更改后,一定要先更新暂存区,再进行 commit到本地库,最后 git push,否则不会修改远程库的内容
  • 对远程库的操作最好是基于别名,使用链接比较麻烦
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:03:22  更:2022-04-18 18:06:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:50:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码