如何使用git命令管理本地项目

基于aarch64分析kernel源码 六:kernel_init进程(1号进程)、kthreadd进程(2号进程) kernel_init进程(1号进程)、kthreadd进程(2号进程)分析 阅读详情

如何使用git命令管理本地项目

创建版本库

版本库即repository,这个目录下的所有文件都可以被git管理,每个文件的修改删除,git都能跟踪,以便任何时候都能追踪历史,还原至某一版本。
首先需要在本机创建一个专门的文件夹用来当作repository

$ mkdir repository
$ cd repository

然后通过git init命令将仓库变成git可以管理的仓库,成功之后就会生成一个.git隐藏文件目录

$ git init
Initialized empty Git repository in /Users/_why/repository/.git/

并不一定是要使用空文件夹作为起始repository,完全可以用一个项目作为起始repository,这里使用空的是避免个人学习时候搞坏项目。

添加文件至版本库

首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
一个合格的项目至少要有一个readme.md文件,内容如下:

my first git repository.
i feel fucking good.

该文件可以在我们本地repository文件夹的任何地方,除了之前说的.git隐藏文件夹。
这个时候我们要将该文件加入到repository

$ git add readme.md

然后要使用命令提交到repository

$ git commit -m 'i wrote my first readme.md'
[master (root-commit) d5f1491] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.md

这里的git commit -m 中的 -m 参数是本次提交的说明
任何一次成功的commit 都必须将 需要提交的文件都 add 进repository

可以一次将多个文件加入到repository

$ git add file1.txt file2.txt file3.txt

改动追踪

这个时候我们对readme.md 做一些改动

my first git repository.
i feel fucking good.
i made some changes in readme.me

然后运行 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 directory)

    modified:   readme.md

no changes added to commit (use "git add" and/or "git commit -a")

这里git 会告诉我们我们将加入本地repository的文件 改动了哪些
如果想要具体看改动了写什么东西,可以运行 git diff

$ git diff
diff --git a/readme.md b/readme.md
index dfe9329..770654e 100644
--- a/readme.md
+++ b/readme.md
@@ -1,3 +1,3 @@
 my first git repository.
 i feel fucking good.
+i made some changes in readme.md

这次提交仍然需要两步 git add readme.md 和 git commit

git add readme.md
git commit -m "some changes"
[master 52cece9] some changes
 1 file changed, 1 insertion(+)

这个时候我们再用 git status 查看,就会告诉我们当前已是最新版本

$ git status
On branch master
nothing to commit, working directory clean

版本回退

实际开发过程中,我们可能对项目工程做了若干次提交,这个时候想要看我所有提交做的改变使用 git log 命令

$ git log
Author: HeapStakk <heapstakk@gmail.com>
Date:   Tue Aug 9 17:55:48 2016 +0800

    some changes

commit db9ee49571799e483242c04621f4bbcc2061dfde
Author: HeapStakk <heapstakk@gmail.com>
Date:   Tue Aug 9 17:39:48 2016 +0800

    i wrote my first readme.md

commit af62a67628018b7119e9b63aa59ef52ce8a32663
Author: HeapStakk <heapstakk@gmail.com>
Date:   Tue Aug 9 17:36:06 2016 +0800

    add 3 files

commit 7e6912a5c4f8ef307707e5fbd90a84d2d21bcc7f
Author: _why <_why@why.local>
Date:   Tue Aug 9 17:32:53 2016 +0800

按照提交日期的最新至最远排序。
如果觉得这种排列方式看的不好可以尝试加入 --pretty=oneline 参数

$ git log --pretty=oneline
52cece995a1b2c9b14f19b6b154ee6c39e1aafdd some changes
db9ee49571799e483242c04621f4bbcc2061dfde i wrote my first readme.md
af62a67628018b7119e9b63aa59ef52ce8a32663 add 3 files
7e6912a5c4f8ef307707e5fbd90a84d2d21bcc7f wrote a readme file

看到一大串 52cec...aafdd 则是版本好,这是利用SHA1计算出来的。
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交52cec...aafdd (注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

现在我们会退至上一个版本

$ git reset --hard HEAD^
HEAD is now at ea34578 add distributed

然后再使用 git log --pretty=oneline 查看

git log --pretty=oneline
db9ee49571799e483242c04621f4bbcc2061dfde i wrote my first readme.md
af62a67628018b7119e9b63aa59ef52ce8a32663 add 3 files
7e6912a5c4f8ef307707e5fbd90a84d2d21bcc7f wrote a readme file

发现确实会退到上个版本
但是我回退后就后悔了,我想回到上个版本怎么办?
如果当前命令行还没有关闭,可以使用HEAD值进行回退
我之前最新版本你HEAD值为 52cec...aafdd 我们不一定要写全

$ git reset --hard 52cec
HEAD is now at 52cece9 some changes

好的 我们再用 git log --pretty-oneline 看看吧

$ git log --pretty=oneline
52cece995a1b2c9b14f19b6b154ee6c39e1aafdd some changes
db9ee49571799e483242c04621f4bbcc2061dfde i wrote my first readme.md
af62a67628018b7119e9b63aa59ef52ce8a32663 add 3 files
7e6912a5c4f8ef307707e5fbd90a84d2d21bcc7f wrote a readme file

但是如果我们回退之后直接关掉了命令行工具,怎么办,可以使用 git relog 查看

git reflog
db9ee49 HEAD@{0}: reset: moving to HEAD^
52cece9 HEAD@{1}: reset: moving to 52cec
db9ee49 HEAD@{2}: reset: moving to HEAD^
52cece9 HEAD@{3}: commit: some changes
db9ee49 HEAD@{4}: commit: i wrote my first readme.md
af62a67 HEAD@{5}: commit: add 3 files
7e6912a HEAD@{6}: commit (amend): wrote a readme file
d5f1491 HEAD@{7}: commit (initial): wrote a readme file

这里我们按照我们的操作顺序,我们可以看到 我们最新的版本应该是 52cec...aafdd
这次我们就可以再次成功的恢复之前的操作了。

移除文件

我们通常可以直接从文件目录里移除没用的文件

$ rm readme.md

这个时候使用 git status ,git 就会提示哪些文件被删除

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    readme.md
#
no changes added to commit (use "git add" and/or "git commit -a")

现在有两个选择,一个是我确实要移除,另外个是我删错了。
前者使用 git rm 删除掉,并且 git commit

$ git rm readme.md
rm 'readme.md'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 readme.me

后者则是恢复误删除文件 git checkout

$ git checkout -- readme.md

git本地暂存区

git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
工作区(Working Directory)
就是你在电脑里能看到的目录,比如我的repository文件夹就是一个工作区

版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是git的版本库。
git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
这里写图片描述
前面讲了我们把文件往git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建git版本库时,git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
俗话说,实践出真知。现在,我们再练习一遍,先对readme.txt做个修改,比如加上一行内容:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.

然后,在工作区新增一个LICENSE文本文件(内容随便写)。
先用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 directory)
#
#       modified:   readme.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       LICENSE
no changes added to commit (use "git add" and/or "git commit -a")

git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。

现在,使用两次命令git add,把readme.txt和LICENSE都添加后,用git status再查看一下:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   LICENSE
#       modified:   readme.txt
#

现在,暂存区的状态就变成这样了
这里写图片描述
所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:
这里写图片描述

基于远程服务器 Tip_Adapter源码从零开始复现 从零一步步实现源代码的运行 阅读详情

相关推荐

Ubuntu视频播放器怎么选?VLC、mpv、SMPlayer硬解与字幕配置指南

在Linux系统中,视频播放体验取决于播放器、解码器与显卡驱动的协同。硬件解码通过VA-API或VDPAU将解码任务交给GPU,能显著降低CPU占用,解决4K高码率视频卡顿问题。对于Ubuntu用户,合理配置解码环境与播放器,可流畅播放HEVC、多音轨及ASS特效字幕视频。无论是日常观影、番剧追更还是家庭影院场景,选择合适的播放器并正确启用硬解,都是提升体验的关键。本文围绕Ubuntu平台,详解VLC、mpv、SMPlayer等播放器的安装、硬解配置与常见问题排查,帮助你在Linux上获得流畅的本地视频播放

weixin_33801856的博客 506

git管理本地工程

1. 什么是git?Git是一款免费、开源的分布式版本控制系统,可以高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。2. 如何安装git?下载地址:https://www.git-scm.com/downloads详细安装介绍,可参考下面:https://www.runoob.co...

weixin_46158019的博客 432

Git本地管理入门

git reset 是 Git 中一个 强大的历史修改工具,用于移动分支指针、撤销提交或取消暂存文件。它的行为取决于使用的参数(–soft、–mixed、–hard)。git revert 是 Git 中用于 撤销某次提交 的命令,但它不会删除提交历史,而是通过创建一个新的提交来“反向”抵消之前的更改。这里HEAD 指针并没有指向任何一个分支,说明它是一个独立的head节点。注意未完全合并的分支,只能由 git branch -D 来删除。以下是保留我的实验性更改方法。这里不需要手动切换分支。

加油!奥力给 1103

夏令营纪实——东南大学计科院&PALM实验室面试全解析

本文详细解析了东南大学计科院与PALM实验室夏令营的面试全流程,包括前期准备、技术考察、项目经验深挖等关键环节。特别针对自然语言处理(NLP)和机器学习(ML)领域的高频问题提供应对策略,帮助申请者提升面试表现。文章还分享了实用的准备技巧和面试经验,为有意向参加该夏令营的学生提供宝贵参考。

convnet3designer的博客 459

解决Keil uVision许可证管理中Unknown Product错误

嵌入式开发中,IDE工具的许可证管理是确保开发环境正常运行的关键环节。Keil uVision作为ARM架构的主流开发工具,其许可证系统采用加密验证机制,通过产品版本识别实现授权控制。当出现Unknown Product错误时,通常源于版本兼容性问题或区域发行版差异,这直接影响开发工具链的可用性。特别是在维护历史项目或使用中国特供版时,开发者常会遇到此类问题。通过分析许可证类型、调整安装配置或建立虚拟化开发环境等工程实践方案,可以有效解决这类授权验证故障,保障嵌入式项目的持续集成与交付效率。

weixin_33743248的博客 363

【Git】Git 学习笔记——本地仓库管理

快速学习 Git 的使用,快速入门 Git 代码版本管理工具的使用。

A_le_x的博客 2125

16、Cortex-M7处理器:高性能与复杂架构解析

本文深入解析了Cortex-M7处理器的高性能架构与复杂设计,涵盖AHB总线矩阵优化、超标量六阶段双发射流水线、增强型分支预测单元及双精度浮点支持。重点介绍了其独特的内存层次结构,包括指令与数据TCM、片上缓存和AXI-M 64位总线接口,提升系统并行性与执行效率。通过实际测试对比M4与M7性能差异,并演示如何将代码与数据定位到TCM以实现零等待运行。同时阐述了缓存机制的工作原理及其对系统性能的影响,为开发者提供全面的性能优化指导。

a1b2c3d的博客 126

Git管理本地代码

当一个项目被 Git 初始化以后,只是表示我们希望通过 Git 来管理当前的这个项目文件的不同时期版本记录,但是这个时候项目中已存在的文件,或者以后新增的文件都是没有进入版本控制管理的,它们是 未追踪(Untracked) 的状态。该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这个目录也是上面我们说的三个区域之一,这个目录也是 Git 保存数据记录的地方,非常重要,如非必要,不要改动。步骤2:“git checkout 文件名”,从暂存区拉取到工作区。

u010584870的博客 1784

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3987

基于STM32L4XX、HAL库的RTL8211FSI-CG以太网收发器(PHY)驱动程序设计

一、简介:RTL8211FSI-CG是Realtek公司生产的一款高性能、低功耗的单端口10/100M以太网收发器(PHY)。它通过RMII(Reduced Media Independent Interface)或MII接口与MAC控制器连接。

zhusl6688的博客 531

git版本管理入门、package与package-lock/yarn.lock

​Workspace:工作区Index:暂存区,当执行git add的命令后,工作区的文件就会被移入暂存区, stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中Repository:本地仓库,位于自己的电脑上,通过git commit提交暂存区的内容,会进入本地仓库。Remote:远程仓库,用来托管代码的服务器,远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改,本地仓库修改完代码后通过git push命令同步代码到远程仓库。

luemeon的博客 5613

FPGA原型验证(七):如何选择、搭建原型验证平台?

本篇概要::讨论了在项目初期选择目标FPGA平台的重要性,包括自制板卡与购买现成板卡之间的决策。主要是为那些希望建立基于FPGA的原型平台的工程师和设计师提供了深入的技术细节和决策指导,无论是选择自制还是购买现成的解决方案。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 942

git管理工具使用-本地通过git命令拉取项目

本地通过git命令拉取项目1.本地新建一个文件夹(尽量没有中文目录),打开命令窗口2.输入拉取命令(git clone 项目所在的地址)3.进入拉取到本地项目的文件夹内,切换分支,执行命令4.如果需要更新项目 git pull 打开本地项目的文件夹 1.本地新建一个文件夹(尽量没有中文目录),打开命令窗口 点击空白处,点击 Git Bash Here 2.输入拉取命令(git clone 项目所在的地址) 会拉取一段时间 3.进入拉取到本地项目的文件夹内,切换分支,执行命令 git checko

LineWalker911的博客 4615

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

软件工程工具Maven与Git使用方法大全

webApp下的web-inf文件夹和target文件夹下的web-inf文件夹是不同的。webApp下的web-inf文件夹是源码中的配置文件夹,它包含了web应用程序的元数据、类文件、库文件、资源文件等。target文件夹下的web-inf文件夹是编译后的配置文件夹,它是由Maven或其他构建工具生成的,用于部署或运行web应用程序。两者之间的区别是,webApp下的web-inf文件夹是开发时使用的,而target文件夹下的web-inf文件夹是部署或运行时使用的。meta-inf是什么?

weixin_45279374的博客 1804

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

GIT的安装及使用

git使用 github仓库认证你本地项目SSH 博客: https://blog.youkuaiyun.com/u010074690/article/details/80209635 第一步: 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。在Git控制台中输入如下命令: $ ssh-keygen -t ...

qq_24662345的博客 202

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Git使用教程(一)---本地git管理

  之前写过不少小demo,因为没有很好的整理,很多demo都找不到了,必要的时候又要重新写这些demo;这是一个很头疼的问题,很烦躁。网上看到git的版本控制以及托管,很nice。开始学习使用git,关于git的介绍、用处就不多描述了。有兴趣可以移步:git使用教程。 平常自己做一些小的demo,也会遇到一些问题版本问题,修改记录什么的都没有。很不方便,本文简单介绍一下本地项目git创建版本管...

weixin_30338481的博客 72

使用git命令行的方式,将本地项目上传到远程仓库

在国内的开发环境中,git的使用是必不可少的。Git 是一款分布式版本控制系统,用于有效管理和追踪文件的变更历史及协作开发。本片文章就来介绍一下怎样使用git命令行的方式,将本地项目上传到远程仓库,虽然现在的IDE中基本都配置了git的可视化操作,但我们还是应该掌握使用命令行的形式上传文件。1、。2、git initgit add .注意这个命令的前提是在项目的根路径下才可以。add后面的“.”表示当前目录下的所有文件;

2301_78646673的博客 5873

如何用命令将本地项目上传到git

git命令 1、如何用命令将本地项目上传到git (先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件 git add . 用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明 git c...

Millet 214

使用 git 从码云(gitee)下载代码到本地

前言:本文为转载文章,若有侵权,请及时告知,以便删除。 点击跳转原文链接   Git的安装就不说了。 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。   第二步:选中文件件右键Git bash here进入控制面板,输入命令git init 初始化化文件夹,把这个文件夹变成Git

uxiang_blog的博客 1万+

Git分布式管理-头歌实验本地版本库

本地Git操作三部曲是“修改-添加-提交”,即先要在本地仓库进行添加、删除或编辑等修改,然后将本地所做的修改添加至暂存区。添加至暂存区的这些本地修改,并未提交到本地仓库,需要执行提交命令才能将暂存区中的修改,添加到本地仓库。使用Git最基本的是,要先创建一个本地版本库,然后才能在本地修改、保存及提交文件。现在,让我们从创建一个本地版本库开始!本关任务:现在你要开始使用Git进行项目的版本控制了,请在本地创建一个版本库。

qq_62377885的博客 3065

使用git管理项目版本

Pycharm git-创建本地仓库\创建分支\合并分支\回溯版本\加入git后文件颜色代表的含义_python中git显示不同颜色-优快云博客

weixin_42319617的博客 457

使用Git将本地项目上传到Gitee中,并且在IDEA以及VSCode中使用

(3)暂存完文件后,列表中就会出现暂存的更改,然后点击提交按钮就会将更改上传到远程仓库中,提交时需要在上方输入框中输入消息也就是更新记录。(2)当修改了代码后,提交按钮就可以点击了,并且源代码管理中就会显示更改列表,点击更改列表的+号可以暂存全部更改,也可以点每一个文件后单独的+号,暂存单个文件;(2)绿色对号是提交本地项目,就是步骤三中的commit命令,推送到远程仓库之前都需要先提交,提交的时候需要写更新记录;(4)提交完成后,列表中就会出现同步更改按钮,点击按钮向远程仓库推送,相当于Push命令;

m0_53499553的博客 1478

项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令

无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息。现在我们就开始进行交互操作了。也就是说明一些在 正常开发流程中  常用的一些git命令。

直到世界的尽头 1852

将项目文件放入gitee仓库及git命令

将本地项目文件放入仓库 在gitee新建一个仓库 输入仓库名点创建即可 创建仓库后有步骤,直接按照步骤操作 犯了一个低级错误:以为截图上的仓库指的是刚新建的仓库, 就按照已有仓库步骤操作,报错 但其实这里指的仓库指的是本地仓库,我的项目文件是自己写的,并没有建立本地仓库,所以需要按照创建git仓库步骤执行命令。然后就将本地项目放到仓库中啦。 注意: 远程仓库的默认名称是origin !!使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。 将仓库建好后,常

qq_45976132的博客 584

通过 git 将本地项目代码上传到 Coding

直接上步骤: 1、在coding上创建项目并初始化( 可以选择使用README初始化); 2、初始化本地仓库:在本地代码文件夹中用gitbash运行命令:gitinit ; 3、关联地址:git remote add origin 地址(地址为创建好的项目的SSH地址); 4、执行git pull originmaster命令,将初始化的readme文件拉下来...

Alonge的博客 1035
上一篇: 教你如何在Github托管代码
下一篇: 解决maven构建webapp index.jsp报错问题
HeapStackk
博客等级 码龄12年 11粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值