This is a creation in Article, where the information may have evolved or changed.
Recent research using the go language to manipulate git, in addition to go directly to the command line with the os/exec
package, you can also use libgit2
the go binding git2go
operation.
But libgit2
is the C language library, go uses cgo
the connection C program, needs cgo
the support. In short, the process is complicated, fell all the way.
Installing GCC and Pkg-config
The first is the installation gcc
and pkg-config
(CGO dependent). The GCC compiler recommends using the TDM-GCC to install directly, easy and quick, note do not use the green version of the installation version. pkg-config
can be found in GNOME's official library. pkg-config
installation needs to be downloaded at the same time:
Http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.ziphttp://ftp.gnome.org/pub /gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.ziphttp://ftp.gnome.org/pub/gnome/binaries /win32/glib/2.28/glib_2.28.8-1_win32.zip
Copy all EXE and DLLs from the bin directory in several zip packages to the GCC bin directory.
gcc compiler libgit2
Libgit2 is a pure C implementation of the GIT core development package that can be easily ported and embedded into other applications. The website also offers its bindings to various languages, such as the git2go of the Go language.
Golang compiling git2go on a Mac is easy:
Brew Install Libgit2go get Github.com/libgit2/git2go
However, because Git2go and the corresponding libgit2 progress, Windows compile the problem constantly.
Direct git clone the latest libgit2 code (wrong), compiled with CMake. Specific methods in the official Wiki Building libgit2 on Windows has been written clearly, follow the line. The only thing to note is that BUILD_CLAR
you can close the compilation parameters without relying on python. Also, use the final parameters of the document:
CMake. -dcmake_install_prefix=c:\libgit2
Compile to a directory where the directory name does not have spaces, otherwise Git2go's wrapper.c will parse the address error. It is recommended to cmake-gui
view and set compilation parameters. Compile by wiki:
CMake--build. --target Install
After compiling, add c:/libgit2/lib/pkgconfig to the system variable PKG_CONFIG_PATH
so that the pkg-config
libgit2.pc file can be found.
Then you can go get it.
But
Later on in the GitHub project, pull#53 found that the latest Libgit2 updated the API to destroy the Git2go. Finally to the classmate of the Mac, found that brew provided by the compilation is 0.20 version, to download release 0.20.0.
Golang compiling Git2go
Git2go compilation The only thing to note is to add c:/libgit2/lib/pkgconfig to the system variable PKG_CONFIG_PATH
so that CGO can access the. pc file and read the information about the library. The rest is go get or go install.
Station Address: http://fuxiaohei.me/article/14/windows-git2go.html