1.Git常用命令
本文出自于个人博客Potato Blog,欢迎访问!!!!本文原地址参考Git的使用
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git reflog | 提交到本地库 |
git reset --hard 版本号 | 版本穿梭 |
2.设置用户签名
基本语法
git config --global user.name 用户名
git config --global user.email 邮箱
说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
注意:如果使用win系统下载下来的Git,这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。
3.Git的常用基本步骤
第一次提交到远程仓库(以github为例)
git init #初始化本地库
git add 文件名1 文件名2 #将 文件名1 文件名2 添加到本地库的暂存区
git commit -m "提交的内容信息(自定义)" 文件名1 文件名2 #将 文件名1 文件名2 提价到本地库
git remote add 别名 远程仓库地址 # 添加远程仓库
git push 别名 分支 # 将 本地库 文件 提交到远程仓库
再第一次提交的过程中可能要设置签名,根据提示设置自己的信息,如下:
git config --global user.name 用户名 #这里要写你github上的用户名
git config --global user.email 邮箱 #这里要写你github上的邮箱
之后再此提交到远程仓库
git add 文件名1 文件名2
git commit -m "提交的内容信息(自定义)" 文件名
git push 别名 分支
一次性全部提交
git add .
git commit -m "提交的内容信息(自定义)"
git push 别名 分支
4.查看本地库状态
查看本地库状态使用:git status
本地库的一般有4中状态,目录文件未作任何修改、修改未添加到缓存区、已添加到缓存区但未提交、分支冲突
目录文件未作任何修改
目录文件未作任何修改,是以下的状态信息
$ git status
On branch master
nothing to commit, working tree clean
修改未添加到缓存区
修改未添加到缓存区,是以下的状态信息
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
test4.txt
nothing added to commit but untracked files present (use "git add" to track)
已添加到缓存区但未提交
已添加到缓存区但未提交,是以下的状态信息
$ git add .
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: test4.txt
分支冲突状态
$ git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: hello.txt
no changes added to commit (use "git add" and/or "git commit -a")
5.历史版本
查看历史版本
基本语法
git reflog
查看版本信息
git log
查看版本详细信息
版本穿梭
基本语法
git reset --hard 版本号
6.Git分支操作
什么是分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。简单示意图如下
分支的好处
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
分支常见操作
命令名称 | 作用 |
---|---|
git branch -v | 查看分支 |
git branch 分支名 | 创建分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 合并分支 |
git branch -d 分支名 | 删除分支 |
注意: 分支合并是站在当前分支的角度上合并的。比如想要将hot-fix分支的文件合并到master分支上,首先要进入到master分支,再使用git merge hot-fix
将hot-fix合并到master分支上
分支产生冲突
原因
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。
解决冲突
1)编辑有冲突的文件,删除特殊符号,并决定保留要使用的内容
特殊符号:“<<<<<<< HEAD” 当前分支的代码 “=======” 合并过来的代码 “>>>>>>> hot-fix”
其中 hot-fix 为要合并的分支
“<<<<<<< HEAD” 下面的代码 和 “=” 上面的代码 为当前分支的代码
“=” 下面的代码 “>>>>>>> 分支名” 上面的代码 为hot-fix分支的代码
$ cat test5.txt
<<<<<<< HEAD
tttttttttttttt
hhhhhhhhhhhhhh
master
=======
wwwwwwwwww
qqqqqqqqqq
hot-fix test
>>>>>>> hot-fix
2)添加到暂存区
git add 冲突的文件名
3)执行提交**(注意:此时使用 git commit 命令时不能带文件名)**
git commit -m "合并的提示信息"
7.远程仓库操作
命令名称 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git remote rm 别名 | 删除别名 |
git remote rename 旧名 新名 | 修改别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |
8.推送本地分支到远程仓库
基本语法
git push 别名 分支
9.克隆远程仓库到本地
基本语法
git clone 远程地址
clone 会做如下操作。1、拉取代码。2、初始化本地仓库。3、创建别名
克隆指定的分支
git clone -b 分支名 远程地址
这会自动将该分支配置为本地分支,但仍会跟踪其他分支。
git clone -b 分支名 --single-branch 远程地址
–single-branch选项允许你仅从指定的分支中获取文件而不获取其他分支。
10.GitLab的搭建
GitLab 官网地址
官网地址:https://about.gitlab.com/
安装说明:https://about.gitlab.com/installation/
GitLab 安装
GitLab 的安装过程其实是比较繁琐的,因此为了解决该问题,本次使用docker对GitLab进行安装。参考官方教程( https://docs.gitlab.com/ee/install/docker.html?_gl=115r9xec_gaMjA3MzU0NTg2OC4xNjYyODY1ODM1_ga_ENFH3X7M5Y*MTY2Mjk3MjAxOC4xMC4xLjE2NjI5NzIyMDAuMC4wLjA. )
docker-compose安装GitLab
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://服务器IP地址'
ports:
# 端口根据自己的实际情况进行开放
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m'
运行 docker compose up -d
即可安装GitLab。
当然其中很多的细节需要参考官方文档,这里不一一列举