Scala のライブラリや sbt plugin のうち、maven central などのレポジトリに登録されていないものを使うのも sbt なら簡単です。
自分で fork してちょっと書き換えたバージョンを使いたい場合なんかにも使えます。
Github 上のライブラリを使う
user/repo-name を使いたいと仮定して build.sbt に次のように書きます。
build.sbt
lazy val root = project.in(file(".")).dependsOn(githubRepo)
lazy val githubRepo = uri("git://github.com/user/repo-name.git#commit")
いくつか注意点があります。
- 1行目と3行目の間に空行(改行だけの行)が必要です。
 - 
uri()引き数のフォーマットに注意します。Github の SSH clone URL では通りません。たとえば nscala-time の場合、SSH clone URL はgit@github.com:nscala-time/nscala-time.gitですが、git://github.com/nscala-time/nscala-time.gitを指定します(@→://と:→/の二箇所、よく見てください)。 - uri には 
#commitで branch 名や commit id を指定できます。特定の commit を使い続けたい場合に指定します。 
なお、「Github上」と書きましたが、公開 Git レポジトリであれば Github である必要はありません。Bitbucket でも Gitlab でも Gitbucket でもいいです。
Github 上の sbt plugin を使う
sbt plugin の場合も書き込むファイルが違うだけで、あとは同じです。
user/repo-name が sbt plugin だとして、project/plugins.sbt に次のように書きます。
project/plugins.sbt
lazy val root = project.in(file(".")).dependsOn(githubRepo)
lazy val githubRepo = uri("git://github.com/user/repo-name.git#commit")
注意点はライブラリの場合と同じです。