macOS&&GoLand-GoLand集成Git\GitHub应用
git基本应用
git介绍
git是继SVN之后的版本管理系统,由Linux内核开发者Linus Benedict Torvalds大神开发。
和SVN集中式管理不同的是,Git是分布式版本管理系统,每个本地客户端都有一个完整的版本管理,减少远程Git服务器版本的依赖。目前在企业中使用的Git主要是GitHub和GitLab,它们两者的区别是GitHub主要用于开源项目,而Gitlab主要使用公司内部项目(非开源)。
国内的Gitee也可以用于托管开源项目。
macOS安装git
无论你是想使用Gitlab或者是GitHub,首先得在本地安装git客户端。
首先我们可以去git官网下载最新版本的客户端,目前最新版本是2.24.1。
由于git客户端是托管在sourceforge站点,在国内下载的速度可能会比较慢。
可以将下载链接复制到迅雷中下载。
下载完成后双击git-2.23.0-intel-universal-mavericks.dmg文件
然后在双击git-2.23.0-intel-universal-mavericks.pkg文件开始安装git
git配置
在使用git之前还需要配置用户名和邮箱,那样在提交代码时可以看到提交人的名字和邮箱。使用git config 命令配置即可。
liuguangleideMacBook-Pro:~ liuguanglei$ git config --global user.name "liuguanglei"
liuguangleideMacBook-Pro:~ liuguanglei$ git config --global user.email "[email protected]"
GoLand开发Go程序
GoLand配置Go文件模板
在开发Go程序之前首先配置统一格式的文件模板。
在启动GoLand后,找到Configure->Preferences菜单
然后在搜索框中输入File and Code Templates
然后选择Go File和Go Application,并配置文件模板
package ${GO_PACKAGE_NAME}
/*
@author liuguanglei [email protected]
@wechat 18601767221
@version ${DATE} ${TIME}
@since Go1.13.5
*/
Go File配置文件模板
Go Application配置文件模板
配置完成后点击Apply和OK
GoLand创建项目
在启动GoLand后,选择New Project
然后设置GOROOT和项目名(go-core)
本地先提前安装好Go1.13.5
Go语版HelloWorld实现
在创建源文件前。首先创建目录net/ittimeline/go/core/foundational/object
然后在net/ittimeline/go/core/foundational/object目录下面创建Go File
基于Simple Application的helloworld.go
由于之前在Go File和Go Application中配置文件模板,这里会自动生成之前在文件模板中配置的内容
然后在源文件helloworld.go中编写
package main
import "fmt"
/*
我的第一个Go应用程序
@author liuguanglei [email protected]
@wechat 18601767221
@version 2019/12/31 12:47 上午
@since Go1.13.5
*/
func main() {
fmt.Println("macOS10.15.2&&Go1.13.5&&GoLand2019.3.1 Hello World")
}
然后鼠标右键,点击Run go build helloworld 运行程序
此时会调用go build命令编译生成helloworld
GoLand ignore插件应用
在将项目go-core上传至GitHub之前,还需要集成ignore插件,用于过滤项目中那些不需要提交至GitHub的文件。
首先使用快捷键Command+,进入Preferences,然后在搜索栏中搜索Plugins,找到Plugins菜单,然后在Marketplace中输入ignore,找到并安装ignore插件。
当点击Install和Accept后GoLand会自动下载和安装ignore,安装完成之后根据提示重启GoLand
当重启之后选中项目go-core,然后New-> .ignore file->.gitignore file(Git)
然后选择基于Go语言的模板生成.gitignore文件
然后在GoLand中的内置终端上使用ls -al
命令查看目录列表,发现go-core项目目录下有个.idea目录,这个是GoLand自动生成的,在提交文件时应该忽略该目录。
因此我们需要把.idea目录添加到.gitignore文件中,因此.gitignore文件内容如下
# Created by .ignore support plugin (hsz.mobi)
### Go template
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
.idea
后期在开发中如果想隐藏被忽略的文件或者目录,只需要选中项目go-core,然后鼠标右击Hide
ignore files即可。当隐藏后菜单自动变为Show ignore files。
也可以选中某个文件或者目录,添加到.gitignore文件中
GoLand集成GitHub
首先在GoLand中使用快捷键Command+,进入Preferences,然后搜索Gitub
然后输入账号和密码登录GitHub
登录成功
GoLand 上传go-core至github
前提条件是本地安装了git客户端
并且之前已经注册号了GitHub账号
而且GoLand中已经登录了GitHub账号
在将项目go-core提交到GitHub之前,首先需要在根目录创建一个README.md文件.
README.md文件用于描述项目,几乎所有流行的开源项目都会有这个文件。
本次提交只会在README.md文件中描述涉及到的开发环境说明。
然后找到该文件在磁盘的目录
使用markdown编辑器typora编辑内容
在GoLand中上传go-core至github前,需要确保Github远程仓库中不存在该仓库,然后
点击菜单栏VCS->Import into version control->Share Project on GitHub
此时GoLand会连接GitHub,GitHub服务端会验证账号信息
账号通过之后。填写项目说明
然后点击Share
然后选择首次提交的文件列表以及提交说明
由于有了.ignore文件,.idea目录提交时被忽略了。
此时GoLand会借助本地的Git客户端将go-core推送到远程的GitHub,默认分支是master,如果推送成功,右下角会看到提示信息。
同时也可以通过浏览器访问GitHub,登录账号查看之前推送的go-core项目
Git在GoLand中的应用
在GoLand中使用Git特别的方便,GoLand提供了Git菜单列表
和Git视图来完成Git的日常常用操作
如果你熟悉git命令的使用,那么这里的菜单对你来说是如虎添翼。
当新建hellodate.go文件时,git会提示是否自动添加到Git的流程管理下
这里勾选Remeber,don't ask agin。
package main
import (
"fmt"
"time"
)
/*
使用Go语言API获取系统当前日期
@author liuguanglei [email protected]
@wechat 18601767221
@version 2019/12/31 12:53 上午
@since Go1.13.5
*/
func main() {
//格式化显示当前日期
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
}
如果想要将hello_date.go提交到GitHub,可以使用快捷键Command+k提交,提交代码前编写本次本次修改的内容。
然后点击右下角的Commit and Push 即可推送到远程的GitHub。
在推送GitHub之前还需要选择推送的分支,因为-core只有一个分支,因此推送至master即可。
在GoLand提供的git视图中可以查看到提交记录
还可以从GitHub中查看提交记录
企业项目开发中开发通常都会针对不同的环境(开发环境、测试环境、线上环境)建立不同的分支,同时项目的开发通常是多个开发人员同时进行的,因此还会涉及到团队协同的操作,等到系统学习Git时再细聊吧。