zoukankan      html  css  js  c++  java
  • git的使用

    首先说一下git的概念:

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    这里提供一下git的下载安装网址:http://git-scm.com/downloads

    这里安装过程省略。。。

    重点来了!!!

    git的使用:

    这里选择Git Bash Here,弹出git命令窗口

    1、查看安装的git版本:

     2、我这随便创建个项目project,一定要进入项目里边,才能用命令对项目进行管理。。。

     3、git init    初始化命令,初始化仓库

      在任意目录下操作,表示让git对当前目录内的内容进行管理

      会在当前目录下创建一个隐藏的.git目录,是git自己使用的,切记:我们不要操作它

         这个git仓库存放的是 git对项目代码进行备份的文件

     4、开始进行项目代码的编写吧,我这随便写了个html文件,看看这个文件怎么提交到git中。

    5、如果多个人一起开发一个项目,大家都有明确分工,代码可能需要实时提交,那问题来了,都是提交到一个仓库,如何知道是谁提交的呢?

    别急,用下面的命令可以解决。。。

    git config --global user.name "用户名":设置当前使用git的用户是谁

    git config --global user.email "邮箱":设置当前使用git的用户的邮箱,这个邮箱可以是不真实的,但是要符合邮箱的格式。

     这样的话,接下来我们每次将写好的代码备份到git仓库中时,都会将当前备份者的信息存储起来。

       

      小插曲:删除一个项目中的文件

      

    6、提交当前目录下的vue文件

     需要写提交的代码的描述信息

     如果修改多个信息进行提交呢?

    (1)可以使用  git add  ./  "一起提交文件"

    (2)可以使用  git commit  -m  "一起提交的声明"

    以上两步骤其实可以用一个步骤实现的:

    git commit --all -m  "一起提交的声明"

     7、git status是查看git提交的状态

    (1)工作区是干净的,没有修改的信息。

     (2)已经修改文件,但是没有提交

     以上的简单基本git提交步骤就结束了,我们这里先告一段落。。。

    下边简单看一下使用git查看日志:

    普通查看日志:

    查看简洁版的日志:

    在项目修改中,如果我们修改错了,想返回到原来的样子,该如何修改呢,此时我们会用到git回退的方法:

    下边还是以about.vue这个文件为例,我在代码最后末尾加了两行文字,来实现回退操作:

     保存后,去按照git提交步骤提交上去,并且查看日志:

     提交之后,我发现,代码中多加了.git样式,修改之前写的代码是正确的,现在我想返回到原来的样子,怎么办?

    别急,以下办法可以解决:

    1、git reset --hard Head~0

    这里重点讲一下Head后边的数字:

    0:代表返回上一次提交的状态

    1:代表返回到上上次提交的状态

    以此类推。。。

     

    结果再进入到about.vue文件中,发现已经还原回去了。

    注意:不要在记事本中查看是否还原,这样是看不到效果的,必须在编辑代码的应用程序中查看,如hbuilder、sublime等等。

     2、git reset --hard 版本号

      例如:git reset --hard 8b0d6f3,也能够实现第一种的效果,并且比较精确清楚

    好了,已经介绍完了如何通过返回指定的版本来返回到想要的内容。。。

    关于git分支知识点:

    1、查看当前有多少分支(master是默认的主分支)

    v

     2、创建分支dev

     3、切换到分支dev

     4、在项目中修改了内容后,在分支上进行提交操作

     5、查看dev分支日志

    6、切换到主分支,再次查看日志

     7、合并分支

     8、查看是否合并到主分支

    这里加个小节:如何处理合并时的冲突问题?

    合并时为什么会有冲突的事件发生呢?

    举个例子说明一下:假如我们切换到dev分支上,这时对项目代码进行修改,然后在分支上提交;提交后,我们切换到主分支上....(这中间不知道干啥去了,再次回来竟然忘记了已经创建过dev分区了,这时)...我们又再次修改代码,然后在主分支上进行提交;最后通过合并方法进行合并,所以当然就提示合并失败,没办法,这时就需要我们手动处理代码了。。。

     来看下我们项目中的代码,真的是好乱呦~~~  没办法了,手动改正吧,加油!!!

    如何把本地代码提交到远程服务器上?

    上述讲的git提交的方法,如果针对个人提交的话,每次提交,git帮助我们把项目提交到本地仓库中;但是,现实中,项目是通过合作完成的,这时的提交可能会有些不一样,我们看看吧。。。

    既然团队合作,那就不能只是提交到电脑本地存储中,就需要共享代码,我们这里就引入了GitHub注意:GitHub不是git,它是一个网站,这个网站的服务器提供了允许通过git上传代码的功能。通过下载代码,就能更新代码,并且自动将代码进行合并。 GitHub 网址:https://github.com

    上传到github,那么github上也要有一个对应的仓库。(我们本地仓库是.git)

    github创建仓库:

    1、先注册

    2、创建仓库

     

     3、获取地址

     4、提交代码到github的服务器上的moli_project.git仓库中

    命令:git push [地址] master(指的是远程服务器上的主分支)        意思是:把当前分支上的内容上传到远程服务器上的主分支上

       

    把本地仓库的master分区上的内容上传到github服务器上的master分区上的内容上。

    如何把远程服务器上的代码拿到自己本地仓库?

    方法一:直接在github上找到项目,下载下来(嘻嘻,好笨的办法呦~~~)

    方法二:(开发中通常使用该方法)

    1、在本地初始化一个仓库

     2、拿到github的服务器上moli_project.git仓库中的代码

    命令:git pull [地址] master(指的是远程服务器上的主分支)        意思是:从远程服务器上的主分支上拉取内容到本地

     

     方法三:不推荐使用

     

    那么看出来方法二和方法三的不同之处了吗,bingoヽ(✿゚▽゚)ノ,就是使用clone比使用pull 会在本地多创建一个目录;且clone多次执行会覆盖本地的文件,而执行pull会合并。所以最好使用git pull... 哦。。。

    通过ssh上传代码

    优点:不需要通过输入用户密码,就能够验证上传者的身份

    1、生成公钥、私钥

    2、打开保存的私钥

    3、进入github网站,添加自己的私钥

     

     

     4、添加上后,我们就能进行提交了

    (1)创建一个仓库,并且去复制ssh地址

    (2)输入命令

     眼看就要成功,没想到还是卡住了。。。没办法,继续找解决办法。

    终于:

     

     到这里,用户使用ssh地址去提交代码到远程服务器的执行过程算是结束了。至于使用ssh去远程服务器获取代码跟使用https的命令一样,这里就不再写了。。。

  • 相关阅读:
    CentOS 7 安装Hadoop前的SSH免密码登录配置
    CentOS 7.1下SSH远程登录服务器详解-转
    Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置
    如何在CentOS 7上修改主机名
    【转】CentOS 6.3(x86_64)下安装Oracle 10g R2
    【转】CentOS 6.3(x86_32)下安装Oracle 10g R2
    【转】Linux Oracle服务启动&停止脚本与开机自启动
    Cacti在selinux开启的情况下使用
    Nagios在selinux开启的情况下使用
    Nagios状态长时间处于Pending的解决方法
  • 原文地址:https://www.cnblogs.com/heisetianshi/p/13792454.html
Copyright © 2011-2022 走看看