美文网首页
讲点简单实用的知识点--git

讲点简单实用的知识点--git

作者: cmeizu | 来源:发表于2020-09-17 16:08 被阅读0次

git这个工具呢,是用于版本管理的,一个人开发的时候可能没有什么影响,都是你一个人在管理和维护.但是当你进入一个团队后那么就变得不同了,共同开发一个项目那么你就要与别人协作,完成开发的相关工作.所以问题来了.你写的代码和别人写的代码怎么合到一起呢,对,我们有ctrl+c,ctrl+v,这个操作我还是会的.那么如果修改的是同一个文件呢,那么是不是要选取更合理的,替换掉原来的代码.想想都是一个非常繁琐的工作.有这个需求,那么就市场,有市场就会有人去开发这个工具,所以相关的管理工具就出来了.其中用的较多的有svn,git.现在来说更多的用的还是git.至于为什么这里就不多说了,这里只讲用法,原理有机会再说.

这里针对的是刚出来工作的大学生,因为在学校里的开发,更多的还是个人,没有用到git这类工具(当然这里说的是大多数的).所以刚入职公司,要学的就是git这个版本管理工具.这里算是提前给大家补充这块的知识,学会了进入公司,要少花一点时间,同时也是让自的开发更加的规范.

只讲常用的命令,不常用的不讲.
安装这里也不讲了,用windows的多,所以下一个.exe文件,傻瓜式的下一步,解决问题.
讲一下安装完成后的操作.

  1. 克隆代码的命令,这个是一定得会的,因为第一次你去拉取代码就是用的这个命令.别再用那种下压缩包来解压这种操作了,看着真的太low了.直接git clone 加地址就可以了.
    地址有两种形式.
//  http的
https://github.com/MengTo/Spring.git
git clone https://github.com/MengTo/Spring.git
// ssh的
git@github.com:MengTo/Spring.git
git clone git@github.com:MengTo/Spring.git

去拉这种开源项目没有什么问题,但是如果是公司私有的,那么你一定要在项目组中才行.

  1. 然后就开取开发,编写代码,之后怎么提交问题.
    在提交之前要做一个事情,那就是完善一下个人信息,要不交上去了,谁知道是你提交的.要用到两个命令.其实也就是对配置文件的更改,所以可以直接更改配置文件,当然不去动配置文件,那么直接用命令修改要更改的配置也行.
git config --global(这个是图个方便,如果这电脑多个人在使用,同时开发不同的项目,那么就不要用这个参数了.这是全局变量) user.name "手握日月摘星晨,世间无我这般人",这名字真好.
git config --global user.mail "nb@gamil.com" 

这样就可以了.

克隆下来的项目,一般来说项目的仓库地址是配置好的,那么就可以不用配置了.不过也有直接开发的项目,然后直接往仓库推的,那么就有一个添加仓库地址的命令.


image.png
image.png
// 先查看一下有没有地址
git remote -v
看这是添加好的,如果没有怎么添加呢.
git remote add 名称 地址
eg: git remote add dev git@github.com:MengTo/Spring.git
//加错了怎么办,那就删除嘛
git remote remove dev(这里直接给名称就可以了)

//然后要做的是新建一个分支,因为不会直接在develop分支上面直接做开发的,如果你遇到这样的公司那么直接跑路,因为太不规范了.以下就涉及到分支的概念了.

一般有以下的两种

  1. 一种是直接fork到自已帐户下,然后开发,再merge仓库的代码,然后推上去,提mergerequest.管理员审核,如果可以,就会合代码.
  2. 另一种就是直接通过分支来解决.通过拉新的分支来开发,然后merge开发分支,之后提交代码提合并请求.

但是共同点都是要先merge,再提交.

这里要先讲一下分支的操作:

//查看分支列表.(-l (local)本地 -a (all)全部 -r(remote) 远端仓库 )
git branch -l
//分支名如果存在切换到该分支,不存在则新建.(新建的规则是从当前所在分支复制一分相同的代码.)
git brach 分支名 
//切换分支名一般用的这个命令
git checkout 分支名

//以上都做好了,那么就可以在写好代码提交了.


image.png

提交代码的步骤:
i .先查看文件的状态:修改过的,是红色的,同时没有添加到索引区.

git status

ii. 然后将要提交的文件加入到索引区


image.png
image.png
git add 文件名 
// 如果全部添加的话
git add .

这里又出现问题了,那么我们如果加错文件了怎么办,当然是有撤销操作的.


image.png
image.png
//这个是删除命令,有点暴力
git rm --cached 文件名
//温柔一点的,不加文件名就是所有了.
git reset 文件名
image.png
image.png

iii. 如果前面的没有问题那就是可以提交了,commit,这样会先暂到本地的仓库,此时还没有到远端仓库.具体的命令是:

// 提交记录:
git commit -m "提交信息"
//查看提交记录
git log

注意了:如果一个分支你有很多次提交,比较加了一个"," 添加一行代码,都提交,那么提交记录是不是就很多了.


image.png

估计你领导看见不会太开心,哪有这样写代码的.当然有时候要处理别的分支的代码而你又在开发,就暂时的保存一下,但结果就是不好看,领导也不会看过程不是.所以就有一个合并提交记录的操作.


image.png image.png image.png image.png
image.png image.png image.png image.png image.png

至此我们就完成了记录的合并修改.涉及的命令:

//修改记录:~~表示之前的所有,~2表示前两次
git rebase -i HEAD~~ 

已经修改了,分为两种情况,
a. 这个分支是新建,远端仓库没有,那么直接fetch一下,更新一下本地分支的代码.
b. 如果这个分支远端仓库有,那么要先pull,拉取和本地的代码比较,有冲突的地方要解决,然后再是merge,develop分支的代码.否则代码push到远端分支会出错,要二次解决冲突.

git fetch

git pull

git merge origin/develop(仓库名/分支名)

//最后推到远端仓库.->提merge request
git push

前面提到一个问题.那就是如果我们临时要切换分支,而我们的代码以没有开发完,不想commit怎么办.git提供了一个暂存的操作.


image.png
image.png
image.png

// 我新添加的没有了,将其放到了缓存中.


image.png
//完成其他分支修改后,取出缓存中的内容
image.png
image.png
// 涉及的命令有:
//查看缓存列表
git stash list
//存储操作
git stash save "存储内容信息"
//取出缓存:pop 取出并删除. apply是取出不删除.
git stash pop stash@{0}

我们提交时都会遇到一个问题,那就是commit的内容没有完整,想修改一下,那要怎么做呢.


image.png
image.png
image.png
git commit --amend

相关文章

  • 讲点简单实用的知识点--git

    git这个工具呢,是用于版本管理的,一个人开发的时候可能没有什么影响,都是你一个人在管理和维护.但是当你进入一个团...

  • git--命令行相关操作(mac)

    ssh公钥生成: git简单实用 git 分支操作

  • 简单实用git

    git基本使用 本文根据廖雪峰文档链接 1创建仓库 (1)使用命令行找到一个仓库放的地方 mkdir learng...

  • git的简单实用

    创建一个远程仓库 1.如下 2.新建一个本地代码仓库 cd 打开本地代码 然后 git init初始化本地代码仓库...

  • git的简单实用

    git的简单实用:之前使用的SVN,很早之前看过git现在也忘的差不多了,今天通过这段时间项目中对git的使用,简...

  • Git的日常使用和提交模板

    伪造目录(PS:简书有目录功能吗?会的教教我?): Git的简单实用 Git的提交模板 Git的简单回滚操作 Gi...

  • 源码管理服务器 gitea 的安装

    1、 git 服务器软件的选型 我想在 docker 上部署一套个人实用的、安装维护简单、实用高效的 git 版本...

  • Git学习笔记

    这里推荐一下瘳雪峰的Git教程 Git 其实用起来不是那么简单 创建一个repo git init #在某个文件夹...

  • 从零开始使用Github

    本文是学习完廖雪峰老师Git教程后的精简实用版总结,再次对廖雪峰老师表示感谢。 1 安装git Git是目前最简单...

  • 开源分享一个 Flutter 混开带 Git 只读功能的阅读器

    1 WReader 一个功能简单、页面简陋、却又实用的带 Git 只读功能的阅读器。提供私有 Git 仓库克隆,分...

网友评论

      本文标题:讲点简单实用的知识点--git

      本文链接:https://www.haomeiwen.com/subject/mfllyktx.html