最近使用Go语言开发项目,想寻找位操作相关的工具包。找了一圈没有合适的,因此自己写了一个。又想将其推送到Github上,中间逢山开路,遇水搭桥,终于成功将本地Git仓库和Github进行了关联。现将我的方法公之于众,以期减少后来者的时间。
Github是基于Git实现的在线代码仓库,国内外很多开源软件都选择在Github上存储,因此我也打算将自己的工具包推送到Github上。步骤如下:
一、创建本地仓库
如图所示,Git版本控制系统分为本地仓库(Repository)和远端仓库(Remote)。其中本地仓库,存储在自己的机器上。而远端仓库,也就是Github。
要建立本地仓库和Github的连接,首先要建立本地仓库。我们可以任选一个文件夹作为本地仓库。
我在本机的D盘根目录下创建了GoMiniPackage的文件夹(你可以创建你自己命名的文件夹)。然后在GoMiniPackage文件夹下,按住Shift键+鼠标右键,选择1)“在终端中打开”、2)“Open Git Bash Here”、3)"在此处打开Powershell窗口"都可以。如下图所示:
其中,1)、3)都会打开windows上的终端Powershell窗口,2)需要安装Git。在弹出的终端窗口,输入命令
git init
显示结果如下:
这时在GoMiniPackage下会生成.git文件夹,这就是本地仓库目录。如下图所示:
至此,我们就完成了第一步操作。
二、将项目文件夹和代码文件上传到本地仓库
这时,将待发布的代码文件和文件夹复制粘贴过来。如下图所示:
再次打开Powershell,我们先来配置git的两个全局变量user.name和user.email,这两个变量用于提交时默认以该名字和邮件名备注信息。
git config --global user.name SkyCreator
git config --global user.email skycreator.top@qq.com
然后输入git status查看git状态。
可以看到终端给的提示是bitopt/还没有被Git追踪,需要git add将其加入版本控制。
我们根据提示输入命令git add bitopt/,再输入命令git status查看版本状态
git add bitopt/
git status
结果如下图所示:
这说明我们已经将bitopt文件夹及其内部的文件加入了版本控制的缓存库中。要想将其加入本地仓库,还需要进一步操作。命令如下:
git commit -m "add bitopt"
这条指令是将缓存库中的文件或文件夹提交到本地仓库,且将这次提交信息描述为add bitopt。结果如下:
以上结果说明提交成功。我们使用git status查看,结果如下
说明我们在主干分支下,并且没有任何可提交的内容了。使用git log查看提交日志,如图所示:
可以看到add bitopt的日志记录已经存在。
上面作者(Author)一行,是我们之前设置好的全局变量user.name和user.email。
至此,第二部操作完成。
三、设置Github,建立远端仓库
在Github上建立远端仓库之前,要先注册Github。登陆Github后,在主页面选择下图左右任一入口即可进入创建远端仓库页面。
下图为创建远端仓库页面。在Repository name处填写你的仓库名,在这里我是GoMiniPackages。Description处可以不填,其它默认即可。
远端仓库创建好后,显示页面如下:
这时,页面给出了详细的上传步骤。步骤分为两种方式:
1....or create a new repository on the command line
这种方式让我们从本地仓库创建开始,直到最终推送本地仓库内容到远端仓库。
2....or push an existing repository from the command line
这种方式让我们将现有的本地仓库内容推送到远端仓库。
因为我们之前已经创建好了本地仓库,因此按照第二种方式一步步处理即可。
另外,本地仓库和远端仓库的联系有两种方式:HTTPS和SSH。选择HTTPS的方式很简单,但需要进行一次登录Github并输入验证码的操作。而SSH的方式需要先添加公钥。添加公钥的方式稍微复杂一些,下面我们主要说说如何添加公钥。
四、添加公钥
公钥和私钥是一对秘钥,用于对数据进行加密和解密。Github上需要填写公钥数据才可以进行SSH的方式连接。
公钥和私钥可以本地直接生成。在Powershell窗口,输入
ssh-keygen -t rsa -C skycreator.top@qq.com -f C:\Users\你的用户名/.ssh/id_rsa_test
其中-t指的是密钥类型,默认为rsa,也可以不填。 -C设置注释文字,一般填写邮箱名,比如skycreator.top@qq.com -f设置生成目录和文件名。一般放在C:\Users\你的用户名/.ssh目录下
输入之后,会让你输入密码,一般不输入,否则以后每次都要输入密码。一直按回车键即可生成密钥。
生成密钥如下图所示,会有两个文件id_rsa_test和id_rsa_test.pub文件。
这时,我们的密钥就生成了。进入Github主页。
在右上角点击个人头像,选择Settings选项。进入后,点击SSH and GPG keys选项。
将之前生成的带后缀的.pub密钥文件的所有内容复制到Key中。Title栏随便输入,点击Add SSH key即可。
设置好之后,在Powershell中输入ssh -T git@github.com测试连接情况。如果连接不上,是因为还需要设置ssh配置文件。在windows上,配置文件在C:\Users\你的用户名/.ssh/目录下名为config的文件。记事本打开,将以下内容填入即可。
Host github.com
HostName github.com
IdentityFile C:\\Users\\ZackN\\.ssh\\id_rsa_test
PreferredAuthentications publickey
User SkyCreator
IdentitiesOnly yes
其中IdentityFile改成自己的密钥地址,User改成自己用户名即可。
五、推送到远端仓库
设置好了密钥,我们直接使用SSH的方式连接远端仓库即可。依次执行下述命令
git remote add origin git@github.com:SkyCreator/GoMiniPackages.git
git branch -M main
git push -u origin main
结果如下:
以上就是今天的全部内容,谢谢阅读。