日常学习工作中, 托管项目的需求几乎无处不在. 比如非程序员的你在公司没写完的文档需要回家接着写, 程序员的你写了一半的代码需要回家接着敲, 或者自己平时的demo汇总等. 本文主要讨论如何通过SourceTree客户端托管项目到Github, 实现一个远程仓库管理单个/多个项目的需求.
SourceTree和Github的注册流程就不过多赘述, 项目中可能涉及的多人协作开发创建多个分支也不在本文讨论范围内.
直接进入正题:
背景:
SourceTree版本: 2.3.1
具体流程:
- 在本地创建一个空文件夹
-
在Github上创建远程仓库, 并设置相关信息
-
创建仓库成功后, 复制仓库地址
- 打开SourceTree客户端, 点击新仓库, 选从URL克隆
4.1 将复制好的仓库地址填入源URL
4.2 将第1步创建的本地空文件夹路径设置为目标路径
4.3 点击克隆, 将远程仓库内文件克隆到本地创建的空文件夹内 (说明: 本地文件夹名称与远程仓库名称不必须一致)
4.4 此时SourceTree主界面会显示本地文件夹名称
- 这时打开本地文件夹, 通过命令行
defaults write com.apple.finder AppleShowAllFiles -bool true
显示隐藏文件(夹), 如果看到本地文件夹中出现.git文件夹, 即证明该文件夹已经实现了Github远程托管
如何实现具体项目的托管呐?
- 创建要托管的项目(以Xcode项目为例)
1.1 按自己的习惯, 随便将Xcode项目创建在习惯的路径下
1.2 但一定不要图省事儿, 直接把Xcode项目创建在你设置为目标路径的文件夹内, 否则你无论怎么修改项目, SourceTree都不会有任何提示 (Xcode项目是以文件夹形式存在的, 直接创建在目标路径的文件夹内 SourceTree死活不会有反应, 但如果在目标路径的文件夹内拖入单个文件, SourceTree是会有提示的) - 在目标路径的文件夹内, 再手动创建一个空文件夹, 用来存放你本地要被托管的项目(即此处创建的Xcode项目), 且该文件夹名称与你的Xcode项目名不必须一致
-
打开你创建好的Xcode项目文件夹, 将里面的所有文件(夹)拖拽到上一步你创建的空文件夹内
-
此时打开SourceTree就能看到有可提交的改动了
-
将修改提交到本地, 推送到远程
5.1 选中所有未暂存文件, 并提交(commit)
5.2 提交成功后, SourceTree会出现可被推送到远程的提醒
5.3 成功推送到远程仓库后, SourceTree即显示你本地分支与远程仓库分支同步
- 刷新Github的相关项目页面, 就会发现你的远程repo确实已经有了刚才的推送(并且项目是以文件夹形式存在的, 即项目的所有文件都在这一个文件夹内, 一目了然. 如果想用同一repo管理多个项目, 重复上述步骤即可)
- 到此, 整个项目的托管就算完成了.
补充: 恢复隐藏文件的命令行: defaults write com.apple.finder AppleShowAllFiles -bool false