Salin dan Bagikan
Cara Setup Git dan GitHub untuk Pemula - Panduan lengkap setup Git dan GitHub dari awal untuk version control project

Cara Setup Git dan GitHub untuk Pemula

Git adalah version control system yang essential untuk developer. Mari pelajari cara setup dan menggunakannya dengan GitHub.

Install Git

Linux (Ubuntu/Debian)

# Update package list
sudo apt update

# Install Git
sudo apt install git

# Verify installation
git --version

Windows

# Download dari https://git-scm.com/download/win
# Atau gunakan winget
winget install Git.Git

macOS

# Install via Homebrew
brew install git

# Atau Xcode Command Line Tools
xcode-select --install

Initial Configuration

Set Identity

# Set username
git config --global user.name "Nama Anda"

# Set email (sama dengan GitHub)
git config --global user.email "email@example.com"

# Verify configuration
git config --list

Configure Defaults

# Set default branch name
git config --global init.defaultBranch main

# Set default editor
git config --global core.editor "code --wait"

# Enable colored output
git config --global color.ui auto

Setup GitHub Account

Create SSH Key

# Generate SSH key
ssh-keygen -t ed25519 -C "email@example.com"

# Start SSH agent
eval "$(ssh-agent -s)"

# Add key to agent
ssh-add ~/.ssh/id_ed25519

# Copy public key
cat ~/.ssh/id_ed25519.pub

Add SSH Key to GitHub

1. GitHub > Settings > SSH and GPG keys
2. Click "New SSH key"
3. Paste public key
4. Save

Test Connection

# Test SSH connection
ssh -T git@github.com

# Should see: "Hi username! You've successfully authenticated..."

Basic Git Workflow

Initialize Repository

# Create project directory
mkdir myproject
cd myproject

# Initialize Git
git init

# Check status
git status

Stage and Commit

# Create a file
echo "# My Project" > README.md

# Stage file
git add README.md

# Stage all files
git add .

# Commit with message
git commit -m "Initial commit"

View History

# View commit history
git log

# Compact view
git log --oneline

# With graph
git log --oneline --graph --all

Working with Remote

Add Remote Repository

# Create repo on GitHub first, then:
git remote add origin git@github.com:username/repo.git

# Verify remote
git remote -v

Push to GitHub

# Push to main branch
git push -u origin main

# Subsequent pushes
git push

Clone Repository

# Clone via SSH
git clone git@github.com:username/repo.git

# Clone via HTTPS
git clone https://github.com/username/repo.git

# Clone to specific folder
git clone git@github.com:username/repo.git myfolder

Branching

Create and Switch Branches

# Create new branch
git branch feature-login

# Switch to branch
git checkout feature-login

# Create and switch in one command
git checkout -b feature-signup

# Modern way (Git 2.23+)
git switch -c feature-dashboard

List Branches

# List local branches
git branch

# List all branches (including remote)
git branch -a

# List remote branches
git branch -r

Merge Branches

# Switch to main
git checkout main

# Merge feature branch
git merge feature-login

# Delete merged branch
git branch -d feature-login

Pull Requests on GitHub

Create Pull Request

# Push feature branch
git push -u origin feature-login

# Then on GitHub:
# 1. Go to repository
# 2. Click "Compare & pull request"
# 3. Add description
# 4. Request reviewers
# 5. Create pull request

Sync with Main

# Fetch latest changes
git fetch origin

# Merge main into feature branch
git checkout feature-login
git merge origin/main

# Or rebase
git rebase origin/main

Common Scenarios

Undo Changes

# Discard changes in working directory
git checkout -- filename

# Unstage file
git reset HEAD filename

# Undo last commit (keep changes)
git reset --soft HEAD~1

# Undo last commit (discard changes)
git reset --hard HEAD~1

Stash Changes

# Stash current changes
git stash

# List stashes
git stash list

# Apply latest stash
git stash pop

# Apply specific stash
git stash apply stash@{0}

Resolve Conflicts

# When merge conflict occurs:
# 1. Open conflicted file
# 2. Look for conflict markers
# <<<<<<< HEAD
# your changes
# =======
# their changes
# >>>>>>> branch-name

# 3. Edit to resolve
# 4. Stage and commit
git add .
git commit -m "Resolve merge conflict"

Git Ignore

Create .gitignore

# Create .gitignore file
cat > .gitignore << 'EOF'
# Dependencies
node_modules/
vendor/

# Build output
dist/
build/

# Environment files
.env
.env.local

# IDE
.vscode/
.idea/

# OS files
.DS_Store
Thumbs.db

# Logs
*.log
EOF

Useful Aliases

Configure Aliases

# Short status
git config --global alias.st status

# Short commit
git config --global alias.co checkout

# Log graph
git config --global alias.lg "log --oneline --graph --all"

# Undo last commit
git config --global alias.undo "reset --soft HEAD~1"

Best Practices

Commit Messages

Good commit message format:
- Short summary (50 chars)
- Blank line
- Detailed explanation (optional)

Example:
"Add user authentication

- Implement JWT tokens
- Add login/logout endpoints
- Create auth middleware"

Branch Naming

Conventions:
- feature/user-login
- bugfix/header-alignment
- hotfix/security-patch
- release/v1.0.0

Kesimpulan

Git dan GitHub adalah essential tools untuk development. Mulai dengan basic commands dan gradually learn advanced features seperti branching dan pull requests.

Artikel Terkait

Link Postingan : https://www.tirinfo.com/cara-setup-git-github-pemula/

Hendra WIjaya
Tirinfo
4 minutes.
7 January 2026