为什么需要用到版本控制工具
- 开发模式
- 集成开发
- 前后端分离
- 多人协作提升工作效率
- 减少代码冗余
- 减少沟通成本
- 代码回滚
- 代码备份
- 历史代码对比
版本控制工具分类与区别
集中式版本控制
- svn
- tfs
分布式
- git
集中式:客户端与服务端需要同时在线,才可以完成增删改查 (操作型)
分布式:客户端可以先自行保存快照,在合适的环境下,提交到服务器 (命令行)
git | svn |
---|---|
1. Git 是一个分布式的版本控制工具 | 1. SVN 是集中版本控制工具 |
2.它属于第 3 代版本控制工具 | 2.它属于第 2 代版本控制工具 |
3.客户端可以在其本地系统上克隆整个存储库 | 3.版本历史记录存储在服务器端存储库中 |
4.即使离线也可以提交 | 4.只允许在线提交 |
5.Push/pull 操作更快 | 5.Push/pull 操作较慢 |
6.工程可以用 commit 自动共享 6.没有任何东西自动共享 |
|
工作流
常用命令
- git init:仓库的初始化;
- git status:查看当前仓库的状态;
- git diff:查看仓库与上次修改的内容;
- git add:将文件添加至暂存区;
- git commit:提交代码;
- git clone:克隆代码;
- git branch:查看当前分支;
- git checkout:切换当前分支;
- git log
- git pull
- git fetch
- git merge
- git push
- git config
提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?
开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。 发生冲突,在 IDE 里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。 发生冲突,也可以使用命令。
- 通过 git stash 命令,把工作区的修改提交到栈区,目的是保存工作区的修改;
- 通过 git pull 命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突;
- 通过 git stash pop 命令,把保存在栈区的修改部分合并到最新的工作空间中;
git 本地仓库和远程仓库的创建和链接
- 第一种使用方法
- 先创建一个远程仓库(也就是在 github 上创建一个远程仓库)
- 然后再通过 git clone 远程仓库的地址 克隆到本地
- 将我们写好的项目放到 clone 下来的文件夹里
- 通过 git add . ( . 点是选中所有的文件,也可以改成某个文件名只提交某一个文件)这是添加到暂时存储
- 通过 git commit -m “(这里边是描述信息)” 推送到本地仓库
- 通过 git push 将我们的项目推送到远程仓库
- 第二种使用方法
- 先创建一个远程仓库(也就是在 github 上创建一个远程仓库)
- 然后在自己电脑上创建一个文件
- 在自己创建的文件里点右键 选中 git bash here 进入命令行
- 在命令行里输入 git init 创建一个本地仓库
- 再输入 git add . 添加到暂时存储
- 再输入 git commit -m “(这里是描述信息)”推送到本地仓库
- 再输入 git remote add 自定义名 远程仓库地址 绑定本地仓库和远程仓库
- 再输入 git push 自定义名 master 添加到远程仓库
I'm so cute. Please give me money.
- Post link: https://blog.gaocaipeng.com/2020/04/15/eh12bf/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.