git bash here创建项目无法选择m_超实用 Git 使用方式介绍

9102d6bb35af6df5a77c57afa7168117.png

都说程序员若是不知道 GitHub 就不是一个合格的程序员,其实这话说的过分了,不知道就学嘛,今天我们就来说说 Git 和 GitHub 到底是什么。

我们在开发软件的时候,常常是需要多人协作完成,这时候我们就需要对我们的代码进行控制,常见的版本控制工具有 CVS、SVN、Git ,区别就在于前两种是集中式的,而 Git 是分布式版本控制工具。

什么是版本控制呢,想象一下,我们需要修改一个文档,我们修改之前需要备份,修改之后需要和源文件进行比对,然后合并,若是多个人一同进行修改那就更麻烦了,一个不小心就将文档搞乱了。

而使用版本控制工具就可以解决这个,每一次改动都有记录,谁改动的,改的什么,我们可以清楚的看到并回到之前的版本。

那么集中式的管理工具和分布式又有什么区别呢?集中式的就是有一个中央服务器,每个人在作业的时候将代码 down 下来,写代码,然后 commit, 版本的信息都存放在服务器上。分布式就是我们每个人本地都有一个库,版本的信息都会存放在本地。

分布式的缺点是每次 down 或 commit 都需要联网,若是网络不给力,真的急死你,一个项目几百兆,坑你没话说。而在分布式中我们虽说可以轻松的控制版本,可是在多人交流以及推送的时候还是需要一个用于中间交换信息的服务器,GitHub 应运而生。

所以说 GitHub 解决了多人之间代码交互与推送的问题。我们可以将自己的代码放到 GitHub 上供他人吐槽,也可以去下载他人的代码来进行二次开发。当然,你也可以将自己的日记推送上去,如果你想的话。

Git 是一个工具,若是你不使用,这些命令很容易就遗忘,我就是这样,所以我也没有学习很多深奥的东西,只是简单的推送代码上去,拉取代码下来。使用 Git 可以用命令行也可以使用图形化界面。图形化工具据说 sourcetree 用的人挺多,今天我主要说命令。

1 安装 Git

直接到官网去下载,无脑安装即可。最后一步注意勾选,就可以在鼠标右击看到 Git 的 bash 和 GUI 的打开方式。

2 配置信息

因为 Git 是分布式的版本控制工具,所以你要告诉 Git 服务器你是谁,自报家门。配置 name 和 email .

git config --global user.name "XXX"git config --global user.email "XXX"

PS. 附送几个命令

删除全局配置项。git config --global --unset user.name编辑配置文件,当然也可以覆盖配置。git config --global --edit查看配置是否生效git config --list 

3 Git 创建本地仓库

pwd // 显示当前目录cd .. // 返回上一层 mkdir newRepo // 新建一个文件 newRepo ll or ls // 显示文件cd newRepo // 进入文件 newRepogit init // 将新建的文件初始化为 Git 本地仓库ls -a // 显示全部目录,包括隐藏的目录,会出现一个 .git 文件echo "这里是输入到文件中的内容" >> test.txt // (新建一个 test 文件,输入内容 >> 是追加的意思)cat test.txt // 查看文件git add test.txt // 添加文件到 Git 暂存区git commit -m " first commit" // 提交到仓库,并添加注释 “first commit”git status // 查看状态,clean 表示暂存区的文件已经全部提交

上面的操作,就是在本机新建一个文件夹,并初始化为仓库,新建一个文件,设置为本地的 Git 仓库。这里涉及到几个概念、工作区、暂存区、仓库。工作区就是我们自己的本地文件夹,暂存区是工作区和仓库中间的一层缓冲。

4 本机与远程相连

0fadb881097aca06c5f000cc4ac08711.png

下图演示如何将公开的密钥添加到 GitHub。点击头像,选择 Setting 选中 SSH key 新建一个 SSH key ,将复制的公钥贴过来即可。

d6b622831b53729d644b29b3313ad27f.png

5 新建远程仓库,并推送数据到远程

登录 GitHub ,点击自己的头像,Your repositories, new 一个仓库,取个名字,添加描述语,直接 create repository 即可。

在新建一个库之后就会给出可能会使用到的命令。

新建一个 README.md 文件,并将文件提交到本地仓库中。

echo "# Blockchain_First" >> README.mdgit initgit add README.mdgit commit -m "first commit"

这里注意,选择推送到远程的方式时,选择 SSH 加密的方式,不要使用 HTTPS 的方式,因为使用 HTTP 的方式每次推送都要输入账户和密码。

git remote add origin git@github.com:YU-JI-KUI/Blog.git

推送到远程的 master 分支上,第二次推送的时候就会默认推送到上次选择的分支,即不需要添加 -u origin master。

git push -u origin master

6 从 GitHub 上下载代码

直接找到想要下载的项目,直接下载即可,如下图

8b61ca9c5f6c02a104e6a9297a348461.png

还可以使用命令,先到一个你想存放项目的目录,使用命令即可。

git clone git@github.com:YU-JI-KUI/Blog.git

好了,以上就是最最简单的 Git 和 GitHub 的应用了。

PS. 欢迎扫码关注同名个人公众号

66ef18ab14c64bf4e0c5e5b6eb7e4ed5.gif

http://www.niftyadmin.cn/n/763868.html

相关文章

vue使用ant design vue的collapse

在使用折叠面板的时候&#xff0c;应该是点击以后就会关闭一个面板&#xff0c;但是有的需要点击俩下&#xff0c;才可以展开&#xff0c;就是因为v-modal影响了这个 v-modal改成activeKey <a-collapse accordion change"changePanel" activeKey"activeKey&…

qcustomplot绘制动态曲线_Qt编写的项目作品17-自定义曲线图柱状图

一、功能特点可设置X轴Y轴范围值。可设置背景颜色文本颜色网格颜色。可设置三条曲线颜色颜色集合。可设置是否显示定位十字线,可分别设置横向和纵向。可设置十字线的宽度和颜色。可设置是否显示数据点以及数据点的大小。可设置是否填充背景形成面积图。可设置模式-拖动缩放等。…

使用ant-design-vue(select)遇到的问题,解决重置之后清空值

当你的select-option是循环出来的时候&#xff0c;你点击清空以后这个值是不会清空的&#xff0c;当你使用组件自带的api – allowClear的时候&#xff0c;你会发现清空以后是undefined&#xff0c;所以当你清空的时候&#xff0c;你可以在select标签上使用v-model。 <a-se…

js indexOf的使用

今天遇到一个需求&#xff0c;俩个字符串第一个字符串是‘检查’&#xff0c;第二个字符串是‘检查单的问题啊啊啊啊啊’&#xff08;这俩个字符串是我瞎写的&#xff09; 我要的是如果这个字符串里面有检查这俩个字就给我返回来。 因为是获取到input框里边输入的值。所以就判断…

python map lambda表达式_Python的lambda表达式、filter、map、reduce等函数的用法

lambda是表达式&#xff0c;用于创建匿名函数&#xff0c;可以和filter、map、reduce配合使用。 本文环境Python3.7。 一、lambda表达式 lambda 只包含一个语句&#xff0c;用于创建匿名函数。 语法&#xff1a; lambda [arg1 [,arg2,.....argn]]:expression arg1 -- 参数&…

vue使用ant design vue 树型控件(tree)

遇到的需求就是一级结构不要checked框&#xff0c;二级结构也不要&#xff0c;三级结构才需要&#xff0c;那么需要怎么做呢&#xff0c;因为人家给的结构是这样子的 checkable这个是一定要加的&#xff0c;要不不会显示出来 <a-treev-model"checkedKeys"checkabl…

federation机制的最新发布_基于Federation实现Kubernetes跨集群应用调度实践

1 Kubernetes Federation介绍1.1 Kubenetes Federation概述Kubernetes Federation实现在混合云模式下统一管理多个跨region或者跨公有云供应商的Kubernetes集群&#xff0c;使Kubernetes应用支持在多个跨区域集群之间部署、调度以及同步&#xff0c;从而实现应用的高可用以及灾…

pythoncookie自动登录_Python使用cookie 免密登录了解一下

我们都知道 HTTP 是无状态的&#xff0c;用户每次打开 web 页面时&#xff0c;服务器都打开新的会话&#xff0c;而且服务器也不会自动维护客户的上下文信息&#xff0c;那么服务器是怎么识别用户的呢&#xff1f;这就是本文今天要讲解的内容。当服务端需要记录用户的状态时&am…