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的命令一样,这里就不再写了。。。