技能篇之GIT使用

技能篇之GIT使用

目录

GIT的安装

linux下安装
首先试一下git,如出现下面的代码这证明你的机器已经安装了GIT;

$git
usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

如果出现下面的提示,则说明你的机器没有安装GIT;

$git
The program 'git' is currently not installed. You can install it by typing:

如果你用的是Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。

$sudo apt-get install git

安装完成之后,可以通过git version,查看你的git版本

$git version
git version 2.14.1

windows下安装
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
安装完成之后,在桌面上点击右键,可以找到Git GUI Here和Git Bash Here,选择Git Bash Here,即可弹出git的操作窗口(在当前目录下)

这里写图片描述

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

GIT仓库管理

创建本地仓库

只需在你想要的目录下面执行下面的命令即可;

$git init
Initialized empty Git repository in /home/git_ku/.git/

创建完成之后,会生成一个.git的文件,这样就完成仓库的创建。

创建远程仓库

在github或者gitlab上建立远程仓库,则需登录它们的网站建立;
此处以gitlab为例,你只需在你的project上,点击New project,根据步骤完成就可以了;

创建远程仓库

填写项目相关信息

项目创建完成

这里创建了一个test_project的空项目,你可以通过ssh或HTTP地址去拉取的项目代码

Github或Gitlab的基本使用ssh-key的客户端配置

这里以Gitlab为例,Github和Gitlab类似:

linux下的ssh-key配置(windows类似)

1、生成Key

$ssh-keygen -t -rsa -C "邮箱地址" 

2、进入.ssh目录下复制你的id_rsa.pub的公钥

$cd ~/.ssh/

这里写图片描述

3、复制id_rsa.pub的公钥到Github
这里写图片描述

这里写图片描述

配置多个SSH

1、在.ssh目录目录下新建config配置(如有直接更改配置)

$cd ~/.ssh/
$vim config

2、新增配置,添加Host/HostName/User/IdentityFile
Host Gitlab的地址
HostName Gitlab的地址
User Gitlab的用户名
IdentityFile id_rsa的路径

多账号直接复制上面配置就可以新增多个(注意id_rsa、id_rsa_pub文件名唯一);

GIT拉取推送操作

克隆项目

命令:git clone 你的git地址;

$git clone ssh://git@gitlab/test/test_project.git

推送文件

$git add 文件名
$git commit -m "新增测试文件"
$git push

当git add 后面加点(.)时,可以一次推送当前目录下所有修改或新增的文件

拉取项目代码

$git pull

查看是否有需要git处理的操作

$git status
On branch test_branch
nothing to commit, working tree clean

GIT分支操作

创建分支

查看本地分支:

$git branch

查看远程分支:

$git branch -a

创建本地分支:

$git checkout -b test_branch
Switched to a new branch 'test_branch'

提交本地分支到远程

$git add 文件名
$git commit -m "新增测试文件"
$git push --set-upstream origin test_branch

删除分支

删除分支不能在本分支上操作,需要切换到其他分支上进行操作
本地删除分支:

$git branch -d test_branch
warning: deleting branch 'test_branch' that has been merged to
         'refs/remotes/origin/test_branch', but not yet merged to HEAD.
Deleted branch test_branch (was 9d90619)

删除远程分支:

$git branch -r -d origin/test_branch
Deleted remote-tracking branch origin/test_branch (was 9d90619).
$git push origin :test_branch
To ssh://gitlab/test/test_project.git
 - [deleted]         test_branch

删除远程分支时,执行删除命令之后,需要推送到远程,推送时,origin和冒号(:)之间有一个空格( )需要注意添加。

合并分支

合并分支,使用“git merge 分支名”命令,意思是合并分支到当前分支上:

$git merge test_branch

解决合并冲突

当合并时产生冲突时,需要自己去解决冲突

<<<<<<< HEAD
Creating a new branch is 冲突。
=======
Creating a new branch is merge冲突.
>>>>>>> feature1

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存,再推送到远程即可

Creating a new branch is merge冲突.

GIT版本操作

版本回退

1、版本回退,“git reset –hard HEAD^”,每加一个“^”回退一个版本;

$git reset --hard HEAD^
HEAD is now at 87c8a80 修改文件

2、版本回退,“git reset –hard HEAD~10”,后面的数字表示回退到上多少个版本;

$git reset --hard HEAD~10

3、回退到指定版本,可以用“git reflog”查找版本编号,然后用“git reset –hard 87c8a80”,回退到指定版本;

$git reflog 
70af2eb (HEAD -> master) HEAD@{0}: reset: moving to HEAD~2
87c8a80 HEAD@{1}: reset: moving to HEAD^
083d6b3 (origin/test_branch, origin/master, origin/HEAD, test_branch) HEAD@{2}: checkout: moving from te_branch1 to master
9d90619 HEAD@{3}: checkout: moving from master to te_branch1
083d6b3 (origin/test_branch, origin/master, origin/HEAD, test_branch) HEAD@{4}: checkout: moving from te_branch1 to master
$git reset --hard 87c8a80

猜你喜欢

转载自blog.csdn.net/you297043284/article/details/81383240
今日推荐