1. 安装Git-cli

winget install --id GitHub.cli

注:以上命令用于在Windows平台CMD执行快捷安装,若需安装其他平台的Git-cli及详细内容,win安装文件一般下载amd64 installer的版本,请访问:https://github.com/cli/cli

2. 使用Git-cli进行身份验证

执行下列命令会进行身份验证并将本地gh工具与远程GitHub账户进行关联

gh auth login

注:执行该命令后会有以下提示

选择平台,这里我选GitHub,并回车
Where do you use GitHub?  [Use arrows to move, type to filter]

>GitHub.com

Other

选择Git操作的协议,这里我选HTTPS,并回车

What is your preferred protocol for Git operations on this host?  [Use arrows to move, type to filter]

>HTTPS

SSH

输入Y或n,确认是否使用GitHub凭证对Git进行身份验证,这里输入Y并回车

Authenticate Git with your GitHub credentials? (Y/n)

选择认证方式,使用何种方式进行认证,使用浏览器进行认证?还是使用Token进行认证?这里我选Login with a web browser,并回车

How would you like to authenticate GitHub CLI?  [Use arrows to move, type to filter]

>Login with a web browser

Paste an authentication token

回车后会提示两条信息:
First copy your one-time code: B543-72FB

Press Enter to open https://github.com/login/device in your browser...

此时按回车,并按照浏览器的提示点击continue,然后将上述的验证码输入浏览器

验证码输入完成后,等待几秒,然后点击Authorize github即可完成验证(若开启了手机GitHub验证,需在手机进行授权)

操作完成后,返回CMD或Git-Bash观察,等待几秒会提示下列信息表示身份认证完成:

Authentication complete.
gh config set -h github.com git_protocol https
Configured git protocol
Logged in as xxxx

3. 使用Git-cli在GitHub上直接创建远程仓库并初始化

先在电脑上任意位置创建一个目录,这里举例为D:\Git_Repo
此时,我先进入Git_Repo目录,打开CMD执行以下命令(习惯Linux命令操作的可使用Git-Bash操作)

gh repo create myproject --private -l MIT -g "C++" --add-readme

注:执行后会输出远程仓库名如:https://github.com/xxxxxxx/myproject,此时GitHub中的远程仓库已经完成创建并初始化完成

myproject    远程仓库名

--private      设置为私有仓库

--add-readme   设置README文件

-l          设置License

-g         设置.gitignore

4. 使用Git-cli克隆GitHub中初始化完成的远程仓库

gh repo clone myproject

注:此时查看当前目录,远程仓库已经克隆到本地了

5. 进入克隆下来的仓库并进行相关操作

cd myproject
touch demo.cpp
echo "#include<iostream>" > demo.cpp
git add .
git commit -m "add a demo file"
git push origin main

至此基本的安装、认证和仓库创建操作已经结束,第5步以后的操作,按需操作即可

6. 查看本地仓库默认主分支

若未配置本地仓库默认主分支,而又先在本地创建仓库,再使用git init命令初始化仓库时,此时的本地仓库默认主分支为master

git config --global init.defaultBranch

注:若执行后无输出,则表示未配置,此时本地仓库的默认主分支可能为master,而不是main,与GitHub远程仓库的默认主分支不同步。因2020年GitHub响应社区呼吁宣布将默认分支名改为main

7. 配置本地仓库默认主分支为main

git config --global init.defaultBranch main

注:此时再执行git init初始化本地仓库,然后将本地创建的仓库推送到远程仓库时,本地仓库的默认主分支与远程仓库的默认主分支一致为main

8. 使用Git-cli删除已创建的远程仓库

gh repo delete myproject

注:在删除仓库时,会提示下列信息,此时等待你的输入,确认要删除此仓库,在冒号后输入your-username/myproject以确认删除,然后回车即可:
输入前提示:Type your-username/myproject to confirm deletion:

输入后提示:Type your-username/myproject to confirm deletion: your-username/myproject

执行删除仓库的命令时,可能会无法删除成功,并提示:

HTTP 403: Must have admin rights to Repository. (https://api.github.com/repos/Rinato-C417/myproject)
This API operation needs the "delete_repo" scope. To request it, run: gh auth refresh -h github.com -s delete_repo

提示的信息大意是:该删除操作需要delete_repo权限

此时需要执行以下命令来获取该权限:

gh auth refresh -h github.com -s delete_repo

作用是更新认证信息并请求删除仓库的delete_repo的权限,执行后需经过GitHub授权后才能继续操作

授权完成后,再次执行第8步的gh repo delete myproject删除仓库操作时,仓库此时即可删除成功

9. 使用Git-cli列出所有仓库

gh repo list

Git命令与Git-cli的更多相关文章

  1. 每日一条 Git 命令:git merge remote master

    每日一条 Git 命令:git merge remote master 当远程的分支更新后,需要将自己的代码与远程的分支合并就用以下这个命令合并. git merge remote master 如果 ...

  2. git命令之git rebase 的用法

    rebase 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 现在我 ...

  3. git命令之git remote的用法

    git remote git  remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...

  4. Git 命令及git服务器

    Linux 服务器上安装git yum -y install git git config  --global user.name "name" git config  --glo ...

  5. 第23月第24天 git命令 .git-credentials git rm --cached git stash clear

    在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...

  6. git命令之git clone用法

    在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s):/ ...

  7. [转]git命令之git remote的用法

    git remote git  remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...

  8. git命令之git tag 给当前分支打标签

    git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ ...

  9. git命令之git mergetool vi非正常退出.swp删除不了的问题

    1.git   pull命令产生无法merge的错误 使用了 git  mergetool命令然后...傻逼了 进入了vi操作界面,不会操作,非正常退出... 然后就产生了.swp相关文件,死活删除不 ...

  10. Git命令(Git版本:Linux 2.14.3)

    常用 git status 跟踪状态git commit -m "xxx" yyy.cppgit pull git pushgit mergetool --tool=meld 合并 ...

随机推荐

  1. DeepSeek本地化部署超简单,比装个office还简单

    一.背景 最近DeepSeek太火了,以至于每位伙伴都想尝试,都想说上几句.作为一名程序员,不仅想使用这个DeeptSeek的AI工具,还是用其做更多的事情,比如本地化部署.构建自己的知识库,或者其他 ...

  2. 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)

    在人工智能飞速发展的今天,大语言模型的应用越来越广泛.DeepSeek 作为近期爆火的一款大语言模型,受到了众多开发者的青睐. 今天这篇内容,就来聊聊,如何在本地自己的电脑上部署DeepSeek. 1 ...

  3. 个人文件转移工具-来自某位大神的C盘清理神器

    软件名称:个人文件转移工具 软件功能:文件转移 支持平台:Windows 软件简介:一款文件转移工具,也可用作C盘瘦身. 软件特点: ◉ "个人文件转移工具"可以把"我的 ...

  4. 百万架构师第四十五课:并发编程的基础|JavaGuide

    课程目标 1. 多线程的发展历史 2. 线程的应用 3. 并发编程的基础 4. 线程安全的问题 特定的指令,计算机不会存储指令,把指令写下来,一次性读取指令,批处理. 然后我们需要把批处理进行隔离.保 ...

  5. AI回答:php中间件

    在PHP中,中间件(Middleware)是一种用于在处理请求和生成响应之间插入额外逻辑的机制.中间件通常用于执行诸如身份验证.日志记录.缓存.错误处理等任务.PHP本身并没有内置的中间件系统,但许多 ...

  6. 探秘Transformer系列之(10)--- 自注意力

    探秘Transformer系列之(10)--- 自注意力 目录 探秘Transformer系列之(10)--- 自注意力 0x00 概述 0x01 原理 1.1 设计思路 1.2 输入 1.3 QKV ...

  7. 记录-C#给图片增加文字

    业务需要动态给图片增加文字(书本的封面图片),修改字体大小.字体.颜色.控制位置 测试代码: 1 string path = @"E:\cover.png"; 2 3 Bitmap ...

  8. Manus,没有秘密「注解版」

    近来Manus走红,「争论」不断,我也在前文<Manus爆火,是硬核还是营销?>中阐述过自Manus发布后,行业讨论以及开源复刻的信息,以及我们如何结合蚂蚁图计算(TuGraph)技术,实 ...

  9. 1、从DeepSeek API调用到Semantic Kernel集成:深度解析聊天机器人开发全链路

    引言:AI时代下的聊天机器人开发范式演进 在生成式AI技术爆发的当下,基于大语言模型(LLM)的聊天机器人开发已形成标准化技术链路.本文将结合DeepSeek API与微软Semantic Kerne ...

  10. selenium自动化测试-登录网站用户

    昨天学习了selenium自动化测试工具的入门,知道了Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等. 今天学习通过selenium自动化测试工具自动登录某网站用户 ...