Git原理与实践

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,一种是untrackedtracked的文件就是已经提交到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的使用

  1. 使用管理员身份登录后,可以创建项目,然后创建组和用户的时候需要将项目归属到组或用户,一般一个组就是一个大的部门,一般可以设置为private私有
  2. 进入项目,在settings的members中设置组内其他人的访问权限
  3. 将自己本地生成的ssh key公式,添加到git lab中,使用开发人员的账号登录git lab,添加ssh key
  4. 提交到master分支需要对应的成员需要具有master权限,在后期更新的GitLab是添加MainContainer权限
  5. 如果其他人是第一次从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
原文地址:https://www.cnblogs.com/zykBlog/p/13888368.html