- 协同开发工具(版本控制器)
目前应用最宽泛的就是 svn 和 git
次要作用:治理我的项目的版本,多人协同开发 - List item
-
svn 和 git 帮咱们治理我的项目
svn:集中式 git:分布式
Git
参考站点:https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000
git 是目前世界上最先进的分布式版本控制系统
### 装置 Git
初始化 git:电脑桌面右键关上 Git Bash Here 命令窗口,而后输出上面命令:
### 创立版本库
初始化版本库:在要操作的文件夹下关上 GBH 命令行窗口,执行 git init 后会生成一个 .git 文件,阐明胜利了。
【留神】:如果你应用 Windows 零碎,为了防止遇到各种莫名其妙的问题,请确保目录名(包含父目录)不蕴含中文。
### 版本库的治理:
- 把要上传的文件增加到缓存区:git add 文件全名(git add * 会把所以文件增加)
- 增加到版本库:git commit -m ‘ 正文 ’ 正文必须写
版本切换
-
查看仓库状态:git status : 查看文件是否被批改
- 批改文件之后通过 git status 查看会显示 modified(红色)—> 阐明文件未提交
- 执行 git add 文件名 之后再次通过 git status 查看会显示 modified(绿色)—> 示意提交到了缓存区,然而没有增加到版本库。最初执行 git commit -m ‘ 正文 ’ 之后再次通过 git status 查看会显示 没有可提交的
- git diff : 查看具体批改的内容:
批改代码没有执行 add 和 commit,此时通过 git diff 查看会显示出批改的内容。之后再提交到缓存区或者版本库 git diff 就不再监听。(回车认为删除)
-
历史
- git log : 查看历史提交版本(提交人,工夫,正文,版本号)
- git log –pretty=oneline : 简化版的 git log (提交版本号,正文)
- git reset –hard HEAD^:版本回退,一个 ^ 符号代表回退一个版本
- git reset –hard 版本号:不小心回退到历史版本了,然而忽然又不想回去了,执行这个命令
-
工作区 和 暂存区(缓存区)
工作区:以后写的代码的目录 缓存区:git add 增加到缓存区 版本库:git commit 增加到版本库
【留神】:能够屡次 add 一次性 commit(能够屡次通过 add 增加到缓存区,而后执行一次 commit 提交到版本库)
-
治理批改与撤销
1. 单纯批改了文件,没有 add 也没有 commit git checkout -- 文件名 撤销刚刚的操作,撤销到提交的最初一个版本 2. 批改了文件,并且执行了 add,然而没有 commit:先撤回 add 的操作:git reset HEAD 文件名 再撤回文件批改:git checkout -- 文件名 3. 批改了文件,执行了 add 和 commit : 此时只能执行版本回退了 git reset --hard HEAD^
-
删除文件
1. 删除本地文件(add 了然而没有 commit):rm 文件名 2. 删除仓库文件(add 了并且 commit):rm 文件名 git rm 文件名 git commit -m '删除了 xx 文件' 3. 撤销删除(撤销的前提是缓存区或者版本库存在,只是本地没了;如果缓存区或版本库没有则无奈复原) 1. 创立一个文件之后,提交到缓存区或版本库,此时如果通过 rm 文件名 将本地文件删除之后又想复原文件,则能够通过执行 git checkout -- 文件名 命令。2. 创立一个文件之后,此时如果通过 rm 文件名 将本地文件删除之后又想复原文件,则无奈复原。
分支治理:
-
分支目前在应用过程中次要有两种形式:
1. 子分支作为每个人的开发分支,目标是防止影响主分支及别人 2. 子分支也能够做为一个规范的版本进行存储
例子:github 上 swiper:2.x 3.x 4.x 都是子分支
-
创立并切换到子分支:git checkout -b(branch 的简写) 分支名
· 子分支就是复制了一份主分支的内容,开拓了一个新的空间进行存储,此空间就是子分支
-
切换到主分支:git checkout master(在子分支批改代码后增加到缓存区并且提交到版本库,而后切换到主分支再查看代码会发现代码并没有批改,每个分支互不影响)
-
合并分支:git merge 子分支名(前提必须先切换到主分支,再执行合并子分支命令)
-
删除子分支:git branch -d 分支名
-
查看分支:git branch(右边有一个 * 号,指以后)
- 创立子分支:git branch 子分支名
分支抵触解决:
版本库只能存在一个版本
版本抵触的本质就是同时操作一个文件
解决办法 :
- 抉择保留单方更改
- 手动解决抵触,合并两个人版本,而后删除不要局部,最初 add 到缓存区,commit 到版本库
- 为了防止抵触,大家还是要防止操作同一个文件