【20230531】Git命令和Github相关使用

news2024/9/20 18:20:49

1 在Git中缓存GitHub凭据

  1. 根据系统下载对应的GitHub CLI 2.25.1

2. github主页,点击用户头像选择settings->Developer Settings->Personal access tokens申请密钥(主要分为Fine-grained tokens和Tokens classic)gh需要使用的是Tokens classic。 (可以通过网页进行授权认证,所以不需要提前申请密钥)

  1. 命令行输入下面内容,按要求进行下一步即可。
gh auth login

2 配置

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。配置文件在用户目录下可以查看 eg. /home/lieryang/.gitconfig

# 显示当前的Git配置
git config --list
# 编辑Git配置文件
git config -e [--global]
# 设置提交代码时的用户信息
git config --global user.name "[name]"
git config --global user.email "[email address]"

# 代理设置
# socks
git config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'
# http
git config --global http.proxy http://127.0.0.1:7890 
git config --global https.proxy https://127.0.0.1:7890

# 只对github.com使用代理,其他仓库不走代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
git config --global https.https://github.com.proxy socks5://127.0.0.1:1080
# 取消github代理
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

# 颜色设置
git config --global color.ui true           # git status等命令自动着色
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
git config --global --unset http.proxy     # remove  proxy configuration on git

3 增加/删除文件

# 添加指定文件到暂存区
git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
git add [dir]
# 添加当前目录的所有文件到暂存区
git add .
# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
git add -p
# 删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2] ...
# 停止追踪指定文件,但该文件会保留在工作区
git rm --cached [file]
# 改名文件,并且将这个改名放入暂存区
git mv [file-original] [file-renamed]

4 代码上传到仓库

# 提交暂存区到仓库区
git commit -m [message]
# 提交暂存区的指定文件到仓库区
git commit [file1] [file2] ... -m [message]
# 提交工作区自上次commit之后的变化,直接到仓库区
git commit -a
# 提交时显示所有diff信息
git commit -v
# 将add和commit合为一步
git commit -am 'message'
# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
git commit --amend -m [message]
# 重做上一次commit,并包括指定文件的新变化
git commit --amend [file1] [file2] ...

5 分支相关命令

git branch # 查看本地分支,此命令会列出所有分支,当前分支前面会标一个*号
git branch -a  # 查看本地和远程分支
git branch 分支名 # 创建分支,仅仅保存本地,远程还需要push
git checkout 分支名 # 切换分支
git checkout -b 分支名 # 创建和切换分支
git checkout -d 分支名 # 删除本地分支
git push origin --delete 分支名 # 删除远程分支

6 tag 标签管理

git tag # 查看所有标签
git tag 标签名 # 创建tag
git push origin 标签名 # 因为创建的标签都只存储在本地,需要使用该命令推送标签到远程

7 新建一个代码库(本地+远程)

远程仓库创建主要通过gh命令进行,一共有两种方式。直接创建一个新的远程仓库(github仓库),然后把远程仓库同步到本地。另一个是先创建一个本地仓库,然后同步创建到远程仓库。
无论那一种方式都可以添加origin
请添加图片描述

7.1 方式一

请添加图片描述

7.2 方式二

请添加图片描述

8 提交文件到远程仓库

无论上面那种方式创建远程仓库,默认创建完成之后:

  1. 已经设定了origin,可以通过命令git remote -v查看
  2. 只要没有提交文件,分支就没有被创建(git commit -m “笔记” 这个命令才会创建master分支)

8.1 添加文件到仓库区

# 添加当前目录的所有文件到暂存区
git add .
git commit -m "注释内容"
# 只有提交文件到仓库区,本地会自动创建master分支
# 可以使用 git branch 查看本地分支
# git branch -a 查看本地和远程分支
# -M 用于移动/重命名分支。 
# 将当前分支重命名为 "main"。如果在当前仓库中已经存在名为 "main" 的分支,那么该命令将强制重命名当前分支并覆盖现有的 "main" 分支。
git branch -M main 
# git remote -v 查看远程仓库URL和命名
# 下面命令的作用是将远程仓库的 URL 添加到你的 Git 存储库中,并将其命名为 "origin"
# 方式一创建,系统会自动添加
git remote add origin https://github.com/LieryangStack/Gtk4-Study-Note.git
# -u 参数的作用是将本地分支与远程分支进行关联,并将其设置为 "upstream"
git push -u origin main

8.2 关于-u选项的说明

在 git push -u origin main 命令中,-u 参数的作用是将本地分支与远程分支进行关联,并将其设置为 “upstream”。这样做可以在以后的推送操作中提供便利。

具体作用如下:

  1. 推送到远程分支:git push 命令用于将本地的提交推送到远程仓库。在这个命令中,origin 是远程仓库的名称,main 是要推送的本地分支的名称。
  2. 关联本地分支和远程分支:-u(或 --set-upstream)参数用于将本地分支与远程分支进行关联。在这个示例中,main 分支将与 origin/main 远程分支进行关联。这样一来,Git 将记住 origin/main 是 main 分支的 “upstream”,也就是默认的追踪分支。
  3. 默认推送和拉取设置:通过设置 “upstream”,你可以在以后的推送操作中省略远程分支的名称。例如,之后运行 git push,Git 将自动推送到 origin/main,而无需再次指定远程分支的名称。此外,在拉取操作中,git pull 命令也会自动拉取与当前分支关联的远程分支的最新更改
  4. 通过使用 -u 参数,你可以方便地建立本地分支与远程分支之间的关联,并设置默认的推送和拉取行为。这样,你就可以更轻松地进行日常的推送和拉取操作,而不需要每次都指定远程分支的名称。

9 问题

9.1 没有相关的历史

git pull origin main

下面提示:

fatal: refusing to merge unrelated histories

解决方法

git pull origin main --allow-unrelated-histories

1.GIT如门
2.Git常用命令,总结的很全了!
3.GitHub CLI 命令行工具(gh)
4.git之分支与版本

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

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

相关文章

Spring Boot如何实现接口文档自动生成

Spring Boot如何实现接口文档自动生成 在开发Web应用程序时,接口文档是非常重要的一环,它可以帮助我们快速了解API的功能和使用方法,同时也是与其他开发人员和团队协作的重要工具。然而,手动编写和维护接口文档是一项繁琐的工作&…

商品上架业务

一.商品上架操作 将检索数据存入es,更改商品上架状态为已上架 二.业务设计 (1)设计检索数据 分析:商品上架在 es 中是存 sku 还是 spu? 1)、检索的时候输入名字,是需要按照 sku 的 title 进行…

给大龄准备转行网络工程师的朋友一些建议

我一直认为,网络工程师是一个看能力而不是看年龄的工作。 大龄转行网络工程师到底有没有机会?很多三十多岁的朋友对于跨行业完全心里没底,冒然转行学习网工又不知道从何学起。今天就给大家整理几个在学习网络工程师的时候需要注意的地方&…

Linux系统下imx6ull QT编程—— C++数据封装与数据抽象(八)

Linux QT编程 文章目录 Linux QT编程前言一、数据封装二、数据抽象 前言 封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数…

用JavaScript做一个拼图游戏

喜欢的可以复制下面完整代码查看效果在自己本地查看效果 实现难度&#xff1a;不算大&#xff0c;毕竟是小游戏 开发工具&#xff1a;html&#xff0c;css&#xff0c;js&#xff0c;jquery 效果截图 完整代码 <!DOCTYPE html> <html lang"en"> <he…

24届秋招专场·双指针巧解链表套路题

你好&#xff0c;我是安然无虞。 文章目录 合并两个有序链表分隔链表合并K个有序链表链表中倒数最后K个节点变形题: 删除链表的倒数第N个节点链表的中点判断链表是否有环环形链表II相交链表 大家好, 好久不见了, 从今天开始, 后面会经常更新笔试面试真题, 准备今年24届秋招的小…

Centos7安装Kubernetes 1.27.2

目录 一、准备工作 二、容器运行时 三、安装kubelet 、kubeadm、 kubectl 四、配置CNI 五、安装nginx 一、准备工作 1、更新yum源安装 vim、net-tools等工具&#xff08;每个节点都执行&#xff09; yum update -yyum install vim -yyum install net-tools -y 2、配置每…

简单移位器结构介绍

移位器 一位可控移位器 其实是一个复杂的多路开关电路&#xff0c;根据不同控制信号&#xff0c;将输入左移或右移或不变。多位的移位可以简单串联这样的单元实现&#xff0c;但移位位数多时&#xff0c;该方法过于复杂&#xff0c;不实用并且速度很慢。 桶形移位器 由晶体管…

C.12 军事领域关系抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏、可视化高亮展示等,助力工业应用场景快速落地

NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等 专栏详细介绍:NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型…

Linux内核漏洞提权

目录 Linux提权辅助工具 内核漏洞本地用户提权 - linux-exploit-suggester测试 内核漏洞Web用户提权 - 利用脏牛dcow 内核漏洞本地用户提权 - 利用DirtyPipe&#xff08;脏管&#xff09; 配置安全SUID提权 Linux提权辅助工具 这些工具都是C\C编写的&#xff0c;需要在目…

vmware虚拟机设置双网卡

文章目录 1. 配置虚拟机NAT模式2. 配置虚拟机桥接网络2.1 通过USB网卡2.1.1 配置虚拟机桥接网卡ip:2.1.2 配置windows主机桥接网卡ip:2.1.3 配置板子ip: 2.2 通过路由器2.2.1 配置板子ip: NAT 网卡&#xff1a;Ubuntu 通过它上网&#xff0c;只要 Windows 能上网&#xff0c;Ub…

北邮22信通:实验六 由运放器构成的音频放大电路设计、仿真、测试报告

北邮22信通一枚~ 持续更新模电实验讲解 关注作者&#xff0c;解锁更多邮苑模电实验报告~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22信通——电子电路_青山如墨雨如画的博客-CSDN博客 目录 实验目的&#xff1a; 设计要求&#xff1a; *补充&#xff1…

AI最新资讯

AI最新资讯 1.画图2.修图3.3D建模4.openai调用5.自媒体工具6.自动化网页制作 自从gpt火了之后&#xff0c;AIGC就更新很快&#xff0c;许多好用的插件都太多了&#xff0c;所以记录一下&#xff0c;方便之后用到。 1.画图 1.midjourney和playgroundAI我之前博客有写过。 2.最近…

Web基本漏洞--文件上传漏洞

目录 一、文件上传漏洞介绍 1.文件上传漏洞原理 2.文件上传漏洞识别 3. 攻击方式 4.文件上传漏洞的危害 5.文件上传漏洞的防御措施 6.文件上传漏洞的绕过 一、文件上传漏洞介绍 1.文件上传漏洞原理 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺…

ActiveMQ消息中间件简介

一、ActiveMQ简介 ActiveMQ是Apache出品&#xff0c;最流行的&#xff0c;能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provide实现。尽管JMS规范出台已经是很久的事情了&#xff0c;但是JMS在当今的J2EE应用中仍然扮演这特殊的地位。 二、Active…

3Dmax云渲染如何使用?一文带你了解云渲染

3ds Max是Autodesk公司推出的一款专业计算机图形和三维动画软件&#xff0c;被广泛应用于建筑、室内设计、电影、游戏、广告、工业设计等领域。它提供丰富的模型建模、纹理编辑、灯光设置、渲染等功能&#xff0c;可以制作出高质量的三维模型、动画和静态渲染。它具有强大的扩展…

【1++的Linux】之Linux权限

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;什么是Linux权限&#xff1f;二&#xff0c;Linux权限管理2.1 文件访问者的分类2.2 文件类型和访问权限2.3 修改文件权限2.4 掩码的作用及其设置 三&#xf…

前沿技术|人工智能的崛起和发展历程

前言&#xff1a; 人工智能的作用是使计算机能够模仿人类智能和学习能力&#xff0c;从而实现自动化、智能化和优化决策的目标。 文章目录 人工智能背景介绍发展状态未来展望 总结 人工智能 背景 人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;的产生…

29Maven高级

一、分模块设计与开发 1、介绍 2、tlias-pojo模块 然后把pojo复制过去。pom中加入lombok依赖 引入tlias-pojo依赖 3、tlias-utils模块 tlias-utils的pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.…

高频面试八股文原理篇(一)hashmap原理相关

目录 引言 面试题&#xff1a;hashmap原理 原理 JDK7时HashMap的数据结构 jdk8中hashMap数据结构 hashMap怎么设置初始值的大小 jdk7和jdk8中HashMap的区别 为什么放在hashMap集合key部分的元素需要重写equals方法&#xff1f; concurrenthashmap为什么线程安全 高频面…