深入学习:Windows下Git入门教程(上)

蒙特卡洛+概率潮流!基于蒙特卡洛和新能源出力模拟的概率潮流分布程序代码! 最后,导出光照强度、风速、网损和节点电压的概率分布图,并计算了各节点电压和网损的平均值和方差,展示了接入前后的节点电压对比图。在不确定性增加的电力系统中,概率潮流成为含随机因素规划问题的求解前提,可以更加真实地反映电力系统的全面信息。此外,概率潮流还可用于研究风电和光伏发电出力以及电动汽车消耗功率和向电力系统反向供电功率的不确定性对电力系统的影响,发现系统运行中的潜在风险,为系统运行控制提供参考。概率潮流的目的是揭示电网中随机变量对系统的影响,发现电网中的薄弱环节,为规划和调度部门的决策提供有价值的信息。 阅读详情

一,安装Git:

1.1Linux上安装命令:

sudo apt-get install git

1.2在Windows上安装Git:

使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这里有当前的最新版,已经上传到优快云上,下载地址为:http://download.youkuaiyun.com/detail/huangyabin001/7564005,点击进入下载

1.3安装完成进行配置:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,每个机器都需要一个标识,也就是:你的名字和Email地址。

二,创建版本库

2.1创建资源库所在的目录,命令:

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
pwd命令用于显示当前目录完整路径,为了避免各种问题我们尽量避免路径命中出现中文字符。

2.2通过git init命令把这个目录编程GIt可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
!注意:版本控制系统只能跟踪文本文件的改动,例如txt文件、网页和所有的程序代码。版本控制器可以告诉你你的每次改动,但是图片、视频等二进制文件没办法跟踪,只知道文件大小的改变。在Windows下word格式也是二进制文件,因此我们如果要真正使用版本控制系统,就要以纯文本方式来编写文件,并且强烈建议使用标准的UTF-8编码。并且编辑文本文件我们推荐Notepad++,并要记得设置默认编码为UTF-8 without BOM.


2.3添加文件到资源库

第一步:我们新建一个文本文件到我们的资源库learngit目录下。

第二步:试用git add命令告诉GIt,把文件添加到资源库

$ git add test.txt

执行命令后,没有提示信息。

第三步:用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m "wrote a test file"

说明:执行上述命令会打印提示信息如:

[master (root-commit) 3b15333] wrote a test file
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

git commit命令:-m后面输入的是本次提交的说明,可以输入任意有意义的内容,这样方便从历史记录中找到改动记录。

此外,我们可以同时添加很多文件,一起提交,例如:

$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."

 三,版本回退

3.1修改文件

原始文件中的内容为:this is my first  time to use Notepad++;

在原始文件中添加新的内容为:Add a new line。

3.2使用git status命令查看状态:

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working d
        modified:   test.txt
no changes added to commit (use "git add" and/or "git commit -a")

执行git status命令,会打印提示消息。上述提示消息中告诉我们文件被修改,并没有提交。

3.3使用git diff命令查看详细修改内容;

$ git diff
diff --git a/test.txt b/test.txt
index d829b41..d6e3bba 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,2 @@
-this is my first time to use Notepad
\ No newline at end of file
+this is my first time to use Notepad
+Add a new line。
\ No newline at end of file

3.4使用git add test.txt 命令和git commit -m “add a new line.”提交修改;然后在文本中新添加内容“add a new line again”,以上述命令重新执行一边。
3.5使用git log查看修改记录。


$ git log
commit 4e8b0d0aaa685a83fb96fe52997e5af1e9e541ce
Author: bill <huangyabin001@163.com>
Date:   Sat Jun 28 13:48:29 2014 +0800
    add a new line again
commit d4d025a1cffaa761a7b82f39551465f7610a82db
Author: bill <huangyabin001@163.com>
Date:   Sat Jun 28 13:47:43 2014 +0800
    add a new line
commit 3b15333fdbb147f183a9d3013eadfafc9b05b127
Author: bill <huangyabin001@163.com>
Date:   Sat Jun 28 13:18:15 2014 +0800
    wrote a test file
上述命令git log执行后会打印出具体日志信息。从上述信息中我们可以得到每次提交的记录,记录中包含提交的描述性信息例如“wrote a test file”,提交时间,提交人的具体信息等。而“ commit 3b15333fdbb147f183a9d3013eadfafc9b05b127”则是我们每次提交的提交版本号,也称之提交的记录ID。

如果我们不需要提交人,提交时间等信息,我们也可以以一种更简洁的方式查看日志,只需要加上“--pretty=online”参数即可。

$ git log --pretty=oneline
4e8b0d0aaa685a83fb96fe52997e5af1e9e541ce add a new line again
d4d025a1cffaa761a7b82f39551465f7610a82db add a new line
3b15333fdbb147f183a9d3013eadfafc9b05b127 wrote a test file

3.6使用git reset命令回退版本

在工作当中,我们不可避免的使用回退版本,例如一个模块负责人提交了一部分代码,在项目负责人发编译发布版本前离开了工作岗位,项目负责人在编译发布版本的时候发现模块负责人工作失误造成项目无法编译通过,为了不耽误整个版本发布的工作,负责人不得不回退版本。

$ git reset --hard HEAD^
HEAD is now at d4d025a add a new line

上述命令中Head在Git中的概念是一个指向你正在工作中的本地分支的指针(可以把HEAD想象为当前分支的别名),其所对应的分支本质是个指向commit对象的可变指针。截止到目前的学习中,在我们若干差提交后,我们已经有了一个指向最后一次提交的master分支,它在每次提交的时候都会自动向前移动。

我们使用git log --pretty=oneline查看:


$ git log --pretty=oneline
d4d025a1cffaa761a7b82f39551465f7610a82db add a new line
3b15333fdbb147f183a9d3013eadfafc9b05b127 wrote a test file
这个时候我们发现记录中已经少了一条,并且打开文件也会发现,最后修改的内容已经不见了。

还拿上面的例子来说,如果项目管理员发现编译不能通过的原因不是模块负责人的误操作引起的,而是有其他原因引起的,并且当前需要发布的版本中需要模块负责人的改动,但是版本已经回退了,能否再回退到回退前的版本呢?

答案是肯定的,我们只需要知道我们需要回退到的那个版本号commit id即可(例如当前的命令窗口没有关闭,我们可以轻轻滑动滚轴就可以看到之前的版本号),或者知道前面一部分也可以。

$ git reset --hard 4e8b0d0
HEAD is now at 4e8b0d0 add a new line again
读者可以使用git log进行查看,是否已经回退成功。
但是如果当前的命令窗口已经关闭了,我们无法在命令窗口中查看我们之前打印的版本号了怎么办?git也为我们提供了一个命令来记录我们每次执行的命令“git reflog”

$ git reflog
4e8b0d0 HEAD@{0}: reset: moving to 4e8b0d0
d4d025a HEAD@{1}: reset: moving to HEAD^
4e8b0d0 HEAD@{2}: commit: add a new line again
d4d025a HEAD@{3}: commit: add a new line
3b15333 HEAD@{4}: commit (initial): wrote a test file
上述提示信息中最前面的字符串即是我们需要的版本号。

        总结:我们在电脑中能够看到的目录,例如我们新疆an的文件夹learngit文件夹就是一个工作区,而隐藏目录.git是git的版本库,在这个版本中的index文件(stage)是一个很重要的文件,我们称之为暂存区,git为我们自动创建的第一个分之master,以及指向master的一个指针称作HEAD。我们之前添加文件的操作“git add”,实际上是把文件修改添加到暂存区。而提交操作“git commit”则是把暂存区的所有内容提交到当前分支。  因此我们如果要提交修改,在提交前我们应该执行git add命令,把修改的文件添加到暂存区。

四,撤销修改 git checkout

我们不能绝对的保证在日常的工作中不会出任何差错,如果我们在提交代码前发前发现有错误,但是我们没有执行了git add命令把修改的文件添加到了暂存区,那么能否撤销此次修改呢?

答案也是肯定的。

$ git checkout -- test.txt
执行上述命令,没有任何提示消息。

而且我们也可以使用命令git reset HEAD file把暂存区的修改撤掉(unstage),重新放回工作区。
git reset HEAD test.txt

五,删除文件

首先我们新键一个文件,并去删除它

如果我们没用把它提交到版本库我们可以在文件管理器手动删除或者使用命令"rm 文件名"的方式进行删除,而如果我们要删除版本库中的文件我们可以使用"git rm 文件名"的方式来操作。

$ git rm test1.txt
rm 'test1.txt'

六,远程仓库

我们知道Git是分布式版本控制系统,同一个Git仓库,可以分不到不同的机器上,怎么分布呢?最早,有一台机器又一个原始版本库,此后其他机器进行克隆原始的版本,而且每台机器的版本库版本是一样的,没有主次之分。而且我们可以在充当“服务器”的机器上进行克隆,也可在同一台机器上克隆多个版本库,只要不在同一个目录下就好。

6.1从“服务器”仓库克隆,使用github进行git存储

第一步:注册GItHub帐号,GitHub官网地址:https://github.com/ ,点击打开。

第二步:创建SSH Key。在用户主目录下,如果有.ssh目录,并且该目录下有id_rsa和id_rsa.pub这两个文件,(跳过下一步操作),如果没有在windows打开Git Bash(linux 下打开Shell),创建SSH Key:

$ ssh-keygen -t rsa -C "huangyabin001@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/STAR/.ssh/id_rsa):
Created directory '/c/Users/STAR/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/STAR/.ssh/id_rsa.
Your public key has been saved in /c/Users/STAR/.ssh/id_rsa.pub.
The key fingerprint is:
1e:49:1e:a4:fa:38:65:0e:4c:41:20:df:67:a2:0c:bf huangyabin001@163.com

回车,使用默认设置就好,无需设置密码。如果顺利在用户主目录下会看到id_rsa和id_rsa.pub两个文件,其中id_rsa是私钥,不可泄露出去,而id_rsa.pub是公钥,可以公开。

第三步:登陆GitHub,打开Account settings,SSH Keys页面,并点击Add SH Key,添加SSH Key,Title可以自由定义,Key文本框中就是id_rsa.pub文件的内容,直接复制即可。



如果点击Add  SSH Key无反应,也就是没有弹出Title和Key的编辑框可能是浏览器的问题,换一个浏览器试试,360浏览器6.3的版本(其他版本没试,整的我开始还以为为是被墙掉了,后来验证一下才发现是浏览器的问题)就会出现这样的失误。

这里还需要解释一下,GitHub需要SSH Key的原因是为了确认确实是由你来提交的,而不是他人。

第四步:在GitHub上点击Create a new repo按钮,创建一个新的仓库。


创建成功后的界面:


第五步,将本地资源库推送到远程仓库中。

由于我们本地已经存在了一个仓库,我们可以根据上面的提示将本地的仓库推送到远程仓库中去。(请注意用户名正确,你自己的用户名)

$ git remote add origin https://github.com/huangyabin001/learngit.git

执行上述命令,没有任何信息提示;

接着执行

$ git push -u origin master
Username for 'https://github.com': huangyabin001
Password for 'https://huangyabin001@github.com':
Counting objects: 14, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (14/14), 1.15 KiB | 0 bytes/s, done.
Total 14 (delta 2), reused 0 (delta 0)
To https://github.com/huangyabin001/learngit.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

在输入的过程中会要求你输入你在GitHub上的用户名和密码。根据提示进行操作即可。远程克隆到本地就不再赘述了,按照上面的命令进行执行即可。


刷新GitHub我们就可以看到我们push的仓库中的内容了。


来源:http://blog.youkuaiyun.com/huangyabin001/article/details/35557231


短信验证码逻辑漏洞学习——各种绕过姿势技巧 阅读详情

相关推荐

三电平逆变器LC滤波设计避坑指南:从SVPWM谐波到Simulink仿真验证

本文详细解析了三电平逆变器LC滤波设计中的关键问题,从SVPWM谐波特性到Simulink仿真验证,提供了800V/10kW系统的参数计算方法和优化技巧。通过实际案例和仿真配置示例,帮助工程师避免常见设计误区,提升电能质量和系统稳定性。

weixin_29261711的博客 173

[Git]第三回 git分支操作

1.git的分支(branch)是什么? 分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事,最后分支做完事后合并到主线上而分支的任务完成可以删掉了。主线继续做它的事,分支用来解决临时需求,二者互不相干。 git的分支功能特别的强大,它不需要将所有数据进行复制,只要重新创建一个分支的指针指向你需要从哪里开始创建分支的提交对象(commit

wei_zhi的博客 489

东方财富网API接口逆向分析:手把手教你破解那个带jQuery回调的股票数据接口

本文详细解析了东方财富网股票数据API接口的逆向工程实战技巧,重点介绍了JSONP接口的核心机制、参数解析及数据处理方法。通过Python代码示例演示了如何构造请求、处理分页数据及应对反爬策略,帮助开发者高效获取股票数据。文章还提供了完整的爬虫实现案例和常见问题排查指南。

weixin_30790841的博客 716

Git 使用教程:最详细、最傻瓜、最浅显、真正手把手教!(万字长文)

一:Git是什么? 二:SVN与Git的最主要的区别? 三、在windows上如何安装Git? 四:如何操作? 四:Git撤销修改和删除文件操作 五:远程仓库 六:创建与合并分支 七:bug分支 八:多人协作 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程: ...

beidaol的专栏 229

华三R4900 G5服务器实战:用PMC P460-B4阵列卡配置RAID1+RAID6,并搞定CentOS 7.9安装(含热备盘设置)

本文详细解析了在华三R4900 G5服务器上使用PMC P460-B4阵列卡配置RAID1+RAID6混合阵列的全过程,包括热备盘设置和CentOS 7.9系统安装。通过实战步骤和性能优化建议,帮助企业IT人员高效部署高可用存储方案,特别适合需要数据冗余和系统稳定性的企业级应用场景。

weixin_29248653的博客 358

安检机图像处理避坑指南:从条纹校正到物质分类,那些论文里没写的工程细节

本文深入探讨了双能X射线安检机图像处理中的关键工程实践,从条纹校正到物质分类,揭示了论文中未提及的实用技巧。针对探测器校正、物质分类模糊、伪彩色系统设计等核心问题,提供了动态参数更新、空间上下文分析和自适应色彩映射等解决方案,助力提升安检系统的准确性和鲁棒性。

weixin_30325487的博客 889

Windows环境下Git入门:从零开始用git init/add/commit管理你的第一个项目

本文详细介绍了在Windows环境下使用Git进行版本控制的基础操作,包括git init、git add和git commit等核心命令。通过实战演示如何从零开始管理个人博客项目,特别针对Windows用户提供了CRLF换行符配置、图形化操作技巧以及常见问题排查方法,帮助开发者快速上手Git工作流。

vscode5coder的博客 183

【吐血整理-历时两个月,长达万字】FDTD Solutions学习笔记

原教学视频来自于Ansys-Lumerical官方的FDTD100,所看视频来自B站大佬UP主 【Nestor_呐等】 的幸苦翻译,本文内容粘贴自我个人在学习FDTD100时,通过字幕和一些个人理解总结的一份word。整理不易,强烈建议收藏!...

weixin_45719141的博客 10万+

Windows系统下的Git安装教程

git官网下载:https://git-scm.com/download/。 截止2022.08.13,最新的git安装包Windows版本号是Git-2.37.2.2。

Weber Zhou 的博客 2万+

PCAN-Explorer5使用教程

在PCAN中新建工程,导入DBC文件(右键apply),导入采集的数据选择对应的CAN通道点击红框中的标记可选择想要查看的信号在plot界面跳出属性,可调整信号显示的样式和最大最小值调出cursor,选择需要观测的变量,选中右键style——Period 可显示间隔时间增加cursor,可观测多个变量。

weixin_43997043的博客 6914

华为防火墙USG6600全流量日志配置指南:从流量监控到NAT日志的完整方案

本文详细介绍了华为USG6600防火墙全流量日志配置方案,涵盖流量监控、NAT日志及安全事件溯源等核心功能。通过精细化配置和性能优化技巧,帮助企业构建高效、合规的日志体系,提升网络安全运维效率。文章特别强调了日志采样与字段过滤的实用方法,适用于高流量环境下的资源优化。

gin88的博客 348

深入学习:Windows下Git入门教程(下)

声明:由于本人对于Git的学习还处于摸索阶段,对有些概念的理解或许只是我断章取义,有曲解误导的地方还请见谅指正! 一、分支 1.1分支的概念。     对于的分支的理解,我们可以用模块化这个词来解释;在日常工作中,一个项目的开发模式往往是模块化,团队协作式的开发。这样我们项目的进度可以称得上多核并发式的开发了。这种模块化的开发要求我们尽可能的高内聚低耦合以免造成一只胳膊没了整个人都废了的局面

从0到1,突破自己 8370

QLIB使用tushare更新每日行情

0. 介绍 qlib每日数据的源是yahoo,更新速度较慢并且不稳定。tushare每日行情是免费接口,速度较快。 1. 获取行情数据,保存为csv格式。 def GetDataFromTushare(self, today, fpath): pro = ts.pro_api() df = pro.daily(trade_date=today) for index, row in df.iterrows(): code = row['ts_code']

weixin_44177216的博客 2897

深入学习:Windows下Git入门教程

原文链接: (上)http://blog.youkuaiyun.com/huangyabin001/article/details/35557231 (下)http://blog.youkuaiyun.com/huangyabin001/article/details/35840591

Chydison 271

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

转载-深入学习:Windows下Git入门教程(下)

出处:http://blog.youkuaiyun.com/huangyabin001/article/details/35840591声明:由于本人对于Git的学习还处于摸索阶段,对有些概念的理解或许只是我断章取义,有曲解误导的地方还请见谅指正! 一、分支 1.1分支的概念。     对于的分支的理解,我们可以用模块化这个词来解释;在日常工作中,一个项目的开发模式往往是模块化,团队协作式的开发。这样我们项目的

fighting! 276

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

转载-深入学习:Windows下Git入门教程(上)

出处:http://blog.youkuaiyun.com/huangyabin001/article/details/35557231一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这

fighting! 383

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

git for windows快速入门教程

都说git是最好用的版本控制系统,以其独特的分布式版本控制、github的流行和强大的爹Linux系统之父linus将SVN等其它版本控制系统甩开几条街的距离。   然而在我要入坑的时候并没有找到很好的快速入门的git for windows的教程,github上的教学视频讲得太快让初学者跟不上,当然git官网的上的官方文档是很好的,也有中文版,不过得细看看很久,我花了两天的时间踩过很多坑才入门,...

徐丨若木 395

git安装及快速入门教程

本文介绍了Git和代码托管平台Gitee的基本使用流程。首先说明了Git在Windows、macOS和Linux系统下的安装方法,并指导用户在Gitee平台注册账号、绑定邮箱和创建仓库。接着讲解了本地Git环境的配置,包括设置用户名邮箱、初始化仓库、连接远程仓库等操作步骤。最后汇总了常用的Git命令,如克隆、提交、推送、分支管理等基础操作,为开发者提供了从环境搭建到代码管理的完整指南。

m0_73073987的博客 1213

GIT---看我一步步入门(Windows Git Bash)

0 前言     不同的版本控制工具的比较这里就不介绍了,我的入门是从windows开始的,而且是使用纯命令方式(Git Bash),当然也可以结合TortoiseGit或者msysgit中的GIT Gui工具,这个工具可以通过界面方式来操作管理。     我们要管理项目,首先要建立一个GIT服务器系统,来管理项目版本。但是有的条件有限,我们搞不起服务器,只能借助第三方了,github就是很好

易名 7720

Windows 安装 Git:x64/ARM64 怎么选,找不到 git 怎么排查

Windows 安装 Git 时如何选择 x64/ARM64?本文给出命令识别、PATH、提交身份和第一次提交的排查步骤,同时保留 Git 2.54.0 历史文件及来源,并明确历史版本与当前官方版本的区别。

weixin_61919617的博客 4510

Git入门教程(二、安装Git)

这是本系列教程的第二篇。 恭喜你,已经了解到Git了!现在你已经知道Git是干什么的了吧? 这篇教程就带着大家安装Git(会提供Linux、macOS、Windows的安装方法,非常详细)。 话不多说,进入正题。...

YoungGeeker 440

Windows下Git入门教程

一,安装Git:1.1Linux上安装命令:sudo apt-get install git1.2在Windows上安装Git:使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这里有当前的最新版,已经上传到CSD...

luo_sen的专栏 553

3分钟快速上手Windows Git:免编译安装与高效配置终极指南

还在为Windows下Git安装复杂、配置繁琐而烦恼吗?想要一个简单快捷的版本控制工具部署方案吗?今天我将为你介绍一个专为Windows用户优化的Git项目——gh_mirrors/git/git,这是一个包含Windows特定补丁的Git分支,让你在3分钟内就能完成安装和基础配置,享受流畅的Git版本控制体验。 ## 为什么选择这个Windows版Git? 这个项目相比官方Git版本有三个显

gitblog_01007的博客 1135
上一篇: SVN版本控制初探
下一篇: 深入学习:Windows下Git入门教程(下)
SpeedyCoder
博客等级 码龄14年 415粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值