【4858.com】小白眼中的git操作,小白眼中git操作

By admin in 4858.com on 2019年4月8日

在git的上学进度中,走了许多弯路,现在也总算对git有了最先的认识。

小白眼中的git操作,小白眼中git操作

在git的学习进度中,走了很多弯路,今后也好不不难对git有了起初的认识。

在类型中,小编动用的授命:

 

1.git clone ******    备注:***意味着GitLab上的档次地址。 
这句话的情致是:把项目从GitLab克隆到地面。

二.git add .    添加文件到暂存区

三.git commit  把暂存区的文书提交到地面仓库

四.git pull 把远程仓库的代码拉到本地仓库

五.git push 把当地仓库的代码推到远程仓库

其一是自笔者在工作中不出意外的情状下所用到的git命令,当然还有更加多更高级的命令,小杨以后再享受。

在git的读书进度中,走了诸多弯路,将来也毕竟对git有了伊始的认识。
在类型中,笔者使用的命令:…

4858.com 1

GitLab版本管理工科具,gitlab版本工具

在项目中,作者动用的一声令下:

01 认识Git、GitHub和GitLab

Git是日前比较盛行,成效强大的本子管理器,它一定于svn之类的版本管理工科具。
GitHub是2个用来托管工程项目标网址,通过Git提交代码至GitHub进行托管。
GitLab是1个用来仓库管理类其余开源项目,使用Git作为代码管理工科具,并在此基础上搭建起来的web服务。

第1章 GitLab管理

 

02 Git安装

从Git官网下载for window的安装程序
下载地址,依据安装表达进行安装,一路next即可。安装到位后,在伊始菜单里找到“Git”->“Git
Bash”,跳出三个近似命令行的窗口,就证实Git安装成功!

4858.com 2

注脚安装成功

一.一 版本控制系统

【4858.com】小白眼中的git操作,小白眼中git操作。版本控制系统(version control
system)是记录三个或若干文件内容变更,以便未来查看特定版本修订情形的类别。版本控制系统不仅能够选用于软件源代码的文件文件,而且能够对别的项目的文书进行版本控制,广泛应用的如svn,git等

1.git clone ******    备注:***意味着GitLab上的品类地址。 
那句话的情致是:把项目从GitLab克隆到地头。

03 Git与GitLab的使用

壹、打开Git Bash命令行工具,执行命令ssh-keygen -t rsa -C
Email-Addresss生成五个密钥对。
贰、登录到GitLab,点击右上角你的用户头像,点击艾德it Profile
settings,点击SSH Keys,点击Add SSH
Key,填写Title栏,复制用户目录下.ssh/id_rsa.pub文件的剧情到Key,点击Add
Key。
3、点击右上角的New project,填写完毕后点击Create
project新建一个仓房,点击Activity,点击SSH后复制SSH边上栏里的地址。
四、打开Git Bash命令行工具,切换成3个非凡的目录,使用命令git clone
刚才复制的U酷威L克隆创立的堆栈。
五、进入目录cd 仓库名,执行命令git config –global user.email
your-email,
git config –global user.name your-name,设置你的个人新闻。
六、相关命令:
echo “#Description” > README.md,添加1个文件
git status,查看当前景色,发现有未跟踪文件
git add .,当前目录全部文件添加到暂存区
git diff,相比较当前工作区和暂存区有什么不一致
git status,查看当前气象,发现有文件未提交
git commit -m “注释”,把暂存区内容交给到地点仓库
git push -u origin master,把地面仓库的交由推送到长途仓库
git log,查看提交日志

1.二 常见版本管理工科具

2.git add .    添加文件到暂存区

04 Git与GitHub的使用

壹、打开Git Bash命令行工具,执行命令ssh-keygen -t rsa -C
Email-Addresss生成三个密钥对。

4858.com 3

变动密钥对

2、登录到GitHub,点击右上角你的用户头像,点击settings,采取“SSH and GPG
Key,点击New SSH
Keys,填写Title栏(随意填),复制用户目录下.ssh/id_rsa.pub文件的剧情到Key,点击Add
SSH Key。

4858.com 4

添加SSH Key

叁、制造仓库(Repository),点击右上角加号,选用“New
repository”,填写仓库名称(Repository
name)、描述(Description),选择Public(Private要付钱),最终多个选不选无所谓。点击下边暗红按钮create
repository,仓库就建好了。能够根据以下表明快捷利用。

4858.com 5

创立版本库.png

肆、打开存放代码的目录,比如D:\python\pyhon,右键Git Bash
here打开命令行工具,使用命令git clone 复制代码库的URAV肆L 克隆创设的仓库。

5、进入目录,执行cd 仓库名,执行以下两条命令,设置你的个人音讯。
git config –global user.email your-email
git config –global user.name your-name

4858.com 6

配备个人GitHub用户名和信箱

6、执行命令:
echo “#Description” > README.md,添加3个文本 (可粗略)
git status,查看当前景色,发现有未跟踪文件
git add .,当前目录全数文件添加到暂存区
git diff,比较当前工作区和暂存区有什么不一致
git status,查看当前场合,发现有文件未提交
git commit -m “注释”,把暂存区内容交给到地头仓库
git push -u origin master,把本地仓库的交给推送到长途仓库
git log,查看提交日志


1.2.1 SVN

集中式的版本控制系统,唯有一在那之中心数据仓库,要是主题数据仓库挂了恐怕不可访问,全体的使用者不大概利用SVN,不可能进展付出或备份文件

4858.com 7

三.git commit  把暂存区的文件提交到地点仓库

Git本地分支管理

分层的创导、合并、删除
git branch,突显全体支行
git branch b一,从近年来支行创设四个叫b壹的道岔
git checkout b1,切换到b1分支
git checkout -b b1,相当于上述两条命令的重组
git checkout master,切换到master主分支
git merge b一,把b一拨出的代码合并到master上
git branch -d b1,删除b一分层,不能在被去除分支上执行


1.2.2 Git

分布式的版本控制系统,在各类使用者电脑上就有总体的数据仓库,未有网络依旧得以采纳。为了习惯及协会协作,会将本地数据同步到Git服务器或GitHub等代码仓库

4858.com 8

 

4.git pull 把远程仓库的代码拉到本地仓库

Git远程分支管理

git branch -a ,查看到远端仓库的分层

第一章 Git软件设置

伍.git push 把地面仓库的代码推到远程仓库

二.一 配置安装GIT

Git是分布式的版本控制系统,我们假如有三个原始Git版本仓库,就能让别的主机克隆那几个原始版本仓库,从而使三个Git版本仓库可以被同时分布到区别主机上,并且每台主机的版本库都以同样的,没有先后之分

那非常的大的承接保险了数码安全性,并使得用户能够独立挑选向Git服务器推送文件

 官网: 

其1是自己在工作中不出意外的情景下所用到的git命令,当然还有越来越多越来越尖端的指令,小杨以后再享受。

2.一.一 准备条件

 1 [[email protected] ~]# rpm -qa centos-release
 2 centos-release-7-4.1708.el7.centos.x86_64
 3 [[email protected] ~]# uname -a
 4 Linux gitlab 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
 5 [[email protected] ~]# getenforce
 6 Disabled
 7 [[email protected] ~]# systemctl status firewalld.service
 8 ● firewalld.service - firewalld - dynamic firewall daemon
 9    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
10    Active: inactive (dead)
11      Docs: man:firewalld(1)

2.1.2 安装查看git

 1
[[email protected]
~]# rpm -qa git # Centos系统自带git软件,故无需安装 2git-1.捌.3.壹-11.el7.x86_64 3 4 yum install -y git
#并未有则进行设置 

2.2 初次运维Git前的安插

贰.二.一 Git全局配置

1 git config --global user.name "banana"   #配置git使用用户
2 git config --global user.email "[email protected]"   #配置git使用邮箱
3 git config --global color.ui true   #语法高亮,显示加颜色
4 git config --list   #查看全局配置

贰.2.二 查看配置文件

1 [[email protected] ~]# cat .gitconfig   #上述操作即对配置文件进行的编辑
2 [user]
3        name = banana
4        email = [email protected]
5 [color]
6        ui = true

 

第3章 GitLab使用

叁.一 开头化学工业作目录

用来存放在全部笔记代码等,在那之中目录下拥有隐身目录,存放历史记录和备份(密文存在)

1 mkdir git_data   #创建并进入本地工作目录
2 cd git_data/
3 git init   #初始化工作目录

1 [[email protected] git_data]# git status   #查看git工作区的状态信息
2 # On branch master   ->当前处于主分支
3 # Initial commit   ->最初的提交
4 nothing to commit (create/copy files and use "git add" to track)   ->无文件要提交

3.贰 创设/提交数据文件

0一.创办理文件件

 1 touch README 

02.查看git状态

1 [[email protected] git_data]# git status
2 # On branch master   ->位于分支 master
3 # Untracked files:   ->未跟踪的文件
4 # (use "git add <file>..." to include in what will be committed) ->使用"git add <file>."以包含要提交的内容
5 #     README
6 nothing added to commit but untracked files present (use "git add" to track)   ->提交为空,但是存在尚未跟踪的文件(使用"git add"建立跟踪) 注意:git默认不提交空目录

03.添加到暂存区域[add后接*/file]

 1 git add README 

04.提交暂存区域文件至git本地仓库

1 git commit -m 'first commit'  
2 # -m后接注释信息,内容关于本次提交的说明,方便自己或他人查看

0肆.一便捷方法

1 git commit -a -m "注释信息"
2 #若不加-m添加说明信息,后面会自动进入编辑模式,仍需添加说明的信息。
3 #-a表示直接添加文件(即本地仓库的原有文件后来经过改变时,我们就可以使用-a直接在仓库里面进行修改)

05.双重查看git状态

 1
[[email protected]
git_data]# git status 2 # On branch master ->位于分支master 3nothing to commit, working directory clean
->无文件要付出,干净的干活区 

叁.二.1 查看目录内容

 1 [[email protected] git_data]# tree .git/   #存储所有历史版本信息即配置文件,是通过git init生成的目录
 2 .git/
 3 ├── branches
 4 ├── config
 5 ├── description
 6 ├── HEAD
 7 ├── hooks
 8 │   ├── applypatch-msg.sample
 9 │   ├── commit-msg.sample
10 │   ├── post-update.sample
11 │   ├── pre-applypatch.sample
12 │   ├── pre-commit.sample
13 │   ├── prepare-commit-msg.sample
14 │   ├── pre-push.sample
15 │   ├── pre-rebase.sample
16 │   └── update.sample
17 ├── index
18 ├── info
19 │   └── exclude
20 ├── objects
21 │   ├── e6
22 │   │   └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391   #服务器只存储加密文件信息
23 │   ├── info
24 │   └── pack
25 └── refs
26     ├── heads
27 └── tags

小结提交数据/文件分为两步骤3区域:

在工作目录git_data创造”README”数据文件;使用git
add将文件提交到暂存区域(一时存放可收回操作);将暂存区域的公文统1交由到Git仓库中

三.二.贰 工作规律

我们得以总结的把工作目录驾驭成是一个被Git服务程序管理的目录,Git会时刻追踪目录内文件的改变。在设置好Git服务程序后,暗中认可就会创制三个master分支,可供大家平素交给数据

三.3 暂存区数据操作

三.3.一 git删除数据

  1. 未添加到暂存区的多少->直接行使rm命令删除即可

0二.已添加到暂存区的数据

 1 git rm –cached database 2
#将文件从git暂存区域的追踪列表移除,并不删除当前工作目录内的数据文件->只删除缓存
三 git rm -f database 四
#将文件数量从git暂存区和行事目录壹起删除->永久删除 

三.三.贰 git重命名数据

0一.未添加到暂存区的多寡->直接mv/rename改名即可

0二.已添加到暂存区数据

 1 git mv README NOTICE #
README修改前/NOTICE修改后;最后实行提交git仓库 二注意:也可mv修改名称→删除git仓库的文书快速照相git rm
‘*.txt’→将新的文件添加进去→提交git仓库 

3.四 历史记录数据

三.4.一 查看历史记录

1 git log   #查看提交历史记录
2 git log -2   #查看最近几条记录
3 git log -p -1   #-p显示每次提交的内容差异,例如仅查看最近一次差异
4 git log --stat -2   #--stat简要显示数据增改行数(能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息)
5 git log --pretty=oneline   #--pretty根据不同的格式展示提交的历史信息
6 git log --pretty=fuller -2   #以更详细的模式输出提交的历史记录
7 git log --pretty=fomat:"%h %cn"   #查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名

行使format参数来钦赐具体的输出格式

 1 %s     提交说明
 2 %cd    提交日期
 3 %an    作者的名字
 4 %cn    提交者的姓名
 5 %ce    提交者的电子邮件
 6 %H    提交对象的完整SHA-1哈希字串
 7 %h    提交对象的简短SHA-1哈希字串
 8 %T    树对象的完整SHA-1哈希字串
 9 %t     树对象的简短SHA-1哈希字串
10 %P    父对象的完整SHA-1哈希字串
11 %p    父对象的简短SHA-1哈希字串
12 %ad    作者的修订时间

三.四.2 还原历史记录

Git服务程序中有多个版本指针HEAD,当用户申请苏醒数据时,将HEAD指针指向到某些特定的提交版本。但Git为防止历史记录争辨用SHA-一算出十6进制的哈希字串来差距提交版本。暗许HEAD指针会指向到近期3回提交记录,上2个付出版本即HEAD^,上上3个本子即HEAD^^
(HEAD~伍简化表示往上数第多个提交版本)

 1 git reset –hard HEAD^
#卷土重来历史提交版本上壹次 2 git reset –hard 三de15d肆
#找到历史还原点的SHA-一值后,就足以过来(值未写全时系统会自行相配) 

三.四.叁 还原以后多少

即恢复生机到历史数据后想再度撤消更改,不过git log已经找不到这些版本了

 1 git reflog #查阅以往历史更新点 

3.4.四 标签使用(于commit之后)

1 git tag v1.0     #当前提交内容打一个标签(方便快速回滚),每次提交都可以打个tag
2 git tag          #查看当前所有的标签
3 git show v1.0   #查看当前1.0版本的详细信息
4 git tag v1.2 -m "version 1.2 release is test"
5 #对当前版本(最新)打标记,用于commit提交之后接着进行打标记(-a指定标签名,-m为说明信息)
6 git tag -d v1.0    #我们为同一个提交版本设置了两次标签,删除之前的v1.0

1 [[email protected] git_data]# git reset --hard 0bdf2e7
2 HEAD is now at 0bdf2e7 modified README file
3 [[email protected] git_data]# git reset --hard V20171130
4 HEAD is now at a66370a add oldboy dir

三.伍 分支管理

在其实的类型支付中尽量确定保证master分支稳定,仅用于公布新本子,平常毫无直接修改里面包车型地铁数据文件。而付出都在dev分支进行改动,即每个人从dev分支创立和谐个人分支,开发完合并到dev分支,最终合并到master分支

三.五.一 创立分支

1 git branch linux   #创建分支
2 git branch        #查看分支情况,当前分支前有*号
3 git checkout linux  #Switched to branch 'linux' 切换分支
4 git checkout --<file>  #一键还原,直接将git仓库的文件覆盖当前文件[危险]

三.五.二 合并分支(自动合并)

急需:把linux的工作成果合并到master分支上

 1 git checkout master #切换到master分支 2
git merge linux #合并Linux分支至master 3 git branch -d linux
#肯定合并完结后,提出删除分支 

留神:系统暗中同意不编辑空分支

3.5.三 合并争辩模拟(手动合并)

留意:唯有同目录同文件同行才会促成合并争执的气象,只要有有些不等就可见进行合并

01.准备:

1 cd git_data
2 echo 'master code' >>README
3 git commit -a -m 'this master branch commit'
4 git checkout linux
5 cat README
6 
7 echo 'linux code' >>README
8 git commit -a -m 'this linux branch second commit'
9 git checkout master

02.现象:

1 [[email protected] git_data]# git merge linux
2 Auto-merging README   ->自动合并 README
3 CONFLICT (content):Merge conflict in README   ->冲突(内容):合并冲突于 READM
4 Automatic merge failed; fix conflicts and then commit the result.
5 ->自动合并失败;修正冲突然后提交修正的结果

0叁.缓解:人工采纳想要的内容,同时修改master和linux分支同文件并付出,最终merge

1 [[email protected] git_data]# vim README
2 this is linux branch hello world
3 master code
4 linux code
5 [[email protected] git_data]# git commit -a -m '解决合并冲突'
6 [master 19cb918] 解决合并冲突
7 [[email protected] git_data]# git merge linux
8 Already up-to-date.

叁.6 删除分支

由于事先已统一了linux分支,故未来观望它在列表中,在那么些列表中拨盛名字前没*号的道岔常常可用git
branch -d删除且不会失掉任吴双西

1 [[email protected] git_data]# git branch --no-merged   #查看所有包含未合并工作的分支
2   testing
3 [[email protected] git_data]# git branch -d testing   ->删除分支
4 error: The branch 'testing' is not fully merged.   ->分支'testing'未进行合并
5 If you are sure you want to delete it, run 'git branch -D testing'.   ->若确定想删除它,即使用-D强制删除

 

第陆章 客户端安装软件

 1软件下载地址 

4.1 windows上安装Git

用来直接管理windows。安装方式默认下一步→桌面右键”Git Bash Here”→命令行

 1 [email protected] MINGW64 ~/Desktop
 2 $ pwd
 3 /c/Users/shine/Desktop
 4 [email protected] MINGW64 ~/Desktop
 5 $ mkdir git_data
 6 [email protected] MINGW64 ~/Desktop
 7 $ cd git_data
 8 [email protected] MINGW64 ~/Desktop/git_data
 9 $ git init
10 Initialized empty Git repository in C:/Users/shine/Desktop/git_data/.git/

01.桌面右键”Git Gui Here”→”打开文件”

4858.com 9

4858.com,0二.概念仓库的路线”git_data”→添加用户信息(如下)

1 [email protected] MINGW64 ~/Desktop/git_data
2 $ git config  --global user.email "[email protected]"
3 [email protected] MINGW64 ~/Desktop/git_data
4 $ git config  --global user.name "banana"

0三.软件应用

于今,Git的装置使用到位

4.2 linux上安装GitLab

交互数据:

• 使用GitHub恐怕码云等集体代码仓库

• 使用GitLab私有仓库

 一 官方安装文书档案
二 国内软件镜像站
 

1 mkdir -p /application/tools
2 cd /application/tools
3 rz -E   #上传gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm
4 
5 yum localinstall gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm
6 gitlab-ctl reconfigure   #初始化,仅执行一次
7 注意:gitlab默认开机自启,无需修改;开机不自启会导致软件服务无法启动

4.贰.一 web网页测试

 1  

命令行测试:

 1 ps -ef 贰 netstat -lntup 三 gitlab-ctl
status 四注意:软件安装默许在/opt下,其数据库为postgresql;当该机器有apache服务需手动关闭 

 4858.com 10

专注:创设密码私下认可即为柒人,生产条件太过简短不可用;账户私下认可root

提醒:git自己并未有任何权力决定,因为git正是为着开发者共同编辑代码而产出,假若未有权限,也会促成消息走漏,于是出现web界面

四.贰.2 网页页面使用

0壹.创设新类型

表达:二个索引起始化完就是1个品种,不能够再展开修改,只好进展双重创制

 4858.com 11

02.展开网页编辑

 4858.com 12

0三.透过密钥进行认证

 4858.com 13

 1 ssh-keygen #变更密钥对(一路回车) 二 cat
/root/.ssh/id_rsa.pub #翻开公钥id_rsa.pub值并加上如下: 

 4858.com 14

0四.老是推送测试

1 ssh [email protected]10.0.0.63
2 git clone [email protected]10.0.0.63:root/shine.git
3 ls /root
4 #在哪个目录克隆的就默认存在于那个目录(想切换到别的目录需提前切换再git clone)

 

1 cd shine   #这里名称与上文相同
2 touch README.md
3 git add README.md
4 git commit -m "add README"

1 [[email protected] shine]# git push -u origin master   #把本地代码向远端仓库(gitlab网页)推送
2 Counting objects: 3, done.
3 Writing objects: 100% (3/3), 208 bytes | 0 bytes/s, done.
4 Total 3 (delta 0), reused 0 (delta 0)
5 To [email protected]10.0.0.63:root/shine.git
6  * [new branch]      master -> master
7 Branch master set up to track remote branch master from origin.

刷新页面查看,即下图

4858.com 15

0五.创制文件测试

 1 cd shine/ 2 git pull
#将代码拉取到地面(需求在git的工作目录中开始展览操作) 

 

迄今,GitLab的安装使用完了

四.三 安装GitHub托管服务

Github是Git版本库的托管服务,是最近整个世界最大的公网仓库,拥有上百万的开发者用户,也是软件开发和查找财富的顶级途径。不仅能够托管各个Git版本仓库,还具有更美貌的Web界面。代码可被任哪个人克隆,使开发者为开源项进献代码变得简单

01.注册GitHub

 1浏览器访问github官网 

4858.com 16

0二.填写个人用户名等音讯→私下认可下一步→跳过描述

0叁.创造项目

4858.com 17

声明:成立新的体系事先要现验证邮箱

04.添加git服务器上变化的公钥id_rsa.pub

 1
[[email protected]
~]# cat .ssh/id_rsa.pub 

 4858.com 18

05.备选干活早已甘休→创设2个新的仓库

 4858.com 19

0陆.基于以下新闻创建代码仓库→推送测试

 4858.com 20

1 mkdir -p banana
2 cd banana/
3 echo "# test" >> README.md
4 git init
5 git add README.md
6 git commit -m "first commit"
7 git remote add origin [email protected]:banana-tong/test.git

 推送测试

 1 [[email protected] banana]# git push -u origin master
 2 The authenticity of host 'github.com (192.30.255.113)' can't be established.
 3 RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
 4 RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
 5 Are you sure you want to continue connecting (yes/no)? yes
 6 Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
 7 Counting objects: 3, done.
 8 Writing objects: 100% (3/3), 209 bytes | 0 bytes/s, done.
 9 Total 3 (delta 0), reused 0 (delta 0)
10 To [email protected]:banana-tong/test.git
11  * [new branch]      master -> master
12 Branch master set up to track remote branch master from origin.

0七.刷新界面即能够发现推送上去的README.md文件

 4858.com 21

0捌.此时可创设新文件→命令行git pull拉取进行测试

由来,GitHub的装置使用形成

 

第四章 有关Git常用命令

 1 add        #添加文件内容至索引
 2 branch     #列出、创建或删除分支
 3 checkout   #检出一个分支或路径到工作区
 4 clone      #克隆一个版本库到一个新目录
 5 commit    #记录变更到版本库
 6 init        #创建一个空的 Git 版本库或重新初始化一个已存在的版本库
 7 log        #显示提交日志
 8 merge     #合并两个或更多开发历史
 9 mv        #移动或重命名一个文件、目录或符号链接
10 pull       #获取并合并另外的版本库或一个本地分支
11 push      #更新远程引用和相关的对象
12 rm        #从工作区和索引中删除文件
13 show     #显示各种类型的对象
14 status     #显示工作区状态
15 tag       #创建、列出、删除或校验一个GPG签名的 tag 对象

下节想跟大家一块儿切磋一下有关代码上线难题,如有不妥望海涵

 

此笔记是自身学习摘记整理而成,此为初稿(尚有诸多不到家之处),原创小说允许转发,转发时请务必以超链接格局表明作品原来出处,我消息和本评释,不然将探索法律权利。

此处感激神奇海螺为本文章提供的宣示

第叁章
GitLab管理 一.一 版本控制系统 版本决定种类(version control
system)是记录一个或若干文书内容变更,以便…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有