- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章.NET Core中Git的常用命令及实战演练由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了,那么你也就入了ASP.NET Core的大门了。但是我们还需要一个版本控制工具来提高我们的编码效率。因此这篇文章我将带着大家了解下Git这个版本控制工具以及为什么选择它.
下面我们将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制.
本部分我会先通过故事的形式讲解下Git的诞生,及其强大的分布式版本控制的能力。然后再给大家介绍一下我们在实际的项目开发过程中经常用到的git命令,让大家能够快速入门Git。当然我不会给你介绍八百年也不会用一次的命令,感觉很高级的命令,毕竟实用才是硬道理。还有不要指望通过这篇文章你就能成为Git专家,这篇文章只会让你在实际项目中能够迎刃有余的使用Git 。
(没错,这部分参考自廖雪峰大神的文章,因为有必要让大伙了解这些)很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了.
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码! 。
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符.
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统.
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权.
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下.
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。如今GitHub更是被微软收购,ASP.NET Core的的全套源码以及.NET Core的源码也都是在GitHub上开源.
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了.
看了Git的的故事是不是心潮澎湃呢?但是你又在想了Git到底有什么优势能够让那么多的大名鼎鼎的项目都是用Git进行代码管理呢?别急,这部分就为你解答.
这个优缺点Git的优势想的头疼,说太多就感觉枯燥了,只有你真正使用了才能体会到!话不多说,让我们快速入门Git吧.
你可以点击这里 到官网进行下载,可能官网下载比较忙,所以你可以点击这里 到我进行下载. 。
Windows系统的安装很简单,软件下载好之后一步一步的安装就行了,至于Linux和MacOS你可以点这里 查看官网的安装教程. 。
安装完成之后,需要进行相关的配置,在命令行输入以下命令进行全局的配置:
1
2
|
$ git config --global user.name
"yilezhu"
$ git config --global user.email <a href=
"mailto:1015657114@qq.com"
rel=
"external nofollow"
>1015657114@qq.com</a>
|
注:因为Git是分布式版本控制系统,所以,每台机器都必须自报家门:你的名字和Email地址(上面双引号里面的内容)。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的.
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址.
点击这里 ,下载并安装TortoiseGit图形化工具,安装后可以通过鼠标进行Git命令的操作。如下所示:
这部分我们就进行Git的实战吧,正好前面几篇文章已经为大家演示了几个例子,那么我们就把前面几个例子为例,使用Git把他们托管到GitHub上面吧.
1.假设你已经有了GitHub账号,没有的话自己去注册。点击这里 登录GitHub.
2.自报家门,配置你是谁(如果你在上面的Git安装)里面已经按照下面进行了配置,这里就无需再配置。首先鼠标右键按照下图所示打开Git Bash 然后按照下图所示进行配置:
3.生成ssh key 在git bash上面输入ssh-keygen -t rsa -C "你的邮箱" 它会有三次等待你输入,直接回车即可。下面的图是因为我已经生成了,询问我是否覆盖,我输入y选择了是重新生成了.
4.将生成的ssh key拷贝到剪贴板,执行 clip < ~/.ssh/id_rsa.pub (或者到上图提示的路径里去打开文件并复制):
5.打开github并按照如下图所示打开Settings 。
6.点击左边的SSH and GPG keys 然后在右边点击 New SSH key 。
将ssh key粘贴到右边的Key里面。Title随便命名即可。这时候GitHub会给你发送一封邮件 。
7.执行 ssh -T git@github.com测试结果如下说明GitHub配置成功.
8.GitHub上创建一个新的项目,项目名称为Czar.Cms,这个仓库将作为我们后面CMS系统的GitHub上的远程仓库 。
•首先是在右上角“+”进入创建界面 。
•接着按照如下所示输入项目名称,然后点击Create repository 就创建好了.
这里我们有选择以Readme初始化项目。所以生成后的结构如下所示:
9.下面我们就在本地初始化一个仓库,然后与GitHub的远程仓库关联起来吧.
10.我们在我们的工作文件夹中,打开Git Bash,然后输入如下命令git init来初始化一个本地仓库.
11.然后输入git remote 查看下远程仓库,正常的话应该有0个,现在就让我们添加下我们刚才建立的GitHub上的远程仓库吧.然后再看下远程仓库列表,发现已经有一个了,名字为github 。
注:要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url] 。上面我们对应的shortname即为github,这个你可以随意指定只要好记就行。感谢@宝宝董 给与的提示! 。
git remote add github github远程仓库的地址 。
12.然后输入git pull github master 就会从刚才我们配置的远程仓库拉取master分支的代码。如下所示:
13.获取之后然后看下我么的项目文件夹,如下所示:已经从GitHub上获取到了最新的代码:
1.在我们的本地仓库文件夹打开git bash 然后输入git checkout -b Sample02 命令创建并切换到Sample02 这个分支,然后把我们上篇文章的代码拷贝到这个文件夹,如下图所示 。
2.输入git status 查看当前仓库有哪些文件做了修改,如下图所示,红色部分表示已经发生了修改 。
3.输入git add Sample02/ 把Sample02文件夹下面所有的已经发生了修改的文件都放进'暂存区' 然后输入git status 查看一下当前的状态,都变成了绿色,说明Sample02文件夹下面的修改内容都加入了暂存区 。
4.接着输入git commit -m '注释内容'命令把我们暂存区的代码提交到我们的本地仓库 。
5.然后输入git status 查看一下,发现所有的修改都已经提交成功了.
6.输入如下命令git push github Sample02把我们的本地代码提交到远程仓库的'Sample02分支'吧 。
注意,这里时提交到Github上的Sample02分支上,而我们的GitHub上没有这个分支,所以会自动帮我们创建这个分支.
7.这里第三篇的事例代码就上传到Github上了。大家可以去查看下,顺便给个Star哦,因为后面的CMS的代码我也会放到这个仓库,只不过是不同的分支而已.
下面就让我们切换回master分支,并结束这个部分吧。输入git checkout master 。
这个时候可以上GitHub的地址了,后面所有的事例代码都会放到这个分支上.
本文从Git的诞生开始说起,然后给大家讲了Git的优势。接着我们通过一个GitHub的实战,手把手的在GitHub上新建了一个远程仓库并跟我本地的代码进行管理,并且把我的上篇文章的事例代码给上传到了GitHub上。希望对大家使用Git有所帮助。下面再次罗列常用的Git命令 。
Sample02
这个分支的修改到当前分支,并给这次合并添加注释好了,今天就给大家介绍到这,主要是给大家介绍平时实际项目中常用的命令,对于不常用的命令没有介绍,因为毕竟是实战,所以以实用为主。下篇文章我会给大家介绍一下Dapper的使用(玩数据库了)来为后面我们的CMS系列课程打下基础,毕竟要照顾一些新手朋友.
原文链接:https://www.cnblogs.com/yilezhu/p/10014027.html 。
最后此篇关于.NET Core中Git的常用命令及实战演练的文章就讲到这里了,如果你想了解更多关于.NET Core中Git的常用命令及实战演练的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
当您第一次访问移动应用程序或有更新时,将会有几个屏幕突出显示应用程序中的功能(新功能/教程模式)。我已经看到其中一些图像在屏幕上动画。我最近看到的一个很好的例子是 MS Office 的 iPad 应
是否有详细的 Trac 和 VisualSVN 集成演练? 有一个为 http://www.visualsvn.com/server/trac/ 发布的插件——不过好像有很多问题。 有人知道攻略吗?
我需要从 .yml 文件中读取一些值和变量,仅此而已,将它们写入字符串,这就是我所需要的吗?我该怎么做? 最佳答案 Yaml yaml = new Yaml(); Map config = (Map)
我正在寻找有关将我的 Web 应用程序部署到我们的测试服务器的信息。听过 Hanselman 说这是你可以在 VS 2010 中轻松完成的事情,我也开始寻找有关如何做到这一点的信息,但似乎找不到任何东
我在我的 CentOS 5.11 上编译并安装了 GCC 5.1.0(板载默认 GCC 4.x)。 在另一个没有任何 gcc 5.1 运行时库 (/usr/local/lib64) 的 CenOS 5
我是 WebGL 的新手,我正在尝试为一个网站创建一个演练,我已经在 inka3D 的帮助下将我的 Maya 模型带入了 WebGL,但是当我为运动应用以下代码时,它没有像它解释的那样工作。只有左箭头
我习惯于使用 MVVM 设计模式在 WPF 中工作,但最近有人要求我在 ASP.Net 中做一些事情。我想尝试使用 MVC,因为我在学习 MVVM 时看到它被引用了很多,但是我对此一无所知。 我可以找
我刚刚花了两个小时尝试演练 Microsoft 的“Windows Azure 中的 Web 服务和身份练习 1:在 Windows Azure 中使用 Windows Identity Founda
我想为我们的应用启动一个简单的演练。用户将首次登录(或在设置中选择“教程”选项),它会引导您完成如何使用该应用程序。 需要澄清的是,该应用程序会启动一个对话框/提醒对话框,并且背景会变灰或变灰以突出显
/* Problem 38 */ #include using namespace std; class abc { double n
一个 30 秒的搜索,我有数百个如何通过以下方式执行此操作的示例:Curl、Perl、Python、PhP ……但没有针对 Java 的。大量的 SSL 实现中的任何一个都存在问题,但机构却发出了很多
谁能给我一些好的 Monogame 演练或教程? 我问这个问题的原因是因为当我尝试在 VS2012 中创建一个新项目时,我得到以下选项 但所有教程或演练(如 this 一个)都有以下选项并使用 xam
我是一名优秀的程序员,十分优秀!