Apps로 돌아가기

macOS app · Git client

SourceDeck

일상 작업을 위한 네이티브 macOS Git 클라이언트. 한 줄 단위로 스테이징하고, 구조화된 커밋을 작성하고, 모든 저장소를 한 화면에서 확인하세요.

v1.0.52026년 10월 28일 업데이트macOS무료

macOS 14+ · Universal · 7.1MB · dkb-source-control_1.0.5_universal.dmg

  • git 2.30 이상: Xcode 또는 Command Line Tools(xcode-select --install)에 포함된 버전이면 충분합니다

SourceDeck은(는) Mac용 앱입니다. 다운로드하려면 Mac에서 이 페이지를 여세요.

3단계로 설치하기

  1. dkb-source-control_1.0.5_universal.dmg 파일을 열고 윈도우 안의 Applications 폴더로 SourceDeck을(를) 드래그하세요.
  2. SourceDeck을(를) 여세요. 처음에는 macOS가 ‘SourceDeck’을(를) 열지 않음 메시지를 표시합니다. 완료를 클릭하세요.
  3. 시스템 설정 › 개인정보 보호 및 보안에서 아래로 스크롤하고 SourceDeck 관련 메시지 옆의 그래도 열기를 클릭한 다음, 그래도 열기와 암호로 확인하세요.
또는 1단계 후 2, 3단계 대신 터미널에서 다음을 실행하세요:
xattr -dr com.apple.quarantine "/Applications/SourceDeck.app"
  • Files, hunks or single lines
  • Changed words highlighted
  • Follows edits from other apps within a second
SourceDeck: Stage exactly what you meant toSourceDeck: Stage exactly what you meant to

아래 앱 세부 정보는 영어로 제공됩니다.

Commit composer

Messages in your format, checked as you type

Pick a keyword and write the details as an outline: Return adds a line, Tab and Shift-Tab change its level. The preview shows byte for byte what git will receive, and when something is wrong, Commit stays grey with the reason underneath.

  • Outline or raw text, with a live preview
  • Blank lines and broken structure block the commit; non-English text only warns
  • Drafts kept per repository across launches
SourceDeck: Messages in your format, checked as you typeSourceDeck: Messages in your format, checked as you type

Secret check

Nothing secret slips into a commit

Before every commit the staged changes are checked: .env files, private keys, signing files and local config by name, API keys, tokens and passwords in the added lines. The finding is listed with its value masked, and unstaging is the default answer.

  • 14 rules over file names and added lines
  • Files that look like secrets are tinted before you stage them
  • Commit Anyway is there, but never the default
SourceDeck: Nothing secret slips into a commitSourceDeck: Nothing secret slips into a commit

History

Read any commit, file by file

200 commits at a time, with branches, remote branches and tags marked by kind. Search by message, author or path, open a commit for its full message and the files it changed, as a list or a folder tree, and read each file's diff.

  • Any branch's history, or one file's across renames
  • Copy the SHA or the message, open the commit on GitHub
  • Reuse a message in the composer
SourceDeck: Read any commit, file by fileSourceDeck: Read any commit, file by file

Fetch, pull and push

When git fails, you are told why

Fetch, pull and push run the git on your Mac, with your own credentials and hooks. A failure shows git's own output next to a one-line explanation, and the log keeps every command with its duration. File lists can be a folder tree, with a checkbox per folder.

  • A branch that was never published asks before its first push
  • Pull fast-forward only, or rebase if you choose
  • No saved account? Sign in from the app, and git keeps it in your Keychain
SourceDeck: When git fails, you are told whySourceDeck: When git fails, you are told why

Dashboard

Every repository on one screen

Which repositories have changes, which are ahead or behind, which are in the middle of a merge. Each card shows the branch, the staged, changed and new files and the last commit; refresh or fetch them all with one click.

  • A coloured count of uncommitted files in the sidebar
  • Add by cloning a URL, choosing a folder or scanning one
  • Optional automatic fetch
SourceDeck: Every repository on one screenSourceDeck: Every repository on one screen

Also in the box

  • Undo from History: revert a commit, or reset the branch to it (Soft, Mixed or Hard)
  • Any commit can be checked out, branched, tagged or cherry-picked from its menu
  • A file's history across renames, blame for every line, and older versions compared, opened or restored
  • Branches: switch (stashing your changes first when asked), create, merge, rename, delete merged branches; create, push and delete tags
  • Stashes: look inside one (untracked files too), apply, pop and drop
  • Clone from an HTTPS or SSH URL, or a local path; sign in to HTTPS remotes from the app
  • Keyboard first: ⌘1 to ⌘3 for the tabs, Space to stage, ⌘↩ to commit, ⇧⌘P to push
  • Nothing is thrown away without a confirmation that names the files; discarded new files go to the Trash
  • No force push and no git clean; a hard reset only comes from Reset › Hard, asked twice, with every change stashed first; hooks always run
  • A merge, cherry-pick, revert or rebase in progress shows Abort and Open in Sourcetree; Open In also offers Finder, Terminal and your editors
  • Repository avatars, light, dark or system appearance, English and Vietnamese, Sparkle updates
  • macOS 14 or later, Apple silicon or Intel; git 2.30 or later

소개

SourceDeck is a native macOS Git client for the work you do every day: seeing what changed, staging whole files, hunks or single lines, reading diffs, committing, pushing and pulling, and reading history, across all your repositories from one dashboard. It runs the git already on your Mac, so your .gitconfig, ignore rules, hooks and Keychain credentials apply exactly as they do in Terminal. It is free and open source under the MIT license.

Key features

  • One dashboard for every repository: branch, ahead and behind, staged, changed and new files, the last commit; refresh or fetch them all at once, with optional automatic fetch
  • Working Copy: Staged and Changes as a flat list or a folder tree, a checkbox per file and per folder, files that look like secrets tinted red, and a list that follows changes made in other apps within a second
  • Diffs you can act on: stage, unstage or discard a whole hunk or only the lines you pick, with changed words highlighted inside a line
  • Structured commit messages: build the + Keyword + / - detail / + sub-detail format from an outline, preview exactly what will be sent, and see why Commit is greyed out; drafts are kept per repository
  • A check before every commit: staged .env files, private keys and API keys in added lines are listed before the commit goes through, with unstaging as the default answer
  • History 200 commits at a time with a graph of branches and merges, for one branch or all of them, searchable by message, author or path; a file's history followed through renames, its blame, and its older versions compared, opened or restored
  • A commit's menu: check it out, branch or tag it, cherry-pick it, revert it, or reset the branch to it (Soft, Mixed, or Hard after stashing every change)
  • Branches, tags and stash: switch (stashing first when asked), create, merge into the current branch, rename and delete merged branches; create, push and delete tags; look inside a stash, apply, pop and drop
  • Fetch, pull and push with git's own output in a log and a one-line explanation of each failure; clone a repository from an HTTPS or SSH URL
  • Sign in when an HTTPS remote asks for an account: git's credential helper saves it in your Keychain, and Settings › Accounts shows who is signed in to each host
  • Keyboard first: ⌘0 to ⌘3 for the screens, Space to stage, ⌘⏎ to commit, ⇧⌘P to push
  • Repository avatars: the initials of the name on grey, like a contact, or a picture or logo you choose
  • Light, dark or system appearance, English and Vietnamese, Sparkle updates

Safe by design

  • Nothing is thrown away without a confirmation that names the files; discarded new files go to the Trash
  • No force push, no git clean, no branch -D; a hard reset only comes from Reset › Hard, asked twice, with every change stashed first
  • Hooks always run, and git never waits on a password prompt: the app asks instead and hands the account to git
  • Nothing leaves your Mac except what git itself sends to your remotes, and Sparkle's update check

Requirements and limits

  • macOS 14 Sonoma or later, Apple Silicon or Intel
  • git 2.30 or later: the one that comes with Xcode or the Command Line Tools (xcode-select --install) is fine
  • Rebase and a conflict editor are not included; a merge, cherry-pick, revert or rebase in progress can be aborted, or the repository opened in another Git client

Good to know

  • SourceDeck was called DKB Source Control up to version 1.0.4. It is the same app, so updating keeps your repository list, drafts and settings
  • After an update the app in Applications keeps its old file name, DKB Source Control; a fresh download is named SourceDeck

버전 기록

최신 버전만 다운로드할 수 있습니다. 이전 버전은 참고용으로만 표시됩니다.

  1. v1.0.5최신

    Changed

    • DKB Source Control is now SourceDeck, and it is open source under the MIT license: github.com/dangkhoabach/SourceDeck
    • Your repository list, drafts and settings stay as they are. After this update the app in Applications keeps its old file name, DKB Source Control

    Improved

    • git's output is read as it arrives instead of holding a system thread per command, so timeouts stay accurate when many git commands run at once
  2. v1.0.4

    Know when the remote has new commits

    + They are marked with an arrow and drawn in their own lane of the graph, next to the remote branch's label. + Revert and Cherry-pick are not offered on them.

    • Background fetch: when you open a repository, or come back to the app, it fetches in the background if its last fetch was more than 5 minutes ago. The commits to pull and push are then up to date, without pressing Fetch. It never asks you to sign in, and if a fetch fails (for example when you're offline), it waits 5 minutes before trying again.
    • Last fetch time: "Fetched 5 minutes ago" or "Not fetched yet" is shown next to the branch in Working Copy and on each Dashboard card. A fetch from Terminal or another app counts too.
    • Counts on Pull and Push: the toolbar buttons show how many commits a pull would bring and how many a push would send.
    • Incoming commits in History: when your branch is behind its remote, its history also lists the commits a pull would bring.
  3. v1.0.3

    New

    • Commit graph in History: each commit sits in a coloured lane with lines to its parents, so branches and merges are easy to follow; the current commit is marked with a ring
    • All Branches in History's branch picker: every local and remote branch and every tag in one list, including branches that aren't merged yet
    • The graph is hidden while you search or look at one file's history, where some commits are left out

    Improved

    • Repository avatars show white initials on grey, like Contacts, so the sidebar is calmer; a picture or logo you chose stays as it is
  4. v1.0.2

    What's new

    • Undo a commit: right-click a commit in History to Revert it, or Reset the branch to it (Soft, Mixed or Hard); Hard asks twice and stashes your uncommitted changes first
    • File history: right-click any file to see every commit that changed it, even across renames
    • Blame: see who last changed each line of a file, and jump to that commit
    • Older versions of a file: compare one with your working copy, open it, save it or restore it
    • More in a commit's menu: check it out, create a branch or tag from it, or cherry-pick it from another branch; History can now show any branch
    • Branches and tags: merge a branch into the current one, rename a branch, and create, push or delete tags
    • Stashes: see what a stash holds (untracked files too), and Apply it while keeping the stash
    • Repository avatars: the initials of the name on a colour of their own, or a picture or logo you choose

    Improved

    • In History, each commit's short SHA now leads its row in a badge
    • Loading shows skeleton placeholders instead of spinners, and old content no longer appears while new content loads

    Fixed

    • On macOS 26, the file list and commit message in Working Copy no longer stop short of the divider
  5. v1.0.1

    First public release, with in-app updates from here on.

    What's new

    • Dashboard, Working Copy, History and Branches for every repository you add, scan for or clone from a URL
    • Sign in when an HTTPS remote asks for an account: saved by git in your Keychain, the same as Terminal
    • Settings › Accounts: who is signed in to each host, with Sign In and Sign Out
    • Stage, unstage or discard files, hunks or single lines, in a flat list or a folder tree
    • Structured commit composer with a live preview and a check for secrets before every commit
    • Fetch, pull and push with git's own output and a plain explanation of each failure
    • English and Vietnamese, light and dark appearance
이전 버전 1개 보기
  1. v1.0.0

    First public release, with in-app updates from here on.

    What's new

    • Dashboard, Working Copy, History and Branches for every repository you add, scan for or clone from a URL
    • Stage, unstage or discard files, hunks or single lines, in a flat list or a folder tree
    • Structured commit composer with a live preview and a check for secrets before every commit
    • Fetch, pull and push with git's own output and a plain explanation of each failure
    • English and Vietnamese, light and dark appearance