git常见命令
全局配置git
首先配置全局的用户名和邮箱
git config --global user.name "username"
git config --global user.email "eamil"
git config --global core.autocrlf false
git config --global
的意思就是设置当前用户范围内的配置
git config --system
对当前机器上的所有用户都生效
git config
就是对当前所在的git项目本身生效
git config --list
查看所有的配置项
git config user.name
查看某个配置项
git add --help
查看git的帮助文档
git log
查看提交日志
git log --oneline --abbrev-commit --graph
查看所有的提交备注
git reset --hard HEAD^
回退到上一个版本
git status
查看代码文件的状态
git对项目进行版本控制
首先对项目执行git init
初始化项目,会生成一个.git
目录,在.git
目录中实际上就是存储了每个代码文件的每个版本。然后执行以下命令开始对项目进行版本控制
git add --all .
git commit -m 'inital commit'
配置.gitignore文件
在版本控制的时候,有些文件是不需要进行版本控制的,比如java项目生成的target目录
vi .gitignore
在.gitignore中 添加 target
git本地仓库结构
git项目主要由三个部分组成:工作区、暂存区、版本库
工作区保存的是项目当前版本对应的所有文件
暂存区:保存了下一次要提交的文件信息
git版本库就是git用于存储自己的元数据,以及文档数据库,默认在项目的.git的隐藏目录中
在本地使用git commit --all
就会将代码先提交到暂存区,然后执行git commit -m
命令的时候就会将代码提交到版本库中
git代码状态
git中的代码文件分为两种,一种是tracked
,一种是untracked
。tracked
的文件就是已经提交到git版本库中的文件,后面可以处于modified
或者staged
状态,untracked
就是从来没有提交到git版本库的代码
当我们执行git add --all .
命令的时候,文件如果是第一次进入,则文件的状态为new file状态
然后将test.txt
提交到仓库中
然后修改test.txt的内容,此时状态为modified
此时执行git add --all .
然后执行git commit -m 'commit'
,此时状态已经提交成功
最后对于git来说,一次git add
算做一个版本,每一次执行git add
操作,都是将工作区中的所有修改的文件,作为一个新版本,放入暂存区,这个版本等待提交,通常一次git add --all .
然后就会执行一次git commit
提交到本地仓库
git log查看历史提交信息
使用git log
可以查看每次commit的信息,包括SHA-1、作者、日期、提交说明。
git log --patch -2
,--patch 可以显示每次提交之间的diff,-n可以指定显示最近的几个commit
git log --stat
,可以显示每次commit的统计信息,包括修改了几个文件,有多少行插入,多少行删除
git log --oneline --abbrev-commit --graph
,可以看到整个commit树结构,包括如何合并的,就显示每个commit的SHA-1和提交说明,同时SHA-1显示短值。通常使用这个就够了
git add,其实就是可以多次修改代码,多次git add,然后将每次修改的代码,都放入暂存区中;而git commit,就是一次性将暂存区中的代码,全部提交到master分支上,master分支会出现一个最新的commit,也就是一个最新的代码版本;而HEAD作为一个指针,永远指向master分支的最新一次commit的代码版本。
git版本控制
git reset --hard HEAD^
,可以回到上一个版本
git reset --hard HEAD~5
,退回到HEAD之前的倒数第5个commit的状态
git reset --hard da23145
,指定一个commit的hash值,回到过去的版本
GitLab安装和使用
GitLab需要的硬件配置是2核4G,GitLab可以使用可视化界面进行项目的版本控制,权限控制
GitLab安装
GitLab下载的官网是:https://about.gitlab.com/install
选择对应的版本下载,然后复制官方文档的命令就可以,安装成功后访问对应ip就可以,默认部署在80端口。进入GitLab后,重新设置root账号的密码来访问GitLab
GitLab的使用
- 使用管理员身份登录后,可以创建项目,然后创建组和用户的时候需要将项目归属到组或用户,一般一个组就是一个大的部门,一般可以设置为private私有
- 进入项目,在settings的members中设置组内其他人的访问权限
- 将自己本地生成的ssh key公式,添加到git lab中,使用开发人员的账号登录git lab,添加ssh key
- 提交到master分支需要对应的成员需要具有master权限,在后期更新的GitLab是添加MainContainer权限
- 如果其他人是第一次从gitlab中拉取代码,就需要手动将本地master分支和远程的origin/master分支进行关联
git branch --set-upstream-tp=origin/master master
gitlab的命令
- 启动gitlab:gitlab-ctl start
- 停止gitlab:gitlab-ctl stop
- 重启gitlab:gitlab-ctl restart
- gitlab日志:/var/log/gitlab
- 查看gitlab日志:gitlab-ctl tail
- 查看gitlab对应的Nginx访问日志:gitlab-ctl tail nginx/gitlab_access.log
- 查看gitlab对应的数据库postgre-sql的日志:gitlab-ctl tail postgresql
- gitlab数据存放目录:/var/opt/gitlab/git-data