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.
Authentication
Section titled “Authentication”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.
Getting Started
Section titled “Getting Started”Initialize a New Repository
Section titled “Initialize a New Repository”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 a Repository
Section titled “Clone a Repository”Clone an existing repository directly into Codewick:
- Open the Clone dialog from the welcome screen or the Git panel.
- Paste the repository URL (HTTPS or SSH).
- Choose a local directory.
- Codewick clones the repo and opens it as a project.
Staging and Committing
Section titled “Staging and Committing”Stage and Unstage Files
Section titled “Stage and Unstage Files”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.
Writing Commits
Section titled “Writing Commits”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 and Pull
Section titled “Push and Pull”- 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.
Branch Management
Section titled “Branch Management”Creating Branches
Section titled “Creating Branches”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).
Switching Branches
Section titled “Switching Branches”Select any branch from the branch picker to switch to it. Codewick warns you if you have uncommitted changes that would be lost.
Merging
Section titled “Merging”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.
Visual Diff Viewer
Section titled “Visual Diff Viewer”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.
Commit History
Section titled “Commit History”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.
Stash and Pop
Section titled “Stash and Pop”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.
Status Indicators
Section titled “Status Indicators”Codewick provides visual cues for your repository state:
| Indicator | Location | Meaning |
|---|---|---|
| Amber dot | Git icon in the sidebar rail | You have uncommitted changes. |
| Green dot | Status bar at the bottom | Working directory is clean. |
| Branch name | Git panel header and status bar | Current active branch. |
| Ahead/behind count | Status bar | Commits ahead of or behind the remote. |
These indicators update in real time as you make changes, commit, or sync with the remote.
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Action | Shortcut |
|---|---|
| Open Git panel | ⌃ + Shift + G |
| Commit staged changes | ⌘ + Enter (in commit message field) |
| Stage selected file | + icon or context menu |
| View diff for file | Click file in Git panel |