Git概述
Git是一个开源的分布式版本控制系统,可以有效/高速地处理从很小到非常大的项目版本管理。市场上的互联网公司几乎都使用Git来控制开发版本。
优点
- Git版本库统一放在服务器中
- 可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库
- Git中每个克隆(clone)的版本库都是平等的。可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人。
- 团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库同拉取(PULL)最新的更新
- 团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变
- 只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交
- 可以在脱离Git服务器所在网络的情况下,照常使用代码库
但是不能进行同步(PULL)和提交(PUSH)
- Git 有更多的工作模式可以选择
可以存放各种文档,图片,代码,学习资料…
缺点
- 模式上比SVN更加复杂
- 保密性差,一旦把整个库克隆下来就可以完全公开版本信息
- 学习周期相对而言比较长
Git的使用
-
Git版本:2.23.0
-
桌面右键,选择Git GUI Here
-
复制ssh链接,进行克隆
-
Source Location:git的ssh地址
-
Target Sirectory:git文件存储在本地的地址
- 检查是否克隆成功
- 在目录下添加一个新的文件,然后,右键,选择Git Bash Here
-
第一步:先拉取(PULL)文件:git pull
-
第二步:查看状态:git status
-
1:Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
2:Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
3:deleted: 文件已删除,本地删除,服务器上还没有删除.
4:renamed:
-
第三步:把新添加的test.txt文件添加到缓存区
git add + 文件
git add -u + 路径:将修改过的被跟踪代码提交缓存
git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存
例如:
git add -u vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下被跟踪的已修改过的代码提交到缓存中
git add -A vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下未被跟踪的已修改过的代码提交到缓存中
git add .
使用上面的命令将所有的修改的文件提交到缓存区
- 第四步:将文件提交到本地仓库中git commit -m “test.txt”
- 第五步:将缓存区代码推送到Git服务器 git push
常见问题
-
误将代码提交到缓存中(利用 git add 命令误将代码提交的缓存中)
解决办法:利用 git reset 命令将撤回缓存中的代码。 -
误将代码提交到本地仓库(利用 git commit 命令误将代码提交到本地仓库)
解决办法:
git reset —hard + 版本号
彻底回退到某个版本,本地的代码也会改变上一个版本内容。 -
项目目录中的删除
删除原有的目录文件(里面包含了目录中所有的文件,全部进行删除)
在gitlab中建立了一个文件夹,页面上没有删除的按钮,需进行手动删除或密码删除
git rm -r --cached <filename>(可以用命令进行删除,也可以手动操作进行删除)
git add -A
git commit -m "remove files"
git push