观前提示:

  • 本文主要介绍了用命令的方式对Git进行操作(全程用的win10系统),而对于TortoiseGit和github desktop等图形化操作知识,只进行简单介绍或提及,详细使用会在提到的地方附上相关教程链接。
  • 另外,萌新刚刚接触Git,很多东西理解尚浅。希望通过本教程,让想入门的小伙伴学会一些基本操作。

Git简单介绍:

  • Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。如果是刚刚接触它,你可以简单的把它理解为一个云空间。不过它上传文件和项目的时候与常见的云存储的那种直接上传本地文件的方式不同,它分为三个部分:本地仓库、暂存区和远程仓库。
  • 这里可以简单类比一下,git远程仓库,相当于百度云,本地仓库就是你电脑的文件夹,他俩中间建了一个服务区,你传输的文件要先在服务区休息,等你确认相关信息,并发出指令后,再传到远程仓库。

前置准备:

  1. 注册github账号

    如果进不去,你可能需要科学的上网方法
  2. 安装Git环境

    Git安装可参考如下教程:

    https://blog.csdn.net/qq_38113006/article/details/104075379
  3. 此外,你还可以下载一个Git桌面软件github desktop它也可以帮助你更简便的使用,在下面会有简单的介绍
  4. 操作过程中如果遇到不懂的命令,请移步到:https://blog.csdn.net/halaoda/article/details/78661334 参考研究

Git详细使用:

1.基本信息设置

这一步建议直接登录Github操作

git config --global user.name '用户名'      #设置用户名
git config --global user.email '邮箱' #设置用户名邮箱
git config --list #查看设置

2.新建Git本地仓库

打开一个你想放仓库的路径,右键打开Git Bash Here

git init #初始化git本地仓库

生成.git文件夹,默认是隐藏属性,打开查看,勾选显示隐藏文件可以看到(找不到的百度一下)

可以看到后面显示有master的默认分支(现阶段github上默认是main分支)

git checkout -b main   #创建并切换到main分支的命令

master意为主人,由于被认为带有种族歧视的味道,现在慢慢改为用main来代替(这两个分支就只有单词的区别,选哪一个看个人习惯)

下图是.git文件夹初始化后里面的样子

3.创建资料仓库

这里提供两种方法

(1)在github上创建

直接在github新建远程仓库,然后同步到本地仓库

登录github,点击右上角的加号,新建repository

仓库名字随意,描述可以不填,属性根据需要选择

点击创建,即可看到库已经生成

点击上图蓝色用户名,返回上一级目录,可以看见创建的所有资料库

(2)用desktop创建

用桌面软件github desktop创建本地仓库,并同步远程仓库

点击publish同步到远程仓库

可以看到,本地和远程都出现仓库

(3)desktop详细教程

桌面版可以很直观的查看提交的更改信息,更加细致的操作请参考下面教程:

https://www.jianshu.com/p/06a960d991aa

4.创建多级目录

提供两种创建以及同步的方法

(1)直接在github上创建

在远程仓库创建,然后克隆到本地

创建新文件(如果创建多级自动变成文件夹)

在框重输入目录名字,可以一次性输入多层,例如:src/file/work

因为不可以存在空文件夹,所以可以创建一个多余的文件,后面可以删掉

拉到最下边,填写描述(选填),点击提交

上传文件(比如上传一些图片),特别注意不要上传错目录,如果文件比较多,在容易直接在github上删掉

选择文件上传

等待上传到缓存区

添加描述后,提交更改

可以看到已经上传到该目录

- 在github上删除、同步

删除不要的文件:直接在github上貌似只能单个删除,或者直接删除文件夹或者资料库

点进要删除的文件,点击垃圾箱,提交更改,即可删除

在这里会显示你刚刚进行的操作

然后把文件克隆到本地,实现同步

首先复制这个地址

git clone +地址 //克隆文件

这里记得切换一下目录(切换目录可以用cd 命令,也可以进入文件夹后右键重新打开),否则会下载到.git文件夹外面,我这里下载错了,可以手动剪切进去

可以看到这个就是刚刚在远程库建立的目录和文件

- 在本地删除、同步

此外还可以在本地修改后同步到远程仓库

进入到要修改的文件夹,右键进入Git bash

dir #查看文件
git rm -r --cached +文件名 #删除远程仓库文件且不影响本地仓库
git commit -m "xxx" #提交操作说明
git push -u origin master #更新到github远程仓库

回到github,可以看到图片0005已经被删除

git rm +文件名 #同时删除本地和远程库的文件

- 批量删除、同步

前面都是单个文件删除和同步,适用于比较小的更改,如果有大量文件需要更改,则可以在本地整理好后,一起更新到远程仓库

首先,如图,这是本地仓库删除一些文件后与远程仓库的对比图,此外在上一层另外增加一个文件夹

并放入一张图片

打开Git bash (最好在你修改的上一级目录打开)

依次输入

git add *               #把本地仓库的文件上传到缓存区
git commit -m "update" #提交修改信息
git push #上传到远程仓库(默认只上传当前的分支)

如果是第一次使用,建议先用下面的命令

git push -u origin main  #将main分支推送到origin主机并指定origin为默认主机, 之后可以直接使用git push 不用加参数

操作完后的效果如图

与上面修改的本地仓库一致

(2)在本地仓库创建

在本地电脑直接建立多级目录,然后更新到远程仓库

以上传一个本地项目为例:

首先在github上创建一个项目仓库project(名字随意),复制好仓库的地址

然后回到本地电脑,进入你的工程目录,右键进入Git bash

git init #将工程目录初始化为Git管控的环境

git remote add origin +刚刚复制好的仓库地址
git pull origin main
git add .
git commit -m "提交修改信息"
git push origin main

命令说明和操作效果如图

在看看github远程仓库,发现项目已经同步上来了,如果你需要多层文件夹,初始化git的时候多建立几层文件夹即可

5. 删除仓库

如果新建的仓库不想要了,可以直接在github中删除,不需要再删除本地文件后同步

进入到你的xxx资料仓库,点击Settings,里边可以对库进行重命名

翻到最下边 点击 delete this repository

根据提示输入相应的库的路径,点击 ”明白删除库的后果“即可删除

本地库就直接在.git文件夹中点击删除即可

6. 配置SSH密钥

在克隆项目的时候我们会发现,除了https地址,还有个SSH地址,用它下载需要牌子ssh密钥



git配置SSH密钥:

先检查配置信息:如果没有用户名和邮箱,可以先去github配置,或者使用如下命令配置

git config --global  user.name "你的用户名"

git config --global user.email "你的邮箱"

然后执行下面的命令生成密钥:

ssh-keygen -t rsa -C "你的邮箱"

一路确认后,会让你保存密钥文件,默认在c:/user/用户名/.ssh文件夹里边,找到id_rsa.pub,打开复制里边的内容

接着打开github的Settings,然后将密钥粘贴到如图所示地方

7. TortoiseGit安装、配置

如果觉得命令行操作麻烦,也有一款界面化操作的软件TortoiseGit,其操作的原理和用命令相同

安装教程参考:TortoiseGit安装、配置 - 修行者HT - 博客园 (cnblogs.com)

Re:从零开始的Git保姆级使用教程的更多相关文章

  1. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  2. 强大博客搭建全过程(1)-hexo博客搭建保姆级教程

    1. 前言 本人本来使用国内的开源项目solo搭建了博客,但感觉1核CPU2G内存的服务器,还是稍微有点重,包括服务器内还搭建了数据库.如果自己开发然后搭建,耗费时间又比较多,于是乎开始寻找轻量型的博 ...

  3. RocketMQ保姆级教程

    大家好,我是三友~~ 上周花了一点时间从头到尾.从无到有地搭建了一套RocketMQ的环境,觉得还挺easy的,所以就写篇文章分享给大家. 整篇文章可以大致分为三个部分,第一部分属于一些核心概念和工作 ...

  4. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  5. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  6. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  7. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  8. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  9. Git&GitHub-基础教程

    目录 1. Git简介 1.1 什么是版本控制系统? 1.2. Git的历史 1.3. 什么是分布式?什么是集中式? 2. Git安装 3. 创建一个版本库 4. Git的语法教程 4.1. 提交一个 ...

随机推荐

  1. how to recursively all files in a folder with sudo permissions in macOS

    how to recursively all files in a folder with sudo permissions in macOS write bug OK sudo chmod 777 ...

  2. 黑马来袭!NGK生态所二月上线!

    日前,加密货币交易所Coinbase Global Inc,向美国证券交易委员会申请首次公开募股,成为首家公开上市的加密货币交易所."Coinbase上市,给行业带来更多的是信心.让大家看到 ...

  3. css整理之-----------布局相关

    文档流 文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式布局,文档流可以分为定位流.浮动流.普通流三种 普通流(Normal flow) 在常规流中,盒一个接着一个排列, ...

  4. 统一数据管理工具 —— CloudQuery v1.3.3 上线!

    前言 岁末临近,让我们跟随着新春的脚步,一起去看看 CloudQuery 今年最后一次更新吧! 新增功能 一.Oracle - 查看表结构 Oracle 数据源中,可查看各表结构信息(列详情和表注释等 ...

  5. 微信支付/支付宝支付/银联支付,对比加总结(Java服务端)

    今天来讲讲支付. 工作到现在,接入过好几个项目的支付,其中涉及到了微信支付.支付宝支付.银联支付. 三种支付的对接感受其实整体上大同小异.都遵循同一个流程: 1).商户APP向商户服务器请求生成订单 ...

  6. Fastdfs数据迁移方案

    1.     方案背景描述 环境迁移,需要迁移旧环境的fastdfs集群的数据到新环境,由于之前数据迁移仅仅是针对mysql和mongodb,对fastdfs数据的迁移了解甚少,本文档主要是针对fas ...

  7. ZooTeam 前端周刊|第 111期

    转: ZooTeam 前端周刊|第 111期 ZooTeam 前端周刊|第 111期 浏览更多往期周刊,请访问: https://weekly.zoo.team 基于Vue的前端架构,我做了这15点 ...

  8. 【pytest官方文档】解读fixtures - 1.什么是fixtures

    在深入了解fixture之前,让我们先看看什么是测试. 一.测试的构成 其实说白了,测试就是在特定的环境.特定的场景下.执行特定的行为,然后确认结果与期望的是否一致. 就拿最常见的登录来说,完成一次正 ...

  9. 剑指 Offer 55 - II. 平衡二叉树 + 平衡二叉树(AVL)的判断

    剑指 Offer 55 - II. 平衡二叉树 Offer_55_2 题目描述 方法一:使用后序遍历+边遍历边判断 package com.walegarrett.offer; /** * @Auth ...

  10. 【HTB系列】 Lame

    出品|MS08067实验室(www.ms08067.com) 本文作者:shavchen 01 前言 这次挑战的靶机是Lame,距今900天+,历史感十足 靶机描述 Lame is a beginne ...