git及Gitlab使用

历史

你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

  • 2005年Linux的创始人Linus用两周时间用c写的开源免费的分布式管理系统。

基本使用

安装

clone

git clone 

复制远程仓库到本地仓库,一般一个仓库只用一次

add

git add .

git暂存区,介于版本库和工作目录的中间

commit

git commit -m ""

push

git push origin master

进阶使用

branch

git branch
## 切换分支
git checkout -b new branch

merge

git merge

git合并到主分支

rebase

git rebase -i <commit-hash>

squash

git rebase --continue

git push -f origin <branch-name>

rm

git rm --cached file-name

Gitlab及分支管理

生成非对称加密密钥

git config --global user.name 'gxhao'  
git config --global user.email '1625546088@qq.com'
# 生成密钥(注意设置git账号密码
ssh-keygen -t rsa -C '1625546088@qq.com'
# 检测是否配置成功
 ssh -T git@github.com

主分支、dev分支、代码审查、ci/cd

gui学习git