当前位置: 棋牌电玩游戏平台 > 独家报道 > 正文

Sublime Text 3 配置 Git 环境

时间:2019-08-20 01:46来源:独家报道
  本文主要介绍如何在 Sublime Text 3 搭建 Git 环境,关于这两者,就不多加介绍了,懂者自懂。我会从头开始搭建并连接 GitHub 远程仓库进行简单的代码提交更新等操作。 GitHub的是版本控

 

本文主要介绍如何在 Sublime Text 3 搭建 Git 环境,关于这两者,就不多加介绍了,懂者自懂。我会从头开始搭建并连接 GitHub 远程仓库进行简单的代码提交更新等操作。

GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。Git也是目前世界上最先进的分布式版本控制系统(没有之一)。最初编写用作Linux内核代码的管理。推出后,Git在其它项目中也取得了很大成功。Github目前已经有100多万的开发者,并且对于公共项目的托管免费。Github使得版本控制更加容易,多人协作编码变得简单。使用过SVN的同学应该知道,当没有网络的支持,开发者并没有办法提交已完成代码。Github支持离线提交,其实就是提交到本地仓库。每一个开发者clone下的项目代码都是一个完整的仓储,当远程或其他协作开发者代码无法恢复时,都可以方便使用本地的仓储进行恢复。当需要对代码进行分支时,其他版本控制软件在大量文件时会很慢,而Github几乎是瞬间完成这个操作,而且只需要一个命令即可。下面我们一步一步来搭建Github的环境(以windows操作系统为例)。

你是ABAP开发者?你用abapGit吗?

特别提醒:本文的操作系统为 Windows,但绝大多数步骤与 Mac 类似。

Git历史?

图片 1

Git 安装

这边提个醒,有些同学喜欢使用 GitHub 客户端,而该客户端本身就会自带 Git 版本,一般在 安装目录/GitHub/PortableGit_版本相关字符串/cmd/git.exe 中。

需要注意的是,这个 git 并不适合作为机器全局使用,因为随着 GitHub 的更新,该目录文件后面的那串字符会变动,从而会导致之前的 Git 配置失效。

建议直接去 Git 官网 下载最新版本,安装完后将 安装目录/cmd/git.exe 加入到系统环境变量 Path 中,打开 cmd 输入 git --version 命令查看一下是否安装成功。

Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linux的代码是如何管理的呢?Linus自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

看到这个问题,读者也许会想,什么是abapGit?就让我们从这个问题开始。简单地说,abapGit是一个以ABAP写成为ABAP服务的Git客户端。

Git 配置

1、安装Git(本文介绍windows上的安装,linux和Mac OS安装参看原文)

准备

1)Windows版Git下载,然后全部点击下一步安装。安装完成后,在开始菜单里找到Git->Git Bash,如下图就说明Git安装成功!

图片 2

2)GitHub官网申请一个账号

开始操作:

1)Git安装完成后,配置你的名字和Email地址。

1
2
3
$ git config --global user.name "Your Name"
 
$ git config --global user.email "email@example.com"

 

图片 3

注:git config命令的--global参数,表示本机所有的Git仓库都会使用这个配置,也可以对某个仓库指定不同的用户名和Email地址。

 

有的读者可能依然感到困惑:什么是Git呢?这可能已经超出了本文的话题范围,请移步Google进行了解..

配置全局参数

这里主要配置 用户名邮箱 以及 SSH

# 配置用户名
git config --global user.name "username"
# 配置邮箱
git config --global user.email "username@email.com"
# 生成 ssh,输完后连敲三个回车即可
ssh-keygen -t rsa

这时候去查看系统盘用户目录下(一般在 C:Users你的用户名.ssh)是否有了 .ssh 文件夹,进入会看到之前生成的 id_rsa 以及 id_rsa.pub

2、创建版本库

什么是版本库呢?

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以还原。

1)创建一个版本库非常简单,首先,创建一个空目录:

1
2
3
4
5
6
7
8
9
$ cd /d //你指定的个人盘符
 
$ mkdir learngit //创建版本库根目录
 
$ cd learngit //进入版本库目录(tab键盘补全命令)
 
$ pwd //查看当前路径
 
/d/learngit

 

图片 4

2)通过git init命令把这个目录变成Git可以管理的仓库:

1
$ git init

 图片 5

Git仓库建好了,是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,来跟踪管理版本库的,不要手动修改这个目录里面的文件。随后分布式服务器push或download都是使用master,包括对github的交互也是如此。

3)在learngit下创建一个readme.txt文件并编写两句话。

1
2
3
4
5
6
7
8
9
$touch readme.txt
 
$ vi readme.txt //进入编辑器,按i进入编辑模式,esc退出:wq强制保存
 
Git is a version control system.
 
Git is free software.
 
$cat readme.txt //查看信息

图片 6

4)用命令git add告诉Git,把文件添加到仓库:

$ git add readme.txt

5)用命令git commit告诉Git,把文件提交到仓库,-m后面输入的是本次提交的说明:

$ git commit -m "wrote a readme file"

图片 7

那么让我假设你在搜索之后已经返回了本文。Git是当代开发者的工具的基础部分,在我看来,在2017年的现在忽略它是不现实的。

连接 GitHub

这里不一定是 GitHub,根据各位同学的实际情况来连接不同的服务器,比如 OSChina码云

下面以 GitHub 为例

settings 页面的 SSH and GPG keys 栏中添加,Title 可以自定义,Key 的内容即为之前生成的 id_rsa.pub 文件内容(复制进来即可)

add_ssh_key_in_github

打开 git bash 窗口

$ ssh git@github.com
PTY allocation request failed on channel 0
Hi stephencode! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

OK,已经成功能连上 GitHub

3、修改文件

1)成功添加并提交readme.txt文件,修改readme.txt文件如下:

图片 8

运行git status命令查看当前仓库状态:

图片 9

上面的命令告诉我们,readme.txt被修改过,但还没有提交。git diff命令告诉我们readme.txt被修改的具体内容:

图片 10

 

Sublime Text 3 上安装 Git 插件

这里我假定 Sublime Text 3 已经安装了 Package Control,并且假定也会如何通过该插件来安装其他插件了。

打开 Package Control 后搜索 git 回车即可,安装完成后打开菜单栏 Preferences/Package Settings/Git/Settings - User

输入如下代码并保存

{
    "git_command": "git安装目录\Git\cmd\git.exe"
}

至此,Git 环境已搭建的差不多了


4、版本回退

1)用git log命令查看历史记录:

图片 11

如输出信息太多,可以加上--pretty=oneline参数:

$ git log --pretty=oneline

图片 12

2)把readme.txt回退到上一个版本,也就是"add distributed"的那个版本,怎么做呢?在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^。现在,我们要把当前版本"append GPL"回退到上一个版本"add distributed",就可以使用git reset命令:

图片 13

看看readme.txt的内容是不是版本add distributed:

图片 14

还可以继续回退到上一个版本wrote a readme file,我们用git log再看看现在版本库的状态:

图片 15

最新的那个版本append GPL已经看不到了!怎么办?只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL的commit id

图片 16

于是就可以指定回到未来的某个版本:

$ git reset --hard 9636c65

图片 17

再看看readme.txt的内容:

图片 18

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL:

图片 19图片 20

然后顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪。现在,你回退到了某个版本,关掉了电脑,想恢复到新版本怎么办?找不到新版本的commit id怎么办?在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:

图片 21

终于舒了口气,第二行显示append GPL的commit id是9636c65。

本文链接:

实战

5、撤销修改

1)在readme.txt中添加了一行信息:

图片 22

突然发现最后一行没有必须添加,想修改。如果用git status查看一下:

图片 23

Git会告诉你,git checkout -- file可以丢弃工作区的修改全部撤销:命令中的--很重要,没有--,就变成了"切换到另一个分支"的命令。

$ git checkout -- readme.txt

现在,看看readme.txt的文件内容:

图片 24

文件内容果然复原了。

原文标题:abapGit – so easy

场景描述

某日看到同学 Github 上维护了一个不错的开源项目(test),想要加入一起为该项目做贡献。刚好发现该项目还没有添加 README.md,因此要将其代码拷贝到本地并在本地新建 README.md,最后更新到远程仓库(简单起见,不考虑分支)

6、删除文件

1)删除也是一个修改操作,先添加一个新文件test.txt到Git并提交:

图片 25

你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了。这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

图片 26

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

图片 27

现在,文件就从版本库中被删除了。

 

克隆项目至本地

访问项目 test 主页面,复制其 ssh 地址

copy_repo_ssh

在本地 git bash 窗口

git clone git@github.com:stephencode/test.git 你的下载目录

7、远程仓库

读者先自己注册个GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH:

1)打开Shell(Windows下打开Git Bash),创建SSH Key:

图片 28

把邮件地址换成你自己的邮件地址,然后使用默认值即可。如果一切顺利的话,可以在用户主目录(上图标橘红色路径查找)里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

2)登陆GitHub,打开Account settings,SSH Keys页面:填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

图片 29

点"Add Key",你就应该看到已经添加的Key:

图片 30

因为GitHub需要识别出你推送的提交,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。

3)现在你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。首先,登陆GitHub,然后,在右上角找到"Create a new repo"按钮,创建一个新的仓库:

图片 31

在Repository name填入bnclearngit,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库:

图片 32

目前,在GitHub上的这个bnclearngit仓库还是空的,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

4)在本地的bnclearngit仓库下运行命令:

$ git remote add origin git@github.com:yourGitHub/bnclearngit.git

注意:把上面的yourGitHub替换成你自己的GitHub账户名。

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

5)就可以把本地库的所有内容推送到远程库上:

图片 33

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数。推送成功后,在GitHub页面中看到远程库的内容已经和本地一模一样:

图片 34

从现在起,只要本地作了提交,就可以通过命令:

$ git push origin master

本地master分支最新修改推送至GitHub,你就拥有了分布式版本库!

回到主题,abapGit是一个开源项目,它由Lars Hvam发起,基于MIT许可证。

新建并提交

Sublime Text 3 打开该项目,新建 README.md 在项目根目录

Ctrl Shift P 调起命令面板,输入 ga,选择 Git::Add Current File,将 README.md 文件提交至暂存区

git_add

Ctrl Shift P 调起命令面板,输入 gc,选择 Git::Commit,将 README.md 文件提交至版本库,这时会弹出提交日志的文件,首行输入此次更新的内容和目的,关闭该文件即可

git_commit

git_commit_message

Ctrl Shift P 调起命令面板,输入 gp,选择 Git::Push,将 README.md 文件提交至远程版本库,在后台面板也能看到已成功同步到远程仓库

git_commit_message

git_commit_message


首发于个人博客 StephenCode

同步在:

知乎专栏:黑白之间

简书专题:黑白之间

SegmentFault 专栏:黑白之间

微信公众号:黒白之间

wechat.jpg

8、远程仓库克隆

这个也是非常重要的,你既可以clone自己的项目到本地,也可以在github上把有用的项目Fork到你的仓库里面,然后clone到本地,下来看看我们是怎么做的吧!

clone你自己项目到本地:现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:本示例clone自己仓库已经存在的OracleCluster

图片 35

$ git clone git@github.com:yougithub/OracleCluste

图片 36

clone其他人源码,首先选中项目Fore,后面步骤就是本地clone啦

在本文撰写时,abapGit项目已经有30位贡献者,过去5个月中有超过500次commit,可见它是一个活跃而有生气的项目。也许看完本文后,你也会希望成为其中的一名贡献者,让项目变得更加壮大和优秀。

9、版本号管理

1)敲命令git tag <name>就可以打一个新标签:

$ git tag v1.0

可以用命令git tag查看所有标签:

图片 37

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,怎么办?方法是找到历史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit

图片 38比方说要对append GPL这次提交打标签,它对应的commit id是9636c65:

$ git tag v0.99636c65

再用命令git tag查看标签:

图片 39

注意:标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

图片 40

可以看到,v0.9确实打在append GPL这次提交上。还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released"9636c65

用命令git show <tagname>可以看到说明文字:

$ git show v0.1

图片 41

如果标签打错了,也可以删除:

$ git tag -d v0.1

图片 42

因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin <tagname>:

$ git push origin v1.0

图片 43

或者,一次性推送全部尚未推送到远程的本地标签:

$ git push origin --tags

图片 44

如果标签已经推送到远程,删除远程标签就麻烦一点,先从本地删除:

$ git tag -d v0.9

图片 45

然后,从远程删除。删除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9

图片 46

要看看是否真的从远程库删除了标签,可以登陆GitHub查看。

图片 47

图片 48

编辑:独家报道 本文来源:Sublime Text 3 配置 Git 环境

关键词: 企业信息化 SAP abap 开发工具