SourceTree比起tortoiseGit来,最大的不同之处在于 Sourcetree支持文件的部分提交,这大大方便了用户的使用。
有的时候,我们开发了一个A功能,未上线,同时又并发开发了B功能,B功能比A功能先上线,而且B功能和A功能修改的是同一个文件,这种情况在上线B功能时,SourceTree就体现出优势了。
1 打开本地工作副本,增加文件activityServiceImpl.java,这个文件没啥特别,就是代码行数很多,方便演示。
2 打开SourceTree,推送该文件。
3 打开新增文件,新增func1,func2,func3三个功能,
4 现在的要求是,只提交func3,不提交func1和func2。打开sourceTree。如下图
5 右边区域滑到add func3处,点击暂存区块,该区块就会保存到待提交区。
6 已暂存文件里是待提交的,未暂存文件里不需要提交的,这样在一个文件里,就可以提交需要提交的,而不需要提交的也可以保留在工作区,等待下次提交
7 提交推送,如下图。
8 撤销回滚。在团队协作开发中,有时候提交完代码后,发现提交错了,这个时候,撤销回滚就起了重要作用。
在最新的提交记录上,右键-》回滚提交
9 在弹窗里选择是。
10 可以看到提交历史记录多了一个Revert 反向提交
11 打开本地工作副本,看到 做的修改已去除
12 这个时候,反向提交只提到了本地仓库,如需撤销远程仓库的,还需推送到远程仓库
13 点击推送,可以看到提交的func3已撤销。如下图。