观前提示:

  • 本文主要介绍了用命令的方式对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. zsh all in one

    zsh all in one zsh https://ohmyz.sh/ # install $ sh -c "$(curl -fsSL https://raw.github.com/ohm ...

  2. Java之HTTP网络编程(一):TCP/SSL网页下载

    目录 一.简介:HTTP程序设计 1.HTTP系统设计 2.HTTP客户端工作过程 3.HTTP服务端工作过程 二.基于TCP Socket的HTTP网页下载 三.基于SSL Socket的HTTPS ...

  3. 第31天学习打卡(File类。字符流读写文件)

    File类 概念 文件,文件夹,一个file对象代表磁盘上的某个文件或者文件夹 构造方法  File(String pathname) File(String parent,String child) ...

  4. bouncycastle中添加HMAC-SM3支持

    一. 最近看完了PKCS#5中的内容,总结一下自己添加HMAC-SM3中遇到的问题和解决方法. 大概通读BC java源码以后,开始上手修改. 在SM3.java中添加如下代码: /** * SM3 ...

  5. STL中常用容器及操作 学习笔记1

    @[TOC](下面介绍STL中常见的容器及操作)## 不定长数组 vector> vetcor:其实就是一个数组或者说是容器 其操作不同于之前直接定义的数组 > 而且可以直接赋值也可以直接 ...

  6. CVE-2019-10758-Mongo-express-远程代码执行

    漏洞分析 https://xz.aliyun.com/t/7056 漏洞简介 mongo-express是一款mongodb的第三方Web界面,使用node和express开发. 如果攻击者可以成功登 ...

  7. Node.js 模块化你所需要知道的事

    一.前言 我们知道,Node.js是基于CommonJS规范进行模块化管理的,模块化是面对复杂的业务场景不可或缺的工具,或许你经常使用它,但却从没有系统的了解过,所以今天我们来聊一聊Node.js模块 ...

  8. 关于 PDB 文件你需要知道什么?

    引言 大多数人知道 PDB 文件是用来帮助我们 debug 的,但也仅此而已. 本文主要介绍当你遇到 PDB 文件时(windows 开发中),你必须要知道的内容. 重要的事情说三遍 PDB 文件和源 ...

  9. The Red Button

    The Red Button 问题 问题描述 Piegirl终于发现了红色按钮,你现在还剩最后一个机会去改变这个结局.这个按钮下面的电路由n个从0到n-1编号节点组成.为了关闭这个按钮,这n个节点必须 ...

  10. WPF 基础 - 图形的效果与滤镜

    UIElement 有 BitmapEffect 和 Effect 属性,BitmapEffect 是由 CPU 的运算能力实现的,比较耗性能,推荐使用 Effect: Effect 包括但不限于 D ...