目录
一,SourceTree简介
二,远程仓库
三,SourceTree许可证问题
四,SourceTree基本使用
五,SourceTree&Git部分名词解释
说明:Mac上使用
一,SourceTree简介
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。
二,远程仓库:
以自己公司的服务器作为远程仓库;
以开源中国作为服务器代码托管;
以GitHub作为远程仓库
三,SourceTree许可证问题
官网注册(推荐使用qq邮箱注册):
https://my.atlassian.com/products/index?sen=14134597#license_14134597
成功之后提示去邮箱验证 》邮箱点进去进入官网;
licenses 》 licenses 》New Evaluation License 》 Download your SourceTree license;
将证书导入即可;
下载证书:
四,SourceTree基本使用
4.1,SourceTree下载安装:
4.2,创建本地仓库 clone&pull:
4.2.1,在本地创建仓库自己使用,直接拖拽到SourceTree列表即可;
4.2.2,从远处仓库创建本地仓库 clone&pull:
打开SourceTree》+新仓库》从URL克隆;
粘贴我们的仓库链接至源URL,SourceTree会自动帮我们生成目标路径(本地仓库路径)以及名称,点击克隆;
等待数秒后,SourceTree会为我们自动打开我们刚才克隆的仓库,选择master选项,这里我们可以看到我们仓库里的所有文件
4.3,上传一个项目至我们的远程Github仓库内:
通过SourceTree创建远程仓库并上传本地项目(Github为例,其他同理);
准备好将要上传的项目,将项目拖拽到SourceTree项目目录;
step1,通过SourceTree在GitHub上创建远程仓库:
step2,将SourceTree上的本地项目上传到新建的远程仓库里:
选择项目》调代码》上传(输入账号和密码/如果需要) 项目上传已完成;
具体如下:
SourceTree项目列表 右上角设置
添加账号(GitHub账号,注意要填写GitHub的用户名,不是昵称),成功之后 双击打开目标项目
打开项目》右上角 设置》远程仓库》添加
输入远程仓库的路径和仓库名(必须在自己的GitHub下的路径创建仓库)》右侧点击 托管的项目
左下角 创建新仓库(如果已经登陆成功,即可在此处看到自己在GitHub上的项目列表,如果没有则可能GitHub没有登录成功,需要点击 编辑账户 登录自己的GitHub账号),填写新仓库的相关信息,至此创建远程项目的工作已完成;
4.4,SourceTree 管理 GitHub文件:
打开 GitHub 上文件所在的位置 》复制仓库路径》打开sourceTree 》新仓库》从URL克隆》粘贴到 源url路径,填写存储的目标路径,副本的名称》克隆》双击打开;
注意:更改代码上传的时候需要填写 副本所在仓库的 账号和密码(only once);
五,SourceTree&Git部分名词解释
克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
检出(checkout):切换不同分支
添加(add):添加文件到缓存区
移除(remove):移除文件至缓存区
暂存(git stash):保存工作现场
重置(reset):回到最近添加(add)/提交(commit)状态
合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
抓取(fetch):从远程仓库获取信息并同步至本地仓库
拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 **pull=fetch+merge**
推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
分支(branch):创建/修改/删除分枝
标签(tag):给项目增添标签
工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
终端(terminal):可以输入git命令行
参考文章:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream BoxzCurveDemo master:master
Pushing to https://github.com/oxweiwei/BoxzCurveDemo.git
2019-06-17 15:28:35.307 git-credential-sourcetree[2931:135496] Error (internetKeychainItemForServer:withUsername:path:port:protocol:) - The user name or passphrase you entered is not correct.
remote: Repository not found.
fatal: repository 'https://github.com/oxweiwei/BoxzCurveDemo.git/' not found
Completed with errors, see above
褚小者不可以怀大,绠短者不可以汲深。