emmm,晚上在自己的电脑装sourcetree有些配置老忘,又要百度一遍,所以就自己记录一下,省的又要百度找,需要安装sourcetree的小伙伴可以顺道看看。
SourceTree是一款git管理可视化工具,就不需要繁琐的敲打命令行了。个人比较推荐,无论在windows环境还是mac的os环境。官网链接:https://www.sourcetreeapp.com/
下载好后,就是开始安装了(Windows版本),我们双击打开我们下载好的安装包
第一个页面同意下一步即可
接着会需要我们登陆一个账号,如图,我们选择Atlassian可以登陆一个谷歌账号
但是一是这样没有谷歌账号的朋友还要去注册,比较麻烦,最主要的还有就是这个登陆界面往往会卡住加载不出,如图:
所以推荐下面的免登陆的操作。我们先关闭SourceTree的安装窗口,然后在文件资源管理器中输入%LocalAppData%\Atlassian\SourceTree 路径,即可到SourceTree的文件夹当中,然后建立一个空的文本文件,文件名改为accounts.json,如图:
然后我们用文本编辑器打开该文件,输入以下内容保存即可,接着继续打开我们的安装文件继续安装
[
{
"$id": "1",
"$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
"Authenticate": true,
"HostInstance": {
"$id": "2",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
"Host": {
"$id": "3",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "",
"Email": null
},
"IsDefault": false
}
]
无论是登录还是免登陆操作后重新打开安装文件的操作,都会到这最后一步,及提示你安装Git和Mercurial,我们选择下载安装内嵌的即可。这样安装步骤就算完成了!
我们主要需要设置我们的用户信息和ssh秘钥信息
我们先打开我们的git的终端
输入 cd ~/.ssh/
如果报错:路径不存在的话,我们则输入 mkdir ~/.ssh
接着我们开始设置git的全局用户名和邮箱,输入
git config --global user.name "yourname"
git config --global user.email "youremail"
最后就可以生成我们需要的ssh了,输入
ssh-keygen -t rsa -C "youremail"
后,连续按三次回车即可
然后在文件管理器中就可以看到生成的ssh文件
在工具当中的选项进行配置即可
接着我们要将这个ssh信息配置到自己的远端git服务器上(例子用的是自己的github),只有这样才能对git内的文件进行修改上传的权限。
先登录github账号,然后打开设置
进入ssh设置界面
添加一个新的ssh key,标题自定义,内容为我们之前生成的ssh文件id_rsa.pub(文本编辑器打开复制全部内容即可)
点击 add ssh key即可添加成功
最后就是clone我们的远端git工程了,如图,输入对应的git路径以及文件存放的本地目录即可:
输入的内容没问题后,点击克隆即可,等待一段时间后,远端文件就可以拉取下来了,我们就可以进行我们需要的git操作了。
此时我们win+R输入cmd,打开命令行,输入git是没有效果的,提示:'git' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这是因为我们没有配置环境变量的原因,在SourceTree的操作-选项对话框中,我们可以找到git.exe的目录
然后我的电脑右击属性,打开系统设置,选择高级系统设置。然后在弹出的系统属性对话框中,在高级页签选择环境变量。
编辑我们的系统变量Path,添加上我们的git.exe所在的文件夹路径即可。
重新打开命令行窗口,再次在命令行输入git,就会变成有效的指令了。