SourceTree 代码库管理工具





本文已中止更新,点击 此连接 查看本文最新内容 !!!

html




一、SourceTree

二、使用方法

2.1 Clone 项目到本地

  • 打开 SourceTree,点击 New Repository => Clone from URL, 而后复制仓库地址到 SourceTree 中的 Source URL 中,本地仓库的位置和名称能够随意修改。点击 clone 便可。这样就能把远程仓库中的项目 clone 到本地了。工具

2.2 SourceTree 主界面

  • clone 项目完成后,SourceTree 中看到以下:fetch

    • 上面的任务栏分别有 commit(提交)、Pull(更新代码)、Push(推送代码)、Fetch(抓取代码),Branch(新建分支)、Merge(合并代码)、Stash(暂存代码状态)。ui

    • 左侧中的 WORKSPACE 表示本地的工做区,File status 中能够看到本地文件的改变状态,History 中是 commit 历史。下面的 BRANCHES 显示的是本地的分支。REMOTES 显示的是远程的分支。url

    • 下方的状态栏显示本次提交的修改文件。以及修改文件中修改的代码。3d

2.3 建立新项目

  • 若是上述是别人的一个项目,那么此时你就能够在本地进行开发了。可是若是是你本身要在远程建立本身的项目,那么下面你要在本地先建立一个项目。以 Xcode 建立一个 iOS 项目为例,建立的项目名称为UseSourceTree_iOS. 而后把该项目拖入到 clone 下来的本地仓库中。拖入完成后,SourceTree 就显示以下。版本控制

  • 能够在 SourceTree 中能够看到工做区中的改变,好比哪些文件被修改,以及修改的内容。

2.4 暂存文件

  • 本地作了修改后,能够看到文件都仍是在 Unstaged files 中,勾选你要提交的文件,而后文件就会到 Staged file 中,这个操做对应的命令就是 git add ,即把文件从工做区放到暂存区。操做完成后,以下所示。

2.5 Commit 提交代码

  • 此时就能够进行 commit 操做了。点击左上角的 commit。在 commit 的时候强烈推荐写上注释。

  • 完成 commit 以后,提交历史就会变成以下所示。1 ahead 表示本地提交比远程提交领先一次 commit。

  • 来到不一样的分支,好比 master 分支,点击不一样的 commit History,能够查看到文件的修改,很是的方便。可视化工具对于 code review 很是有利。

2.6 Pull 更新代码

  • 本地完成 commit 以后,就须要向远程仓库提交代码了,我的建议,在 Push 以前,先进行 Pull。

  • 可是要注意,pull = fetch + merge,你拉取代码的时候选择的是 pull 仍是 fetch,仍是使用 rebase,这个要根据你的我的习惯,最主要的是要根据你团队的 Git 工做流来操做。我的的建议是用 git pull --rebase 命令,至关于使用 git fetch + git rebase 命令,而不是使用 merge,这主要是为了保持树结构和历史的干净(推荐去了解一下 git merge 和 git rebase 的区别)。

  • 若是其余开发者向远程仓库提交了代码,那么在你的 SourceTree 中就会显示以下。

  • 在你本地的 master 分支下,能够看到 1 behind,表示你本地的分支已经落后于远程分支 1 commit 了,能够选择 Pull 来更新代码。

  • 点击上方的 Pull 拉取代码。

  • 在进行 PUll 的时候,能够选择远程的分支,同时若是勾选了最后一个 Rebase instead of merge,表示使用 rebase 命令,而不是 merge。

2.7 Push 推送代码

  • 完成更新代码后,就能够向远程提交代码了。点击上方的 Push,弹出以下对话框。

  • 在提交的时候,选择要提交的分支便可。此时可能须要你输入 Github 或者其余的远程的用户名和密码,输入便可。

  • 注意:此时输入的用户名和密码与 .git 配置里面的 name 和 email 不是同一个概念。此时要你输入的用户名和密码只和你的远程服务器有关,和 git 无关,由于你要向服务器推送代码,必然要有权限,这个用户名和密码至关于权限。可是 .git 里面的 name 和 email 只是做为你 git 这个工具标记而已,和远程服务器没有关系。

  • Push 完代码后,能够在提交历史中看到本身和别人的提交。

  • 此时,本地和远程已经保持了同步,因此原来的 1 aHead 就消失了。来到 Github 中,发现代码已经成功提交了。

2.8 检出远程分支

  • 若是远程仓库有其余的分支,那么须要 checkout(检出)远程分支到本地,如图,远程有 dev 分支,双击左侧远程的 dev 分支,便可检出。检出的时候还能够重命名本地该分支的名字。

  • checkout 完成后,本地也就有 dev 分支了。

2.9 推送分支

  • 当你在本地新建某个分支的时候,也能够推送到远程,而后远程就会有该分支了。以下所示,在 SourceTree 中新建了 release 分支,可是远程没有 release 分支。我把该分支进行 Push。

  • 而后就发现远程也有 release 分支了。你要肯定是否有某个分支,你也能够去 Github 或者其余远程服务器查看。

2.10 切换分支

  • 在 SourceTree 中常常会出现 track 这个词,表示“跟踪”,表示本地某个分支跟踪远程某个对应的分支。因此,判断是 ahead 仍是 behind commit 的时候,都是去和 track 的那个分支进行比较的。双击本地的某个分支便可完成分支切换。

2.11 删除分支

  • 固然你也能够在 SourceTree 中删除本地或者远程的一个分支,删除分支是个很谨慎的操做,须要慎重。

相关文章
相关标签/搜索