小白新手一文完成Git+Github/GITEE傻瓜式入门详解部署教程(内含TortoiseGit配置)

news2024/12/22 22:44:59

本文创作时版本为 Git-2.41.0,使用目标为笔记存储和代码库,部分公司向使用的设置可能不一样

一 Git

1.1 何为 Git

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理项目、项目版本管理。
原本是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
在这里插入图片描述
Remote:远程仓库
Repository:本地仓库
Index / Stage:暂存区
Workspace:工作区

1.2 分布式版本控制系统

SVNCVS集中式版本控制系统

  1. 版本库是集中放在中央服务器的
  2. 集中式版本控制系统必须联网
  3. 工作流程:
    从中央服务器哪里得到最新的版本
    推送到中央服务器。
  4. 优点:较好的权限管理功能,操作相较简单,可以精确控制每个目录的权限
  5. 缺点:中心服务器出问题会影响所有人的工作,速度和分支管理不如git

Git分布式版本控制系统

  1. 没有中央服务器的,每个人的电脑就是一个完整的版本库;
  2. 在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log(日志文件),等到有网的时候,push到远程即可;
  3. 工作流程:
    修改本地的版本库
    各自的修改推送给对方即可
  4. 优点:非常强大的分支管理功能。
    使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
  5. 缺点:权限管理不方便,需要使用插件gitolite或者gitlab

1.3 GIt的安装和配置步骤(详细繁琐版)

首先进入GitHub官网git-scm.com,下载适合自己电脑的版本,我的是64位Windows
GitHub官网
在这里插入图片描述
在这里插入图片描述
下载完安装包之后运行
在安装过程中直接默认选项即可,如果可以修改的我会在下图标出。
在这里插入图片描述
可以添加两个选项,第一个是创建个快捷方式,第二个是在Windows终端添加Git bash,每日检查更新就不必了(Check daily)
在这里插入图片描述
在开始菜单创建快捷方式,直接默认
在这里插入图片描述

用Windows默认的终端文本编辑器
在这里插入图片描述
使用默认的分支存储库名称
在这里插入图片描述
接受第三方软件使用Git
在这里插入图片描述
使用Git捆绑的ssh
在这里插入图片描述
在这里插入图片描述
处理回车的方式
在这里插入图片描述
使用MinTTY默认终端,在滚回、调整窗口大小、文本字体和选择较为灵活
在这里插入图片描述
设置git pull 的行为,分别是快进与合并、重新定位、仅快进。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

任意空白处右键——Git Bash Here,即可进入Git的命令窗口
在这里插入图片描述

在这里插入图片描述
嗯,这一小节终于结束了。

1.4 Git常用命令

全局配置

git config --list        #查看git的配置信息
git config --global --list  #查看git的全局配置信息(user.name、user.email)
git config --global user.name "user.name"      #设置本机所有的Git仓库用户名
git config --global user.email "user.email"         #设置本机所有的Git仓库邮箱
git config --global user.password "password"   #配置文件一般C:\Users\Administrator的.gitconfig文件中,故一般不在配置文件中设置密码
git config --global --unset user.name  #删除某个全局配置项
clear      #清空


ssh-agent bash
ssh-add ~/.ssh/id_rsa.github
ssh-add ~/.ssh/id_rsa.gitee     #将新的私钥加入到 SSH agent 中

touch ~/.ssh/config   #多账号配置,生成config文件
ssh -T git@gitee.com
ssh -T git@github.com   #SSH Key测试

cd E:
cd 文件夹    #进入不同位置

git init     #将文件夹初始为仓库
git remote add origin git@github.com:仓库SSH   #关联远程仓库

git remote add origin git@github.com:名字/仓库名字.git  #名字是github注册的名字
git add 文件名    #将内容从工作目录添加到暂存区
git add .        #将所有新增的文件都添加暂存区

git commit -m "分支名"      #所有通过 git add 暂存的文件提交到本地仓库
git push -u origin master   #上传文件,如果带有-u参数,则指定了默认的远程主机, 这样以后再推入时,可以简写为:git push
git push origin master     #上传文件


git status	#展示工作区及暂存区域中不同状态的文件
git reset HEAD 文件名	#从暂存区移除指定文件
git checkout -- 文件名	#从本地仓库恢复指定文件
git pull	#拉取远程仓库的数据
git log    #查看git历史提交日志
git reflog #查看git所有提交日志

1.5 配置顺序

  1. 设置用户名和仓库邮箱
git config --global user.name "user.name"      
git config --global user.email "user.email"
  1. 生成GithubGiteeSSH Key(加两个回车)
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "user.email"
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "user.email"

C:\Users\Administrator\.ssh下生成了
在这里插入图片描述

  1. 由于默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent
ssh-agent bash
ssh-add ~/.ssh/id_rsa.github
ssh-add ~/.ssh/id_rsa.gitee

  1. 为了便于GithubGitee都能使用Git,需要进行多账号配置,生成config文件
touch ~/.ssh/config

在这里插入图片描述
并在该文件里填写

#Default gitHub user Self
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa.github

# gitee
Host gitee.com
    Port 22
    HostName gitee.com
    User git
    IdentityFile ~/.ssh/id_rsa.gitee

完成

二 GitHub

2.1 创建库

进入https://github.com/官网注册,如果速度慢可以用steam++等合法科学上网,谷歌浏览器的翻译比较好
点击右上角加号,New repository创建新的存储库
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到GitHub你所创建的库当中。

2.2 添加SSH Key

将1.5生成的id_rsa.github.pub内容复制到SSH Key中

在这里插入图片描述

点击确定即可

2.3 SSH Key测试

输入下列指令,回车,输入yes,再回车,红框处出现Hi表示公钥添加成功:

ssh -T git@github.com

在这里插入图片描述
别忘记了yes!!!

2.4 初始化本地仓库

选择一个文件夹作为本地仓库,并在此文件夹打开Git Bash
也可以使用cd的方式进入文件夹(红框内是所在位置)
在这里插入图片描述
输入git init将文件夹初始为仓库
显示下图即表示成功
在这里插入图片描述

2.5 关联仓库

在这里插入图片描述
复制仓库SSH,输入git remote add origin git@github.com:仓库SSH 关联远程仓库
在这里插入图片描述

2.6 上传文件

在需上传文件所在文件夹Bash Here
在这里插入图片描述
建立链接——add添加文件夹——commit标注分支——push推送

git remote add origin git@github.com:名字/仓库名字.git  #名字是github注册的名字
git add 文件名
git commit -m "分支名" 
git push -u origin master 

比如我要把3.md文件放到我的账号yanqiu12138git_test_notesmain分支中
在这里插入图片描述
在这里插入图片描述

首先,要在本地库的位置Bash Here,即3.md所在文件夹,或者在运行框里用cd命令切换位置到库位置

分别输入
cd D:
cd Code/Github
git add 3.md
git commit -m "main" 
git push -u origin master 

在这里插入图片描述
在这里插入图片描述

2.7 直接在GitHub上传文件

  1. 进入仓库,点击仓库右上方的Add file—— Create new file按钮:
    在这里插入图片描述
  2. 注意后缀是.md结尾的文件点击预览的时候才能被格式化,否则就是一个普通的文本

在这里插入图片描述

在这里插入图片描述
3. 写完点击commit changes(提交更改)在这里插入图片描述
4. Extended description是描述本次提交做了什么,写笔记完全不需要
在这里插入图片描述

2.8 批操作

批操作指批量打包文件到本地或上传。

2.8.1 批量下载

  1. 直接下载:点击仓库右上角Code——Download ZIP
    在这里插入图片描述
  2. 同样点击仓库右上角Clone or download ,在下拉菜单中复制所给出的地址,在想要保存的文件夹位置Git Bash Here,输入下面代码,稍后片刻就好了:
git clone 地址

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.8.2 批量上传

  1. 直接上传在这里插入图片描述

在这里插入图片描述

  1. 将上传文件保存在本地库,然后Git Bash Here,输入下面代码,
git remote add origin git@github.com:名字/仓库名字.git  #名字是github注册的名字
git add 文件夹名
git commit -m "分支名" 
git push -u origin master 

三 Gitee

Gitee是中文版的GitHub,相较于Github代码略少,但胜在国内可以稳定访问且5 人以下小团队免费。

3.1 创建库

  1. 到官网注册Gitee
    在这里插入图片描述
  2. 添加邮箱:右上角“账号设置”
    在这里插入图片描述

3.2 添加SSH Key

将1.5生成的id_rsa.gitee.pub内容复制到SSH Key中

在这里插入图片描述

3.3 SSH Key测试

分别输入下列指令,回车,输入yes,再回车,红框处出现Hi表示公钥添加成功:

ssh -T git@gitee.com

在这里插入图片描述
别忘记了yes!!!

3.4 初始化本地仓库

选择一个文件夹作为本地仓库,并在此文件夹打开Git Bash
也可以使用cd的方式进入文件夹(红框内是所在位置)
在这里插入图片描述
输入git init将文件夹初始为仓库
显示下图即表示成功
在这里插入图片描述

2.5 关联仓库

在这里插入图片描述

复制仓库SSH,输入git remote add origin 仓库SSH 关联远程仓库
在这里插入图片描述

2.6 上传文件

在需上传文件所在文件夹Bash Here
在这里插入图片描述
建立链接——add添加文件夹——commit标注分支——push推送

git add 文件名
git commit -m "分支名" 
git pull --rebase origin master(第一次使用的库需要这样建立链接)
git push -u origin master (之后不需要-u)

比如我要把1.md文件放到我的账号雁丘gitee_test_notestest分支中
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.7 Gitee团队协作

在这里插入图片描述
管理—仓库成员管理–开发者–添加成员–复制链接

四 报错原因和解决方法集锦

1. No such file or directory 输入中文符号或者涉及切换盘符

在这里插入图片描述
涉及盘符切换时要分两步,切换盘符和切换路径

cd D:
cd Code/Github

2. 初始化git项目时,报错:Reinitialized existing Git repository in说明已被初始化过了

注意:出现.git文件夹说明初始化成功,有些版本默认隐藏,右上角显示隐藏的项目就能查看
在这里插入图片描述
想重新初始化只需把.git文件删除
或者可以在当前文件下的控制台中输入 ls-a 查看,有.git 的话,使用 rm -rf .git 删除之后重新初始化就可以了
在这里插入图片描述

3. Host key verification failed

在这里插入图片描述
注意不是连敲两个回车,第二个回车前输入yes

4. Nothing to commit, working tree clean

在这里插入图片描述
暂存区没文件或者文件被git add过了,只需随便修改一下该文件就行

5. ! [rejected] master -> master (fetch first) error: failed to push some refs to ‘github.com:yanqiu12138/git_test_notes.git’

报错是因为,每个仓库都有一个分支,也可以理解为大仓库里的小仓库,我们只是跟线上远程仓库有了关联,但没有跟线上远程仓库的某个分支关联,所以我们没法提交
在这里插入图片描述

在终端输入 git pull --rebase origin master 即可跟刚创建的线上远程仓库的默认分支master关联
这时再执行一下 git push -u origin master 即可将我们的项目文件上传到关联的线上远程文件中

五 常用推荐

5.1 Google Chrome翻译及插件Octotree(需要翻墙)

Chrome翻译在使用Github全英界面时十分方便,各种弹窗、插件、下拉菜单都能迅速自动翻译
在这里插入图片描述
插件Octotree Github的导航栏
可以在设置——扩展程序——Chrome应用商店找到,直接应用即可
在这里插入图片描述
打开代码库后,能发现网页左侧出现
在这里插入图片描述
鼠标覆盖时,会以树的形式显示库的文件
在这里插入图片描述
若出现报错:This branch was either deleted or you don’t have access to it. Please go to Settings to login with GitHub OAuth or input a GitHub access token.(该分支已被删除或您无权访问它。请前往“设置”以使用 GitHub OAuth 登录或输入 GitHub 访问令牌。)
是因为插件访问时需要github的令牌,创建一个给他就行
解决方法:点击设置点击钥匙按钮
在这里插入图片描述
在这里插入图片描述
到期日选择没有过期时间,选择范围全选(企业用户自己研究下,个人的话全选完事)
在这里插入图片描述
复制生成的代币
在这里插入图片描述

粘贴到这里,完成

在这里插入图片描述

5.2 TortoiseGit

5.2.1 TortoiseGit安装

小白使用Git Bash维护Gitee、GitHub神器,是一个开发的Git版本控制系统的客户端,Git是命令行操作模式,而TortoiseGit是界面化操作模式

  1. 下载官网https://tortoisegit.org/download/注意下载相应的语言包
    在这里插入图片描述
    先安装语言包
    在这里插入图片描述
    在这里插入图片描述
    除了修改路径一路默认
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    输入git的Email

在这里插入图片描述
后面配置需要使用Putty,默认选择,点击完成
在这里插入图片描述

5.2.2 TortoiseGit配置

在仓库处右键,TortoiseGit——设置,进入配置界面
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 网络学习

docker的网络模式 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面…

ARM64汇编基础

ARM64汇编基础 主要内容 到目前为止,大部分的移动设备都是64位的arm架构,一直想抽个时间系统学习下,这个周末就专门来学习下。毕竟两天的时间,也只是简单的入门了解下,为后续工作和学习打下基础。 本次学习的主要内容…

Pytorch学习笔记(GPU训练)

GUP训练 配置pytorch的gup版本主要是在网络模型、输入和标记的数据、损失函数 方式一 直接.cuda()调用,在原有的模型训练代码中的网络模型、输入和标记的数据、损失函数部分直接调用即可 方式二 事先定义好设备device,然后直接.to(device)调用,在原…

基于SSM的学生宿舍管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

[vulntarget靶场] vulntarget-a

靶场地址:https://github.com/crow821/vulntarget 拓扑结构 信息收集 主机发现 netdiscover -r 192.168.127.0/24 -i eth0端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.127.130访问目标80,发现为通达oa WIN7漏洞利用 通达oa后台…

运行软件报错msvcr100.dll丢失的解决方法,全面分析msvcr100.dll丢失问题

随着科技的飞速发展,计算机已经成为人们生活和工作中不可或缺的重要工具。然而,在使用计算机的过程中,难免会遇到一些令人困扰的问题,如计算机丢失 msvcr100.dll 文件就是其中之一。本文将详细介绍计算机丢失 msvcr100.dll 的困扰…

文件打开表有几个?——参考《王道考研》

一、 真题试练 解析: 二、关于文件打开表 三、 疑问? 不是说好的只维护一个文件打开表吗? 四、解答 OS维护的是总的文件打开表,各自用户由对应各自的打开表,所有用户的打开表组成OS总的打开表。

layui框架学习(45: 工具集模块)

layui的工具集模块util支持固定条、倒计时等组件,同时提供辅助函数处理时间数据、字符转义、批量事件处理等操作。   util模块中的fixbar函数支持设置固定条(2.7版本的帮助文档中叫固定块),是指固定在页面一侧的工具条元素&…

swift 事件

多个元素链接到单个IBAction 并区分

图书信息管理系统

#include<stdio.h> #include<string.h> #include<stdlib.h> #define MAXSIZE 10000typedef struct {char no[100];//图书ISBNchar name[100];//图书名字double price;//图书价格 } Book;typedef struct {Book data[MAXSIZE];int length; } SqList,*PSqList;P…

算法基础:图

图论 图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形&#xff0c;这种图形通常用来描述某些事物之间的某种特定关系&#xff0c;用点代表事物&#xff0c;用连接两点的线表示相应两个事物间具有这种关系。 …

Java实现Ip地址获取

Java实现Ip地址获取 一、两种实现方式二、测试结果 一、两种实现方式 package com.lyp;import org.apache.commons.lang3.ObjectUtils;import java.net.*; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.Optional;/***…

创建及编辑线要素

17. 创建及编辑线要素 17.1 功能讲解 所有QGIS按键&#xff0c;右下角带 * 的&#xff0c;都是新建的意思。下图中&#xff0c; File encoding尽量选择 System。可自定义字段&#xff0c;例如 ‘Btype’&#xff0c;可以用其以不同的标记区分省界和区界。 保存路径&#x…

「UG/NX」Block UI 指定矢量SpecifyVector

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

ES6中WeakMap和WeakSet

这里重点说一下它们和对应的set、map的区别 WeakSet 不能遍历,没有forEach&#xff0c;没有size只能添加对象垃圾回收器完全不考虑WeakSet对该对象的引用。 WeakMap 键只能是对象它的键存储的地址不会影响垃圾回收。 let obj {name: Tom,age: 20}let map new WeakMap();…

Linux安装Mysql(详细)

安装Mysql数据库 参考阿里云命令安装Mysql smartservice.console.aliyun.com/service/ser… 安装MySQL 1.远程连接ECS实例。 具体操作&#xff0c;请参见使用VNC登录实例。 2.运行以下命令&#xff0c;更新YUM源。 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-com…

C++之this指针总结(二百二十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

SpringBoot启动输出了Mybatis-plus和Pagehelper的图标的解决方法

SpringBoot启动输出了Mybatis-plus和Pagehelper的图标 解决方法 Mybatis-plus mybatis-plus可以通过下面的配置关闭图标输出 mybatis-plus:global-config:banner: false #启动时不输出mp的图标pagehelper pagehelper要麻烦一些&#xff0c;需要在jvm的启动参数中进行配置…

使用docker安装部署kuboard并导入k8s集群

1 官网地址 https://kuboard.cn/install/v3/install.html#kuboard-v3-x-%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E2 找到推荐的安装方式 先点击左上角的安装 3 进入安装引导页面 复制出来里面的docker 命令&#xff0c;根据需求修改外面端口映射&#xff0c;KUBOARD_ENDPOINT…

Docker安装ElasticSearch/ES 7.10.0

目录 前言安装ElasticSearch/ES安装步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 安装步骤2&#xff1a;拉取ElasticSearch镜像1 拉取镜像2 查看已拉取的镜像 安装步骤3&#xff1a;创建容器创建容器方…