git操作

作者: Elliott_077d | 来源:发表于2018-08-11 23:00 被阅读0次

版本控制工具我用的并不多,之前比较流行的svn是,现在的git也是。由于最近的工作由我来发布gitlab上的版本,对于git的使用变得多了起来,很有必要写点东西记录下来。
首先,有这样一个问题,什么情况下我们需要版本控制?
无非就是:

  1. 项目复杂度太高,需要检测变更,便于自己的还原操作。
  2. 多人协作的情况。
    ps:一般情况下第二个原因要多一些

一、开始

而git和svn的区别在于,git在本地也能有所谓的仓库。
那么,现在就开始说说步骤,首先下载安装git,然后打开命令行工具输入

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

PS:里面的name和邮箱,请填写自己的邮箱
如果想看自己git的设置,可以使用

$ git config --list

接下来,cd到需要版本控制的目录,运行

$ git init

这时候会在目录下面生成隐藏文件.git


image.png

二、版本控制

接着,往上面添加两个文件


image.png

然后运行

$ git add a.html

这样a.html文件添加到监测里面,如果输入

$ git add .

会添加所有文件到监测
与之相反的是,如果要删除添加到缓存的文件,需要使用

$ git rm --cached [filename]

这时我在两个文件的主体部分都写上xxx,然后提交


image.png

由于只是添加了a.html文件,b.txt文件的变动并不会被检测到。
一般情况下,会使用全部添加来进行,但是有些文件不想监测它的变化,比如通用的index.js经常要调试,每次处理冲突会很麻烦,这个时候就可以新建一个文件名为.gitignore,在里面配置相应的规则就可以忽略不该要的部分了。

image.png

我这里的文件就将bin目录下的文件全部忽视了
OK,我这里添加完两个文件后,再提交一次,然后就可以使用

$ git log

来看看做了哪些提交了

image.png

回退在版本控制里面很重要,这样可以定位到自己之前做的一些错误的修改,在git里

$ git reset --hard HEAD^

可以返回上一个版本,而

$ git reset --hard [version]

传入你要的版本号,就可以回退到想要的版本了,而对这次回退返回的话,就可以使用

$ git reflog

查看你做的版本改动。

注意:
1.只有add过的change才能commit
2.在add前取消修改可以使用git checkout -- [file]

三、远程仓库

这个关系到多人协作,非常重要。这里我选用的测试平台为码云,原因嘛,速度快且能私有。
注册好账号之后,建一个项目。

image.png
通讯协议有http和ssh,为了避免每次都要输密码,这里使用ssh协议,首先就是添加公钥,具体看看官方文档http://git.mydoc.io/?t=154712

特别注意的是在使用图形化工具tortoiseGit的时候要生成符合该工具格式的私钥,然后才能正常的进行版本控制

第一次我们操作的时候,一般会使用,也就是下图的地址。

$ git clone [url]
image.png

另外一个方法就是将本地仓库(用git init过的)和云端关联起来

$ git remote add origin [url]

同时我们也可以使用

$ git remote -v

来查看远程仓库


image.png

使用

$ git push 

来将本地的仓库推送至远程,当然这里是默认的推送,可以使用

git branch --set-upstream-to <branch-name> origin/<branch-name>

让本地的分支和远程的分支就建立起了联系

四、分支

版本控制另外一个很重要的点就是分支了,分支使多人协作成为了可能


image.png

这里,使用

$ git branch A

创建了A分支,我们可以使用

$ git checkout A

切换到A分支,修改commit


image.png

再切换到主分支


image.png
修改的地方消失了,这个时候我们也修改这个文件,并且提交这个文件,然后合并A分支,
$ git merge A

出现冲突


image.png

这里我选择保留两个修改,然后再提交
要删除分支,使用

$ git branch -d [name]

下面和之前的结合起来,比如把本地的a分支上传到远程的仓库的A分支,先切换到本地A分支,然后

$ git push origin A

这样就会在远程建立一个分支A,并且是本地A分支的内容。
如果要删除远程分支A,则可以使用

$ git push origin :A

仅仅多了一个冒号,语义就是大不相同。

相关文章

  • Git 系列文章

    GIT 初识 Git的基础操作 Git的远程操作 Git的分支管理 Git标签操作 Git团队协作 Git 多账户...

  • Git操作

    Git操作 常规操作 git init git add git rm git commit -m git comm...

  • Git的常用命令

    一、Git简易操作 git操作手册(命令行git bash) 最简单易懂的git操作廖雪峰git教程Pro Git...

  • Git解决代码修改冲突

    Git 操作说明 Git下载项目 操作命令 Git上传提交 操作命令 Git解决同一文件多人修改冲突 操作步骤

  • ios git的使用

    git本地操作 git团队开发操作 git分支管理 gitHub使用

  • Git远程操作详解

    Git远程操作详解 Git远程操作详解

  • Git 教程(一)--Git简介及操作流程

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(五)--远程分支

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(四)--分支原理

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(三)--远程仓库

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

网友评论

    本文标题:git操作

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