Salin dan Bagikan
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/
Editor : Hendra WIjaya
Publisher :
Tirinfo
Read : 4 minutes.
Update : 7 January 2026