Skip to content

Git Integration

Codewick includes a complete Git interface so you can manage version control without leaving the workspace. Stage changes, commit, push, pull, branch, merge, and review history — all from a visual UI.

Codewick supports OAuth authentication for popular Git hosting providers:

  • GitHub — sign in with your GitHub account.
  • GitLab — sign in with your GitLab account.

Once authenticated, Codewick can push, pull, and clone repositories from your account. Credentials are stored securely in the macOS Keychain.

If your project does not have a Git repository yet, click Initialize Repository in the Git panel. This runs git init and creates an initial commit structure.

Clone an existing repository directly into Codewick:

  1. Open the Clone dialog from the welcome screen or the Git panel.
  2. Paste the repository URL (HTTPS or SSH).
  3. Choose a local directory.
  4. Codewick clones the repo and opens it as a project.

The Git panel shows a list of changed files with their status (modified, added, deleted, renamed). Stage files for commit individually or all at once:

  • Click the + icon next to a file to stage it.
  • Click the - icon to unstage it.
  • Use Stage All to stage every changed file.

Enter your commit message in the text field at the top of the Git panel. Click Commit or press ⌘ + Enter to create the commit.

  • Push sends your local commits to the remote repository.
  • Pull fetches and merges remote changes into your local branch.

Both actions are available as buttons in the Git panel header. Codewick shows a notification if there are remote changes you have not pulled yet.

Click the branch name in the Git panel header to open the branch picker. From there:

  • Create a new branch from the current HEAD.
  • Switch to an existing branch.
  • Rename a branch.
  • Delete a branch (with confirmation).

Select any branch from the branch picker to switch to it. Codewick warns you if you have uncommitted changes that would be lost.

Merge another branch into your current branch from the branch picker. If conflicts arise, Codewick opens a conflict resolution UI:

  • Conflicting files are listed with clear markers.
  • Each conflict shows the incoming change and the current change side by side.
  • Choose Accept Incoming, Accept Current, or Accept Both for each conflict.
  • Once all conflicts are resolved, Codewick creates the merge commit automatically.

Click any changed file in the Git panel to open a side-by-side diff view:

  • Added lines highlighted in green.
  • Removed lines highlighted in red.
  • Context lines shown for clarity.

This is the same diff viewer used for AI change review, so the experience is consistent throughout Codewick.

Open the History tab in the Git panel to see a chronological log of all commits:

  • Each entry shows the commit hash, author, date, and message.
  • Click a commit to expand it and see the per-file diff.
  • Navigate through the history to understand how the project evolved.

Temporarily shelve your uncommitted changes with Stash:

  • Click Stash in the Git panel to save your working directory changes.
  • Continue working on something else or switch branches.
  • Click Pop Stash to restore your shelved changes.

Multiple stashes are supported. The stash list shows a description and timestamp for each entry.

Codewick provides visual cues for your repository state:

IndicatorLocationMeaning
Amber dotGit icon in the sidebar railYou have uncommitted changes.
Green dotStatus bar at the bottomWorking directory is clean.
Branch nameGit panel header and status barCurrent active branch.
Ahead/behind countStatus barCommits ahead of or behind the remote.

These indicators update in real time as you make changes, commit, or sync with the remote.

ActionShortcut
Open Git panel⌃ + Shift + G
Commit staged changes⌘ + Enter (in commit message field)
Stage selected file+ icon or context menu
View diff for fileClick file in Git panel