Git常用命令:
-
创建你的账号和邮箱
git config --global user.name
git config --global user.email
cat .gitconfig -
初始化git
git init -
从本地目录添加到暂存区
git add .
git add * -
从暂存区添加到本地仓库
git commit -m "描述文字" -
修改文件名
git mv a a.txt -
删除文件名
git rm -f 文件名 -
查看本地目录和暂存的区别
git diff a -
查看暂存和本地仓库的区别
git diff --cached a -
查看历史快照
git log
git log --oneline --decorate
git reflog 更详细的快照 -
从暂存回退到本地目录
git checkout -- a -
从本地仓库回退到暂存区
git reset HEAD a -
回退到特定快照
git reset --hard
Git分支(轻量级的分支)
Git的分支从本质上来讲是指向了提交对象的一个指针,与svn有本质的区别,svn的分支实际就是一个目录。
Git的默认分支是master,在每次提交之后,指向最后提交对象的master分支会自动向前移动。
干活的流程:
先创建dev分支,每个人从dev分支创建自己的分支,干完活后,第一次合并到dev分支,最后dev分支去合并到master分支。
-
创建分支
git branch testing
git branch 查看分支
-
切换分支
git checkout testing
-
创建文件并提交
-
切回原来的master分支,发现在testing分支下创建的文件在master下没有,可见是独立的。
-
再master分支下再创建一个文件
-
将testing的分支内容合并到master分支上面(一个项目一般只有一个主分支)
确保自己在主分支
git merge testing
合并成功:
-
解决冲突问题
master分支对a做修改
testing分支对a做修改
出现冲突:
冲突的内容:都做了修改
手动去解决冲突:都保留双方的修改
修改完成后成功合并
-
都提交到了master分支后,删除testing分支
git branch -d testing
Git标签使用
方便使用回滚,因为字符串又长又难记
-
创建标签(默认当前commit)
git tag -a v1.0 -
查看标签
git tag -
指定commit打标签
git tag -a v2.0 6c1c0c7
-
查看标签里面有什么信息
git show v1.0
-
回退到v2.0
git reset --hard v2.0
-
删除标签
git tag -d v2.0
GitLab的安装
1、安装依赖
yum install -y curl policycoreutils-python openssh-server
rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
2、编辑配置文件
vim /etc/gitlab/gitlab.rb
3、刷新配置文件
gitlab-ctl reconfigure