Github从零开始—从入门到进阶

1 Github初级知识

我们首先找到github,去注册并成功登陆,本文以笔者github举例。

img

然后点击头像,注意红框标志。好了,现在教你几个命令,刚才你注册的账号是什么来着?

#创建github密钥
ssh-keygen -t rsa -b 4096 -C "w2524180509@163.com"
cat ~/.ssh/id_rsa.pub
#查看是否连接成功
ssh -T git@github.com

img

img

点击头像,可以看到一些选项,本文主要介绍仓库之类的操作。

img

你已经到这里了,太强了。为了讲解,笔者创建了一个test项目。用来手把手教你git的命令,要点一下ssh哦。

img

看到中间的那个ssh的地址行了吗?现在我要复制到我的桌面上了。我在前面加了个什么?

#用于克隆项目
git clone

img

让我们来看看这个项目,怎么什么没有呀?

#查看提交信息
git log

初始化,没必要呀,原来创建时候就初始化了。这里只是演示一下初始化功能,初始化后就可以使用git命令了。

#初始化仓库
git init

img

为什么是master分支,我不喜欢这个分支,怎么办?那就创建。

img

好了,里面没有东西,那就塞点东西进去。比如vim hello.c,来看一下

#查看仓库状态
git status

img

最后,我要提交了!

#本地暂存
git add .
#本地提交
git commit
#取消本地暂存
git clean -f
#取消更改
git checkout [想要取消的被修改的文件名称]

img img

9、啊,这个只是我自己的机器提交了啊,我github上的仓库没有提交咋整?

#推送到远程仓库



git push origin [当前分支名称]

img

img

2 Github中级知识

现在可以随便提交了,真好啊,冲突了怎么办啊?自己的直接强制推送~hhh

#强制推送到远程仓库
git push origin [当前分支名称] --force

那如果是共同项目咋整呀?现在用共同项目举例。比如deepin-kwin,看到这个fork了吗?把整个项目捞走!

img

然后你的仓库详情就有这个了

img

img

还是克隆过来!确实好多人啊!

img

那我们肯定最好去添加一个上游地址信息,就可以实时更新了

#在你的本地 Git 仓库中添加一个名为 "upstream" 的远程仓库链接
git remote add upstream 【上游仓库地址】

什么意思?找到原来上游仓库地址!然后你就可以实时查看上游的最新消息啦!

img

那我们就来看一下把,我丢!这么多新的改变啊!upstream可以换成你自己喜欢的名称~

#从远程仓库 deepin 拉取代码更新
git fetch upstream  #检查更新

img

然后我们在推送一下到我们github的远程仓库吧~毕竟上游加了这么多,我们自己的github中fork过来的可没有改变啊!在本地给全拉取过来了之后那就直接在全推送到自己的远程仓库吧,一般你提交有冲突就是在现在有人把你的改动过的改动了所以会出现这种情况。所以请及时fetch一遍!

常用git命令

#创建github密钥
ssh-keygen -t rsa -b 4096 -C "w2524180509@163.com"
cat ~/.ssh/id_rsa.pub
ssh -T git@github.com
#在你的本地 Git 仓库中添加一个名为 "upstream" 的远程仓库链接
git remote add upstream 【原仓库地址】
#创建分支
git checkout -b <你的分支名称>
#提交修改
git add .  # 将所有修改添加到暂存区
git commit # 提交暂存区的修改并添加描述
#推送到git上
git push origin <你的分支名称>
#从远程仓库 deepin 拉取代码更新
git fetch upstream  #检查更新
git merge upstream/master  # 将原始仓库的更改合并到你的分支
#增加标签
git tag -a v1.0 -m "这是版本 1.0 的发布标签"
git push origin --tags
#更改提交作者、邮箱
git commit --amend --author="7wcy <w2524180509@163.com>"
#回退指定提交
git reset --hard HEAD~1
#推送远程仓库
git push origin master --force
#删除分支
git branch -d wcy-bug  # 删除本地分支
git push origin --delete wcy-bug  # 删除远程分支
git常用提交规范作用
feat新功能(feature)
fix修复 bug
docs文档相关的修改
style代码格式(不影响代码逻辑的变动)
refactor代码重构
test增加或修改测试代码
chore构建过程或辅助工具的变动

(1)作用域(Scope):描述本次提交涉及的范围,可以是文件、模块、组件等等。这部分是可选的,但有助于更清晰地了解提交的内容;
(2)描述(Description):简明扼要地描述这次提交的内容,用一句话解释这次变动的目的;
(3)关联 Issue(Optional):如果这次提交与某个问题或任务关联,可以在提交消息中引用相关的 Issue 号,以便跟踪和关联。

3 Github高级知识

(1)git二分法

#Git 二分法
git bisect start:准备进行 bisect debug。
git bisect good:标记一个提交为 "good"git bisect bad:标记一个提交为 “bad”。
git bisect reset:退出 bisect debug 的状态。

开始进行二分法定位。

$ git bisect start

假设最近一次提交发现问题,将它标记为bad。

$ git bisect bad [commit]

找一个较早的没有问题的版本,标记为good。

$ git bisect good [commit]

二分查找开始生效,自动定位到两次标记的中间版本。git自动checkout出中间版本,此时可以编译运行以验证好坏。他就可以看到定位问题所需步数。

(1)如果中间版本有问题,标记为bad, 否则good,自动切换到下一个中间版本,再验证,如此往复。最后一行就是罪魁祸首,bug第一次出现的提交;
(2)针对最后一行得出的提交id,查看该提交的修改内容,找到问题所在。可以通过以下命令回到初始状态。

$ git bisect reset

(2)git日志分析

以下命令可以自行尝试了~

#Git 日志
git log --reverse:逆序显示
git log --reverse --date-order:按照时间顺序显示
git log --oneline:简洁显示所有提交
git rev-list --count HEAD:显示共有多少个提交数量    
git log --oneline abc123..HEAD

文章已获作者授权转载,版权归原作者所有,如有侵权,与本账号无关,可联系删除。 原文作者:ITC小浪花、
原文链接:https://blog.csdn.net/qq_50998481/article/details/134597497

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值