Git软件直接运行即可
点击Git Bash Here做ssh免密登录
点击打开如下图所示:
1.输入命令,声明全局name和eamil
示例:
git config --global user.name "zzx"
git config --global user.email "[email protected]"
2.查看全局name和email
git config –list
3.生成key
示例:
ssh-keygen -t rsa -C [email protected]
进入生成ssh的文件夹:
cd C:\Users\Administrator\.ssh
4.touch authorized_keys //创建文件并将id_rsa.pub内容拷贝进去,服务器的ssh生成文件id_rsa.pub也一起拷贝
5.chmod 700 C:\Users\Administrator\.ssh
6.chmod 600 authorized_keys
Windows 版 SourceTree 免登录跳过初始设置的方法
1,首先,运行 SourceTree ,弹出Atlasstion账户这一步就退出做跳过步骤。
2,打开 我的电脑,在最上方的地址栏直接输入以下地址:
%LocalAppData%\Atlassian\SourceTree\
3,在这个目录下新建一个名为 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 } ]
4,再次打开 SourceTree 就可以直接跳过登录进入软件页面了。
SourceTree支持ssh的操作:
点击工具->创建或导入ssh密钥
点击load,
文件名格式选择 ALLfile,将我们创建的ssh文件显示出来
打开id_rsa文件
文件名保存为.ppk格式。保存完成操作
点击工具->选项->一般查看如下信息,如果默认用户信息没有出现手动输入,ssh客户端配置为上一步生成的.ppk文件,SSh客户端为PuTTY/Plink。完成操作。
SourceTree使用步骤:
1,克隆一个仓库(存放项目的文件夹) ,点击 文件->克隆/新建
如下图所示:
第一行填写的是git的挂载服务器地址
第二行填写的是Windows下仓库克隆的文件下,可将文件夹命名和仓库中的命名一致
点击克隆
从图中可知,此仓库的提交历史有五次,只有一个master分支,我们只看到master,并没有看到其他的节点存在,为什么称master为分支,其实master依附于origin,故而主支是origin,只不过没有显示出来而已。最近一次的提交记录在上方
关于只提交到master分支的操作:
点击“工作副本”可看到文件资源中没有需要更新的文件,所以目前需要上传文件就点击“在文件资源管理器中打开”
新建一个“测试.txt”文件,已经和服务器仓库文件同步的文件会显示为打钩
此时工作副本下自动将新建的“测试.txt”文件列为未暂存文件,点击暂存所有
此时文件已经列为已暂存文件,然后在说明框里写点注释(It's a good habit.),再点击提交
此时工作副本下如提示所说“没什么可提交的”,这是master有一个向上的箭头,说明有一个节点需要更新到服务器,点击推送
选择推送到哪个分支,目前只有一个master分支,所以直接推送到此分支,点击推送
此时文件已经成功提交到服务器上,完成操作
Git工作流:
现在想象一下下面描述的情况.一个团队有两个人A和B.
A完成他自己的功能需要两天,那A该怎么提交修改?随时提交的话,因为功能还未完成,很可能就导致B无法工作.那两天后再提交呢,很可能两天之内出现什么事儿,导致A的代码丢了.
分支的出现即可以解决上面所说的问题,A和B每个人都新建属于自己的分支,提交修改都是在自己的分支上面进行,互不干扰.功能都完成之后,两个分支合并到一起,OK了,非常完美.
前面提到了一下,master其实就是个分支,但是它是主分支.主分支一定要是最稳定的分支,意思就是别有事儿没事儿就往master分支上面合并代码,一定要完全测试没有问题了,马上要发布了,再合并到master分支上面.
一个团队,理想情况下的分支是这样的.
一个master分支,一个develop分支,团队里的每个人都有一个分支,每个人的每个功能都有一个分支.
这里写图片描述
当然,项目过程中可以缩减一层,也就是每个人都在develop分支上面直接根据功能创建分支,功能完成之后直接合并到develop分支上面.
建立develop分支,点击git工作流即可弹出如下信息,点击确定即可(前提是有master分支,如果没有,只需要进行一次提交操作即可)
建立一个功能
其他上传的步骤与前面所提一致,不做重复赘叙。当文件提交完毕,点击工作流完成功能,再将分支推送至服务器,完成操作