1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Git-分布式版本控制系统

Git-分布式版本控制系统

时间:2023-05-22 16:33:53

相关推荐

Git-分布式版本控制系统

一、版本控制

版本控制系统是记录若干文件内容变化,以便将来查阅修订特定版本或还原部分文件的系统

分为:集中式版本控制系统(svn)简称cvcs 都有一个单一集中管理服务器,保存所有文件修订版本,开发人员通过客户端连到这台服务器,取出文件或提交更新。会出现中央服务器单点故障!

分布式版本控制系统(Git)简称dvcs 没有”中央服务器“,每个人的电脑上都是一个完整的版本库。安全性更高!但分布式版本控制系统中会有一台充当”中央服务器“的电脑,方便交换修改。

有极其强大的分支管理工具!

二、Git帮助与初始化

$git help 显示git的帮助信息

$git help-a加上-a参数可以显示所有帮助信息

$git help add 加上具体命令可查看详细帮助内容

$git config --list 显示git的配置信息

$git config --globol user.name"sunyi" 设置Git的用户名

$git config --globol user.email"963807896@" 设置Git的E-mail

--globol 表示设置的范围(系统,项目,全局)

$git config --unset--globol user.name 修改前需要--unset参数清空需要修改的设置

$git init 使用init命令可以初始化一个仓库(repository),同时在当前目录下生成一个用来跟踪管理版本库的的.git文件夹*避免使用含有中文的路径。

三、 创建版本库

在git的目录下添加一个有内容的文本文件

$git status查看当前仓库工作区的状态

$git add 将新文件添加到仓库

$git commit将新文件提交到仓库 $git commit -m”提交本次的说明,方便找到改动记录“ Git完整的添加文件需要先add再commit两步。

四、本地的版本控制

1>添加修改

给文本文件添加一行文本 先查看状态,提示被修改过,但还没有被准备提交的的修改

$git diff 查看具体修改内容 查看完修改后,经过add和commit将修改添加到版本库

2> 版本回退

$git log 查看commit的记录 记录中有提交的作者,email和提交时间以及commit时输入的-m参数后的文本。其中commit后边的数字表示commit id(版本号)是一个SHA1计算出来的非常大的数字,用十六进制表示。

$git reset--hard HEAD^ 退回到上一个版本 首先要知道当前版本 用HEAD表示当前版本 上一个版本就是HEAD^, 上上一个就是HEAD^^ ,往上100个可以写HEAD~100

$git reset--hard ID 4da437f放弃回退必须知道恢复版本的ID号 ,因为git log只存储最后一次版本之前的版本记录 所以需要git reflog来找回之前的版本号

$git reflog 用来记录用户输入的每一次命令。找回版本号并且撤销回退。 *版本号写前几位即可,Git自动查找

3>工作区和暂存区

工作区即当前目录下除了.get文件夹下的其他目录

版本库即.get文件夹下的东西,其中最重要的就是stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针HEAD。

将文件添加到Git版本库的时候分两步执行,首先git add把文件添加进去,实际上就是把文件添加到暂存区,然后git commit提交更改,实际上就是把暂存区所有内容提交到当前分支

4> 撤销修改

撤销修改分为三种情况:仅修改了工作区的内容,未添加到暂存区(没有经过add和commit的修改);此时工作区提示有一个修改;$git checkout 文件名,可以还原工作区修改。

修改了工作区的内容并添加了暂存区,但未提交修改(经过add但未commit的修改);$git reset HEAD 文件名,可以还原暂存区的修改。再使用checkout命令还原工作区。

修改被添加到暂存区并且提交了修改(经过add和commit的修改);此时只需要退回版本即可,$git reset--hard HEAD^ 。

5> 删除文件

在Git中删除也属于修改操作,在工作区手动删除文件之后,工作区和版本库的文件就一致了,Git会发现用户删除了文件,并且告诉用户哪些文件被删除了

删除文件有两种方法:在工作区删除文件,然后使用git rm 并且commit 执行git rm之前的删除文件操作仅仅修改工作区,并不会将删除操作添加到暂存区,可直接用checkout命令撤销操作即可

在Git中直接使用git rm 命令删除文件并 commit 在commit之前,删除操作会同时操作工作区和暂存区,在撤销时先使用reset命令,然后再使用checkout命令撤销操作。

五、 远程仓库

1> 生成SSH Key

$ssh-keygen-t rsa 使用RSA 方式加上时间参数来生成SSH秘钥,使用默认设置即可。

成功后可以在用户主目录下找到.ssh目录,里面有id_rsa和 id_rsa.pub两个文件,其中id_rsa是私钥,不能泄露!!!id_rsa.pub是公钥文件,可任意发送。

将生成的id_rsa.pub文件发送给服务器管理员,管理员在服务器将公钥注册以后,此计算机即可通过服务器验证,进而下载上传文件。请保证id_rsa文件安全!!!

2> 远程下载项目代码

使用git init 创建一个新仓库,然后git pull可以远程下载项目代码,(或者直接使用git clone命令拷贝版本库至本地)。

首次使用Git连接服务器时,会有一个警告,ssh连接第一次验证服务器的key,输入yes回车即可。这个警告只出现一次。

3> 推送代码至服务器

git push 将当前分支推送至服务器。

六、分支管理

1> 创建与合并分支

分支管理命令 git branch 查看当前分支

git branch 名称 创建分支

git checkout 名称 切换分支

git checkout -b 名称 创建加切换分支,git会在当前分支前加*

git merge 名称合并某分支到当前分支

git branch -d 名称 删除分支

2> 解决冲突

git status 告诉我们冲突文件

git用<<<<<<<,=======,>>>>>>>标记不同分支的内容,修改解决冲突后保存,再提交即可成功合并。

用带参数的git log 可以看见分支合并情况

git log --graph --pretty=oneline --abbrev -commmit

git stash 把当前工作区”储藏起来“,等以后恢复现场后继续工作,使用之后,当前工作区状态是干净的

3> bug分支

git stash apply 恢复工作区现场,不删除stash内容

git stash drop 手动删除stash内容

git stash pop 恢复工作区现场,同时删除stash内容

七、自定义配置

1> 标签

git tag 名称 添加新标签

git tag 查看所有标签

git show 名称 查看对应标签的详细提交信息

2> 忽略文件

git ignore

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。