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

news/2024/11/30 7:44:34/

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.ppmy.cn/news/123597.html

相关文章

九阳豆浆机维修资料整理

最近豆浆机故障,在检修过程中收集到的资料全部来自互联网,涉及到的资料版权属于原作者,整理如下,希望对需要的人有用。 1、九阳豆浆机 2、豆浆机原理与维修,整机工作过程,各元件作用,电路图详细…

苏泊尔搭载华为鸿蒙系统,苏泊尔小C主厨料理机体验:华为鸿蒙系统加持,融汇多种功能...

【科技犬】 受邀参加苏泊尔小C主厨料理机的新品体验会,这款产品给我留下的深刻的印象。 首先这款产品设计了十种烹调模式,利用烘烤盖、蒸笼、玻璃盖和压力盖四款不同锅盖,达到“一机多用”、“一锅多菜”的效果,极大节省烧菜的时间…

九阳破壁机轴承坏只能换刀片总成组件

不知道使用率过高,还是设计不行,这个破壁机看上面的标签是2021年3月出的。使用不到2年就漏水了。根据网上的维修视频来看。只能换刀片组件总成,因为漏水一般是轴承坏了,无法单独更换。这个拆解有视频的,有需要的可以看…

九阴九阳

1. 不要为过去买单 不要活在过去,今天才是最最重要的,明天更重要。 不要弥补过去,那样会错过今天和明天,更会把自己迷失在过去的阴影中,会造成总是犯错,又总是为过去改过,于是生活在一个怪圈之中…

SpringBoot之九重九阳神功

Spring boot参考指南 12016.03.04 09:31:02字数53731阅读29903 Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgbook/spring-boot-reference-guide-zh/details 带目录浏览地址:http://www.maoyupeng.com/spring-boot-api.html 1.Spring Boot文档 本节…

洗地机什么牌子最好?洗地机品牌排行榜前十名

洗地机是近年来火热的清洁电器,凭借强劲的顽渍污渍去除和高效的地面清洁性能,成为了保持洁净家居环境、为生活做减法的黑科技,颇受生活达人们的追捧和青睐。洗地机的品牌、种类众多,一时间令人眼花缭乱。今天,我想为大…

人工智能常用网站及论坛

网站1 Microsoft C、C 和汇编程序文档网站: https://docs.microsoft.com/zh-cn/cpp/?viewmsvc-160 网站2 菜鸟教程网站: https://www.runoob.com/cplusplus/cpp-tutorial.html 网站3 微软开发者论坛: https://social.msdn.microsoft.com/forums/zh-cn/home 网站4 C参考手册…

九阳虾经

九阳虾经水晶虾(CRS)是由彩虹钻石虾基因改良而成之新物种,因其红白相间的体色而成为观赏价值极高之水族生物. 在国内由于专业养殖场的缺乏,于是必须仰赖国外进口,也因此造成价格的居高不下!仅有少数业余玩家 在做少量的繁殖! 目前水晶虾的基因已非常稳定,所以红色的水晶虾生下…