当前位置: 首页 > news >正文

GitHub教程

目录

  • 1.是什么?
  • 2.安装
  • 3.创建库
  • 3.增删改查
  • 4.远程仓库
  • 5.分支
  • 6.标签
  • 7.使用流程
  • 8.总结


1.是什么?

  • Git 是一个命令行工具,但也有许多图形用户界面可用。本地仓库,安装包下载到本地。
  • Git 的一个流行 GUI 是 GitHub,它可以方便地管理存储库、推送和拉取更改以及合并代码。

二者区别


2.安装

下载安装、配置姓名、邮件

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

3.创建库

1.创建库——导航到要保存的目录创建一个库(cd 路径—初始化)

git init

2.添加文件到库——提交单个文件到暂存区

git add filename

在这里插入图片描述在这里插入图片描述
3.提交到Github——提交整个文件夹的文件到版本库-m "修改注释"

git commit -m "Commit message here"

3.增删改查

  • 增加:git add <XXX> 提交文件到暂存区;git commit -m "说明"提交文件到版本库;
  • 删除:git rm <XXX>从版本库删除一个文件(本地也被删除<已暂存的话可找回>)
  • 修改: 本地与版本库的文件差别git diff
  • 查询: 当前工作区状态git status(红色待暂存;绿色暂存待提交;On branch master:提交完成);
  • 日志: git log查看现存最新的提交版本(删除的没有);--pretty=oneline添加后缀查看更清晰(确认要回退的版本ID)
  • 恢复:git reset --hard HEAD^ “几个”^”退几个版本(HEAD ^=commit ID<可直接写3个ID的开头…>);HEAD指向的版本就是当前版本
  • 归档:git reflog查看所有提交的版本ID(包括删除的) ; 先找到ID,再用恢复命令到任意版本;

4.远程仓库

添加SHH公钥(推送的提交确实是你推送的,而不是别人冒充的)

  • cmd添加SSH秘钥_ssh-keygen -t rsa -C "your@mail"
  • 目录下获取公共的秘钥文件_C:\Users\Administrator\ .ssh\id_rsa.pub(id_rsa是私有秘钥)
  • GitHub设置中找到SSH树添加秘钥文件内容
  • 多台电脑推送,设置多个公共秘钥

创建远程库

  • 创建一个远程库_New repository(建议手动勾选自述)
  • 本地库(git bash<右击属性打开窗口>)与远程库相关联_git remote add origin git@github.com:账户名/仓库名.git; git remote rm origin:删除本地远程关联
  • 推送内容到远程库(远程同步)_git push -u origin master

远程库下载

  • 知道仓库的地址,然后使用git clone命令克隆_git clone git@github.com:账户名/仓库名.git

5.分支

分支:多个任务同时进行(建议每进行一个任务都创建一个分支),最后合并合并后再删掉分支,和直接在master分支上工作效果是一样的。

创建分支:

  • git branch(查看分支)
  • git branch <name>(创建分支);
  • git switch -c <name>(创建分支并切换);
  • git checkout/switch <name>(切换分支);
  • git branch -d <name>(删除分支);git branch -D <name>(强行删除未合并的分支)
  • git push origin --delete <name> (远程删除分支)

合并分支:

  • git merge <name>(快进<不留痕迹>方式合并分支);
  • git merge --no-ff -m "描述" <name> (普通合并分支,可查看合并历史)
  • git log --graph(命令可以看到分支合并图)
  • 合并冲突:Git合并失败的文件手动编辑为我们希望的内容,再提交,再合并。

临时分支(改bug):dev当前分支未完成不想提交可以先隐藏干别的分支

  • git stash(隐藏当前分支)
  • git switch master(切换主分支);git switch -c <bug101>(创建fix bug分支)修改-提交-合并-删除分支后切换到dev分支;
  • git stash pop(恢复当前分支)
  • git cherry-pick <ID>(master主分支改完bug后在dev分支复制更改)

多人协作(pull/push)

  • git remote -v(查看远程版本)没有推送权限,看不到push的地址
  • git push origin dev/master(推送自己的分支)除协作分支外没必要都推送
  • git pull(拉取合并)推送失败,将最新的提交从origin/dev抓下来,然后,在本地合并, 解决冲突,再push :
  • git branch --set-upstream-to <branch-name> origin/<branch-name>(创建本地分支和远程分支的链接关系)无法pull,需分支关联,再pull

6.标签

将Commit的一串ID创建一个别名,好找提交的版本

打标签

  • git branch <dev>:进入分支;git tag -a <V1.0> -m "blablabla...":指定标签信息(标签排序是以字母顺序的)
  • git push origin <V1.0>:推送标签到远程库;git push origin --tags:推送所有未推送的标签

查标签

  • git tag:查看所有标签
  • git show <V1.0>:查看标签信息

删标签

  • git tag -d <V1.0>:删除V1.0本地标签;
  • git push origin :refs/tags/<V1.0>:删除远程标签

7.使用流程

在这里插入图片描述


8.总结

请添加图片描述

相关文章:

  • 每日一题——无重复字符的最长子串
  • java 与 c++在遍历 map 数据结构上的一些差异
  • Android系统_Surface绘制流程
  • NVIDIA GPU 架构详解:Pascal、Volta、Turing、Ampere、Ada、Hopper、Blackwell
  • windows DeepSeek RAGFlow构建本地知识库系统
  • 剑指 Offer II 040. 矩阵中最大的矩形
  • Protocol Buffers在MCU上的nanopb介绍及使用详解
  • Oracle OCP认证考试考点详解083系列01
  • 计算机网络---SYN Blood(洪泛攻击)
  • 【计算机网络入门】初学计算机网络(十)(重要)
  • Kaldi环境配置与Aishell训练
  • 基于STM32的智能家居中控系统
  • Jira获取story信息更新子任务状态脚本技术实现
  • C语言嵌入式Linux高级编程:程序的编译、链接与运行深度解析
  • prisma+supabase报错无法查询数据
  • 19.6、C++11新特性有哪些⑥【并发】
  • Elasticsearch:驾驭数据浪潮,利用Java API与Elasticsearch DSL构建智能搜索
  • DataWorks (数据工厂)介绍
  • 【word】电子签名设置、保存和调用
  • 【含文档+PPT+源码】基于SpringBoot电脑DIY装机教程网站的设计与实现
  • 人物|德国新外长关键词:总理忠实盟友、外交防务专家、大西洋主义者
  • 不准打小孩:童年逆境经历视角下的生育友好社会
  • 青海西宁市城西区副区长于媛媛主动投案,接受审查调查
  • 交通运输部:预计今年五一假期全社会跨区域人员流动量将再创新高
  • 遭遇大规模停电,西班牙内政部宣布进入国家紧急状态
  • “90后”樊鑫履新乌兰察布市察右中旗副旗长人选