Git命令与Git-cli
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的更多相关文章
- 每日一条 Git 命令:git merge remote master
每日一条 Git 命令:git merge remote master 当远程的分支更新后,需要将自己的代码与远程的分支合并就用以下这个命令合并. git merge remote master 如果 ...
- git命令之git rebase 的用法
rebase 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 现在我 ...
- git命令之git remote的用法
git remote git remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...
- Git 命令及git服务器
Linux 服务器上安装git yum -y install git git config --global user.name "name" git config --glo ...
- 第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 ...
- git命令之git clone用法
在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s):/ ...
- [转]git命令之git remote的用法
git remote git remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...
- git命令之git tag 给当前分支打标签
git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ ...
- git命令之git mergetool vi非正常退出.swp删除不了的问题
1.git pull命令产生无法merge的错误 使用了 git mergetool命令然后...傻逼了 进入了vi操作界面,不会操作,非正常退出... 然后就产生了.swp相关文件,死活删除不 ...
- Git命令(Git版本:Linux 2.14.3)
常用 git status 跟踪状态git commit -m "xxx" yyy.cppgit pull git pushgit mergetool --tool=meld 合并 ...
随机推荐
- Windows中安装和配置Maven
1.下载 下载地址:https://maven.apache.org/download.cgi 下载文件:https://dlcdn.apache.org/maven/maven-3/3.9.6/bi ...
- [记录点滴]Ionic编译过程的研究
[记录点滴]Ionic编译过程的研究 0x00 摘要 之前研究Ionic编译过程的笔记,发出来做个记录.当时是因为有些图片没有拷贝到应用中,所以需要调试编译过程. 0x01 入口 编译的入口在plat ...
- 俄罗斯方块-shell脚本写的,学习学习
#!/bin/bash APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 iSumColor=7 #颜色总数 cR ...
- Lucas 定理证明与扩展
Lucas 定理及其证明.扩展 \[\binom{n}{m}\equiv\binom{n/p}{m/p}\binom{n\bmod p}{m\bmod p}\pmod p,\text{where}\ ...
- 1. Docker 的简介概述
1. Docker 的简介概述 @ 目录 1. Docker 的简介概述 2. Docker 的理念: 3. 容器与虚拟机比较 4. Docker应用场景 5. 最后: 为什么会有 Docker 出现 ...
- 使用python实现一个可自动部署hexo博客的gitee webhook
文章首发在我的博客:https://blog.liuzijian.com/post/af1f30e3-c846-650e-9a3f-34e326bf950d.html hexo博客想在提交后自动部署, ...
- Java基础常见知识、面试题总结 (上)
Java语言有哪些特点 简单易学: 面向对象(封装,继承,多态): 平台无关性( Java 虚拟机实现平台无关性): 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来 ...
- 3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截图说明)
3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截图说明) @ 目录 3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截 ...
- nuxtjs 自定义服务端错误页面 Server error page
原文链接:https://blog.jijian.link/2020-12-03/nuxtjs-server-error-page/ 当 nuxt 项目在生产环境运行时,如果服务端运行出错,比如 as ...
- linux curl 测试 websocket 服务
如下 curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: ec ...