============目录===========
1.认识
2.安装
3.git常用命令
4.git目录
5.git工作流
6.gitlibs安装
7.git hooks
============目录===========
1.认识
git是分布式,去中心化,每个人都会一份(分布式账本概念)保证完整性,git每次更新的时候会记录全部文件,有变化的记录变化,没变化的记录引用。
分布式账本概念:每个人都有一本账本,支持本地记账,你的账目被人也可以看到,使用场景:比如我们捐的钱都是给红十字会,红十字在进行分发,我们看不到最终流向,但是如果使用了分布式账本,整个流程就透明啦
a)官网 https://git-scm.com/
git config –-global user.name ‘xx’
git config –-global user.email ‘xx’
ssh-keygen -t rsa -C '[email protected]'
PreferredAuthentications publickey
IdentityFile C:\Users\Administrator\.ssh\gitlab_id-rsa
PreferredAuthentications publickey
IdentityFile C:\Users\Administrator\.ssh\github_id-rsa
a)git status 没事执行一项,它会告诉你当前要做什么
b)git clone [email protected] 从远端克隆一个工程到本地
git remote add origin [email protected] 与远端建立连接
git clone [email protected] 从远端导入
git reset --hard { 要回滚的那个commitId} 本地版本回滚
git push -f origin master 强制推送
创建一个文件后文件是处于工作目录,当add之后,文件就处于工作区(工作区不是目录,是说你在进行一个操作后,文件处于哪个地方),commit之后文件就正式进入git目录
切换新分支git checkout -b dev;git checkout master
rebase 一条线概念 v3先把v4抓取下来,然后再合并生成v34~(流程上是一条线,比较清爽)
git config --global alias.ac '!git add -A && git commit -m' //add与commit合并
dev分支:所有的改动都在开发分支,开发完在对应合并到对应的分支,10个人开发不同功能则10个分支
test分支:该分支给开发与测试人员测试用,并且预防有人误操作分支,使用push -f强制覆盖更新
release分支:测试完毕后,合并到release分支进行最终测试,为什么不用test分支呢,因为test分支比较乱,测试完合并到master上线
mater:该分支不允许修改,只允许合并进来,合并之前记录tag
https://bitnami.com/stack/gitlab/virtual-machine
开源地址 https://github.com/gitlabhq/gitlabhq
下载地址 https://about.gitlab.com/downloads/#centos7
sudo yum install curl openssh-server
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
访问:直接访问安装服务器的ip即可,遇到502的时候不着急,再等一会,出现登录页面的时候代表成功
Client side 客户端,比如在commit前做一些检查,冲突检查等
Server side 服务端,比如在提交的时候自动触发jekins,发布项目