git,github的使用以及一些感受

为什么写这篇博客嘞?因为我之前在找相关内容的时候挺艰难的,都说GitHub是神器,可是不会用啊,而且我在csdn和其他的论坛里也没有找到详尽的文章,没有办法就只能东拼西凑 这里学一点那里学一点。也可能是我找的方式有问题。虽然现在对我来说github用的少吧,但是觉得还是有必要记录下来,为以后的复习学过的知识做一个准备。谁都不能保证永远会不忘记什么知识啊。

那么废话少说,进入正题吧, git是什么?首先要搞清楚这个概念  git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理 既然它是分布式的  那么相对比之下就会有一个集中式的 即svn

我们可以来说一下两者的优缺点,首先svn采用集中式,易于管理,保证安全性,支持二进制文件,更容易处理大文件

但是svn也有缺点 那就是服务器的压力会很大,而且所有的开发者必须使用这个服务器,不然不能提交,还有就是不适合开源的项目    事务都是有两面性的 不可能就说svn不好 存在即合理,肯定是有svn适合的环境的

接着就是git  git的优点是适合分布式开发,速度快 部署方便 分支机制(这个很秀)管理也方便 不怎么依赖服务器。

 但是git也有缺点 学习的难度比较大,而且开源的 只要下载下来就可以得到所有代码和版本信息。

虽然说git不好学 但是我可是学安全的男人啊!!!!!

所以 遇到问题就去想办法解决掉。解决之后超级爽   哇哈哈哈哈

git是使用linux系统的 所以需要一定的linux的基础 有一些指令我也不会 但是有人会啊 我就去请教了厂长,厂长向我解答了一些问题,不愧是要考研的学霸,说这些废话,主要是告诉自己,当你有机会学到东西的时候一定要抓住机会,如果可以学到一些真东西 ,我可以不要脸......哇哈哈哈哈 希望以后我再次看到这句话的时候 会是一种认可的心情 感谢现在这个愿意拼的男孩

ok 煽情的屁话说了一堆,继续进入正题

git还有一个好处就是它可能回滚 也就是说 你把代码写错了 发现了重大的bug 你还可以通过指令来返回到之前的系统版本 进行错误的修改

下载之后就是这个样子 pwd打印当前的工作目录

接下来就要配置自己的name和emil 据说不配置就用不了

接着就是要告诉git 哪个文件夹被git所管理了

可以看到我们的这个目录下面的东西

东西也就创建了 接下来就要开始写下代码了

touch 创建一个txt文件 往里面丢代码 rm删除 没别的意思 就是删着玩的  好的 在创建一个

然后我们就会发现

出现了那个创建的txt 怎么往里面写东西呢?两种方法

第一种 vi编辑器

这是linux下自带的一个文本编辑器

进入之后你就可以输入一些自己想输入的东西了  结束的时候退出 

先按esc 然后冒号wq就可以了

这些当年就没有人告诉我 自己找视频看 发现的 呼

然后我们在看一下有没有写入

的确写入了

第二种方法

直接在我们的文本里面写

保存一下 我们再看

的确是写入了

好的  接下来就是git的强势之处了

当我们碰到我们的代码里有很多bug的时候 需要返回上一个版本的时候该怎么做呢?

但是这个时候我们没有把它放入缓存区 所以

要是想看到原先的程序 就 需要使用缓存区了

git checkout +文件名 就可以从缓存区里面把提交的项目给还原到工作区了

但是副作用是 你这个还原之后 要是还想再回到现在bug多的项目 就回不去了

还有一种情况 就是 我刚刚提交到缓冲区的代码有误 但是之前提交的代码是正确的  怎么办呢?

就是说       我刚刚提交到缓冲区的代码有bug导致我现在的代码也有bug  但是刚刚提交到缓冲区的代码之前的那一次代码是没有问题的  

这时候 也可以完成任务  git reset HEAD + 文件头 就可以返回到上上次的代码

还可以把刚才提交到缓冲区的代码给删除掉  git rm --cached 然后再git checkout +文件名 也可以

要是错误代码 或者bug被保存到了历史区该怎么办呢?

git reset --hard +序列号 就可以回到过去的某个版本

但是要注意一点 回到过去某个版本之后 那个版本之后更新的版本就没有办法显示出来了

但是 git reflog 这个指令要记住 可以看到之后的那个版本号 就是说 可以穿梭时空

好的 接下来是git的另一个优势 分支

就跟一棵树木一样 有枝节 但是git的枝节却更有用吧

比如我们刚刚看到了 master 这个就是树木的树干  然后我们可以给它再创造一个枝节出来 两个是一模一样的 这样就可以多人一起做

 git branch + 分支名    可以创建分支  git branch  可以查看分支

要是想转换一个分支 那该怎么办呢 

git checkout + 分支名    是不是很眼熟   git checkout +文件名 可以回滚

删除分支  git branch -D + 分支名

分支创建的时候和主干一模一样 代码完全相同 就算修改了一些数据 那么两个都会改变

在分支上可以暂存修改 git stash   要是想暂存之后再返回来 可以用 git stash pop

合并的时候 git merge + 分支名 就可以把分支给合并回来

要是想给文件插入一些东西 echo + 内容 > + 文件名  要求空文件

 echo + 内容 >> + 文件名 有内容的文件

如果发现分支和主体存在着不一样 也就是说 一个程序员在分支上做了修改,另一个在主体上做了修改,改的是同一行 同一个参数 那么合并的时候会报错 提示让你去修改 ,而且是手动的

做一个例子      主体上的参数 给的sum = 200  而分支上的参数是 sum= 300  而且其他的都一模一样  或者说其他的也有一些不同

那么系统就会将这些东西都保存下来   放到一个项目里    但是这个时候项目是没有提交成功的  你必须手动的去更改 让代码没有争议 或者说 唯一吧

好的  手动分隔符    接下来就是关于github的了

首先 要使用这个东西 就必须你要拥有一个github账号 去注册一个就好了

然后 

 

创建仓库

然后是用户名 仓库名 描述等  这里要注意的是仓库只能push历史库里的版本 也就是说 工作区 缓存区的都没有办法传到github

然后接下来还有很多要注意的  比如说用ws的时候 可能会多出来idae文件夹  但是idea文件夹并不是你想上传的

但是你只要稍微动一下ws就会有idea 就是说 你很难不让它有idea 相同的 还会有 node_modules 还有 DS_store等这些都是有可能的  这时候你就必须要设置一下了 设置一个   .gitignore的一个隐藏文件 在里面在里面标注 隐藏idea文件夹

第二个方法就是直接上传 不要管idea文件夹 但是提交之后 再在本地删除掉idea 然后上传 覆盖掉之前的 也可以做到这种效果

git不能上传空的文件夹 这个是不允许的 因为空文件夹没有意义 上传也没有用

都结束之后 就要把你的git和你的github给关联起来了

关联指令 git remote add origin + 地址        这个地址就是你在GitHub上的仓库地址

但是  你要是手抖了 关联错了地址怎么办  比如说 关联到了你自己的空间或者其他的网页 怎么办呢

很简单 删掉它  git remote rm + 网址

都完成之后 那就要开始把自己的git项目推到github上了

git push origin + 名字  比如说 master  或者 自己创的分支 

接下来的这个东西 挺重要

那就是 那提交之后 本地会有提交过几次 你在github上面也会有提交过几次  但是如果你在GitHub上修改了

就比如说 你在github上的 就是一个你的新分支 你在新的分支上修改了 你的新分支的版本就会比你本地的版本高

我们说的形象一点吧   在本地的时候 你可以在主干master的基础上再创造一个分支  比如说吧 叫dev

做一个系统  不同的分支负责不同的部分 有做登陆的 有做数据库的 有做存储管理的.........

每个人负责不同的部分 最后再合并起来 就是一整个系统

然后提交到历史区 从历史区传到github

这个过程 又相当于一次分支 这时候你历史区的东西又做了主干 github上的是分支

你在分支上进行修改 提交 所以你分支的版本会比本地高  而且可能高的不是一点点

这时候你再本地也修改了一下 想交到github上面 但是发现不可以 有错误  

因为你交上去就是覆盖住了github上的项目   低版本不可以覆盖高版本 怎么看版本高低

git log  一般来说 浏览器的版本会比本地高 

但是本地也想提交啊    那也有办法

我们先把github上面的给拉下来 拉到本地 然后再合并 之后提交 是不是和之前的主干和分支合并一样

如果有地方不一样就手动改掉 然后再提交到历史库 然后再传到github上面

git pull origin + 主干名 拉到本地

好的

接下来就是常规的了 看一下别人的commit 然后发现有什么bug啊之类的 可以和别人交流 共同学习嘛

要是发现对方的代码有问题 不可以直接改 需要fork

fork之后 clone or download  把项目的地址复制 在本地打开 git clone 地址 取个名字

clone之后就可以更改了 默认就是git仓库 拥有origin仓库 可以将代码提交到自己的仓库

提交到github之后

可以返回给人家  因为之前fork过 可以new pull request返回

然后继续操作 creat

好吧 就写这么多吧  本来很多东西都已经快忘了 写博客的时候又去看了一下之前看过的架构课程 然后又回想起来了

学习是一个长期的过程 不断的积累  要啃下来需要很久

加油吧 骚年

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值