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

这篇具有很好参考价值的文章主要介绍了Github从零开始—从入门到进阶。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

当我们在广阔的开源世界中所遨游的时候,一定不免少了各种git的使用。当然,如果没有人手把手教我们的话,随便告诉你几个命令,哦。去运行吧,去拉取,去推送吧。你可能是需要一段时间的不停运用来去熟练掌握此工具,所以本文基于笔者工作了3个月所使用过的git命令做一下讲解,帮助未来的职场新人快速掌握git的基本用法,甚至是进阶用法。

一、Github初级知识

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

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

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

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

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

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

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

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

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

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

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

#用于克隆项目
git clone

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

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

#查看提交信息
git log

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

#初始化仓库
git init

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

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

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

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

#查看仓库状态
git status

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

8、我要提交了!

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

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

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

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

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

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

二、Github中级知识

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

然后我们在推送一下到我们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 号,以便跟踪和关联。

三、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日志分析

以下命令可以自行尝试了~文章来源地址https://www.toymoban.com/news/detail-756529.html

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

到了这里,关于Github从零开始—从入门到进阶的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 完全从零Java自学系列【工具篇】(GITHUB开源社区&GIT管理工具入门使用)

      本文适用于新手理解GITHUB社区与GIT的理解与入门使用。   GITHUB社区是一个代码开源交流社区。 对于普通的开发者而言: 可以在上面找到各种开源好用的工具用于借鉴学习或者下载使用。 可以提问,搜索相应的问题处理办法。比如bug。 对于高级开发者而言: 可以参与

    2024年02月20日
    浏览(60)
  • 从零开始的c语言日记day36——指针进阶

    一、什么是指针: 指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。 ⒉指针的大小是固定的4/8个字节(32位平台/64位平台)。 指针是有类型,指针的类型决定了指针的+-整数的步长,指针解引用操作的时候的权限。4.指针的运算。 字符指针 用字符指针

    2024年02月05日
    浏览(38)
  • GitHub从创建一个helloworld仓库开始

    ​​​​​ 目录 创建仓库 创建分支 创建分支 创建和提交更改 打开拉取请求 合并拉取请求 后续步骤 GitHub 是一个用于版本控制和协作的代码托管平台。 它允许您和其他人随时随地协同处理项目。 本教程培训 GitHub 的基本知识,如存储库、分支、提交和拉取请求等。 您将创

    2024年02月02日
    浏览(46)
  • 从零开始搭建搜索推荐系统(五十三)QUERY从分词检索进阶

    聊的不止技术。跟着小帅写代码,还原和技术大牛一对一真实对话,剖析真实项目筑成的一砖一瓦,了解最新最及时的资讯信息,还可以学到日常撩妹小技巧哦,让我们开始探索主人公小帅的职场生涯吧! (PS:本系列文章以幽默风趣风格为主,较真侠和杠精请绕道~) 一、

    2024年02月04日
    浏览(34)
  • 保姆级教程:从零构建GitHub Pages静态网站

    Github Pages官网:https://pages.github.com/ GitHub Pages 是 GitHub 提供的一个免费的静态网站托管服务,它允许 GitHub 用户创建和托管自己的静态网站,这些网站可以通过特定的 GitHub 仓库进行管理和托管。 GitHub Pages 的主要特点包括 : 免费托管 : GitHub Pages 提供免费的静态网站托管服务

    2024年02月04日
    浏览(55)
  • 使用Hugo+Github从0开始免费搭建个人博客

    以win11为例 1.注册git账号:https://github.com/并记住用户名和密码 2.下载地址:Git - Downloads (git-scm.com)鼠标右键显示Git Bash Here就表示安装Git成功了。 3.设置本地git用户 是否已经登录 生成密钥 将其中Your Name替换为用户名,邮箱替换为自己注册时的邮箱 如图所示,密钥已经给我们生

    2024年02月12日
    浏览(46)
  • 跟我一起从零开始学python(十)Hadoop从零开始入门

    回顾之前讲了python语法编程 ,必修入门基础和网络编程,多线程/多进程/协程等方面的内容,后续讲到了数据库编程篇MySQL,Redis,MongoDB篇,和机器学习,全栈开发,数据分析前面没看的也不用往前翻,系列文已经整理好了: 1.跟我一起从零开始学python(一)编程语法必修

    2024年02月11日
    浏览(40)
  • [从零开始学习FPGA编程-32]:进阶篇 - 基本时序电路-D触发器(Verilog语言)

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:  目录 第1章 什么是时序电路 1.1 时序电路 1.2 什么是触发器

    2023年04月08日
    浏览(52)
  • 数据分析进阶,Databricks集成GitHub Copilot实用指南

    在Databricks中集成AI驱动的数据分析代码编写工具GitHub Copilot,可以优化和简化开发过程。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 GitHub Copilot是由GitHub与OpenAI合作开发的人工智能驱动的代码补全助手,它采用了ChatGPT模型,旨在帮助开发人员加速编码过程

    2024年02月02日
    浏览(44)
  • Python爬虫进阶(1),Django+Selenium+Mysql+SimpleUI,从零开始搭建自己的爬虫后台管理系统

    如果爬虫做完的话都会发现每个文件要么保存到csv或者是其他格式的文件中,这样做多少会有些麻烦,所以需要将这些内容保存起来方便自己管理和查看内容。 相对于flask而言Django有着相对成熟的一个后台管理系统配合上其他一些插件就可以做到即插即用的效果而不用自己再

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包