1.Git、GitHub、GitLab介绍:
Git: 版本控制系统(Version Control System, VCS),是一种记录若干个文件内容的变化,以便将来查阅特定版本修订情况的系统(可以随便回到记录的某个时刻)。
GitHub: 面向开源及私有软件项目的托管平台,即在线代码仓库,可以帮助程序员之间相互交流学习
GitLab: 用于在线代码仓库管理,具备完善的管理界面和权限控制,适用于企业内部(可以看作是私人版GitHub)
Git介绍补充:
Git存在Workspace(工作区), 就是本地电脑可以看到的目录;Index/Stage(暂存区), 一般存放在.git目录下的index文件中,也称索引; Repository(仓库区或本地仓库), 就是工作区中隐藏目录.git;Remote(远程仓库)
Git基本工作流程:
a.在工作区中修改文件;
b.将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区;
c.提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录
d.若要提交至remote repository还需要使用push
文件的四种状态:
Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库中,不参与版本控制,通过git add命令 ,状态会变为Staged。
Unmodify:文件已入库,未修改,即版本库中的文件快照与文件夹中的内容完全一致,这种类型的文件有两种去处,如果它被修改,则变为Modified;若使用git rm命令移出版本库,则变为Untracked。
Modified:文件已修改,仅仅是修改而不含其它操作,这个文件有两个去处,通过git add命令可进入暂存Staged状态,使用git checkout命令则丢弃修改,返回至Unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改。
Staged:暂存状态,执行git commit命令将修改同步至库中,这时库中的文件和本地的文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified。
局部范围内忽略文件:
某些模块中的内容是不需要上传的,例如临时文件、配置文件、生成文件等,则需要在目录中创建一个.gitignore文件(属于局部范围内有效的忽略文件),只对某一级目录下的文件有效,编辑内容格式如下:
target //忽略这个target目录
angular.json //忽略这个angular.json文件
log/* //忽略log下的所有文件
css/*.css //忽略