2021/1/7
GIT 的使用方式
说实话,虽然我参加工作有好几年,并且有三年左右的后台开发经验,但是可能之前工作项目都是独立开发的,在加上自己散漫的性格,对于代码管理工具用的很少,之前公司相对于svn用的相对多一点,至于Git,也只是偶尔用一下,拉取别人的代码,开发也只是拉取和提交,并且还是借用第三方工具或者代码编辑器,好的,闲话说到这,一块了解下GIT。
GIT概念
Git是目前世界上最先进的分布式版本控制系统。
工作原理:
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
SVN和Git最主要的区别
SVN是集中式版本控制系统,版本库是放在中央服务器,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网中还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就够呛啦。
Git是分布式版本控制系统,那么他就没有中央服务器。每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库。
在windows上安装Git
安装完成之后,在开始菜单里面找到Git - Git Bash 弹出一个窗口 安装完成后,还需要最后一步设置,在命令行输入如下:
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
如何操作
1.创建版本库
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以将文件还原。
创建一个版本库命令如下:
通过命令 git init 把这个目录变成git可以管理的仓库。 这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
把文件添加到版本库中。 首先要明确在,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不例外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽然也能版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是图片从1kb到2kb,但是到底该了啥,版本控制也不知道。
操作基本步骤
- 第一步:使用命令 git add readme.txt添加到暂存区里面去。如下
- 第二步:用命令 git commit告诉Git,把文件提交到仓库。
- 第三步:可以通过命令git status来查看是否还有文件未提交。
如果我们改动文件内容。继续使用git status 查看会有以下结果
这个我们需要在是使用命令 git add 文件名
** 注意如果改动文件太多,如果还是执行命令“git add 文件名 文件名” 这种命令就很麻烦,但是还有一种更省事的方式就是 “git add .” 或者 “git add --all” 全部提交改动的文件**
“git diff 文件名” 命令可以查看改变的内容
版本回退
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可
git reset --hard 版本号 ,但是现在的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增加3333内容的版本号呢?可以通过“git reflog”命令即可获取到版本号:(最前面的字符串就是版本号) git reset --hard 6fcfc89来恢复了
三:理解工作区与暂存区的区别?
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。 版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
常用命令大全 假如我们现在在dev分支上,刚开发完项目,执行了下列命令:
git add .
git commit -m '提交的备注信息'
git push -u origin dev
想将dev分支合并到master分支,操作如下: 1、首先切换到master分支上
git checkout master
2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
//如果是自己一个开发就没有必要了,为了保险期间还是pull
3、然后我们把dev分支的代码合并到master上
git merge dev
4、然后查看状态及执行提交命令
git status
On branch master
Your branch is ahead of 'origin/master' by 12 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
//上面的意思就是你有12个commit,需要push到远程master上
> 最后执行下面提交命令
git push origin master
其他命令
更新远程分支列表
git remote update origin --prune
查看所有分支
git branch -a
删除远程分支Chapater6
git push origin --delete Chapater6
删除本地分支 Chapater6
git branch -d Chapater6
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!