Git & Development Tricks: Github, Gitlab and more
When I started to use Git, I could actually start see my progress and build upon my previous effort.
This is a recap of the best GIT related tricks I have so far.
Github
- Use vscode on the cloud with: https://github.com/codespaces/
- GISTS are a great way to share code: https://jalcocert.github.io/JAlcocerT/github-gists/
sudo apt install git #you need GIT first
#git remote -v
You will also need:
git config --global user.name "JAlcocerT"
git config --global user.email "youremail@example.com"
See active branch and latest commits:
#git branch
git log --oneline -n 10
Creating Releases
And given a project, you can get the latest Github release as per:
Github Actions
Using github CI/CD can be very helpful:
Github Actions MultiArch Images:
- With QEMU: as explained here
- ARM86 native builds with GHA
Since this year, 2025, we can also build ARM64 images natively with GHActions!
Github Pages
https://jalcocert.github.io/JAlcocerT/how-to-use-github-pages/
Gitlab
Not everything is Github.
There are very cool projects on Gitlab as well.
You can start by adding their extension to sync your repos:
code --install-extension gitlab.gitlab-workflow
Definitely use the extension
GitLab Workflow VS Code Extension
. Authenticate with OAuth.
#sudo snap install gitlab-cli
sudo snap install glab
glab auth login #you will need https://gitlab.com/-/user_settings/personal_access_tokens?page=1
glab mr list
#glab mr diff 25
VSCode
You can install it with flatpak:
flatpak install flathub com.visualstudio.code #https://flathub.org/apps/com.visualstudio.code
flatpak list --app
#flatpak list --columns=all
#flatpak uninstall com.visualstudio.code
Or with snap (which I would recommend):
sudo snap install code --classic
There are some cool extensions to help you create.
- Name: Dev Containers
- Id: ms-vscode-remote.remote-containers
- VS Marketplace Link
Remember that there are many cool extensions: https://marketplace.visualstudio.com/VSCode
And that they can be installed programatically:
codium --install-extension gitlab.gitlab-workflow
#code --install-extension gitlab.gitlab-workflow
Remote Development
I was discovering some vscode triks here.
The most important steps?
SSH Dev
We need this extension: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
ext install ms-vscode-remote.vscode-remote-extensionpack #do this one inside VSCode with CTRL+SHIFT+P
#code --install-extension ms-vscode-remote.vscode-remote-extensionpack #or this one from the terminal
Then, do CTRL SHIFT P
and write: connect to host
This video summarizes it very well
When you are done, you will get the possibility to connect confortably:
Container Dev
ext install ms-vscode-remote.remote-containers #do this one inside VSCode with CTRL+SHIFT+P
#code --install-extension ms-vscode-remote.remote-containers #or this one from the terminal
sudo usermod -aG docker jalcocert
groups jalcocert
#sudo groupadd docker
#sudo usermod -aG docker $USER
This can be very useful to do Jekyll web dev as seen here
Generally, to develop inside a container: you will need one
More VSCode extensions
#docker #https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
ext install ms-azuretools.vscode-docker
#MDX #https://open-vsx.org/vscode/item?itemName=unifiedjs.vscode-mdx
ext install unifiedjs.vscode-mdx
#github actions https://marketplace.visualstudio.com/items?itemName=github.vscode-github-actions
ext install GitHub.vscode-github-actions #
#code --install-extension GitHub.vscode-github-actions
#slidev
ext install antfu.slidev
#code --install-extension antfu.slidev #or this one from the terminal
#python
ext install ms-python.python #https://marketplace.visualstudio.com/items?itemName=ms-python.python
#https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens
ext install eamodio.gitlens
#code --install-extension eamodio.gitlens #or this one from the terminal
#yaml https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
#makefile #https://marketplace.visualstudio.com/items?itemName=ms-vscode.makefile-tools
ext install ms-vscode.makefile-tools
Diagrams/Wireframes…
#gemini assistant https://marketplace.visualstudio.com/items?itemName=Google.geminicodeassist
#jupyter https://marketplace.visualstudio.com/items/?itemName=ms-toolsai.jupyter
#excalidraw https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor
ext install pomdtr.excalidraw-editor
#formatter #https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
ext install esbenp.prettier-vscode
Learnt with This one
Thanks to these devs tricks, I could put this landing theme with KeyStatic into selfhosting with my Pi.
# Verify installation
node -v # Should show Node.js version - 20.18.1
npm -v # Should show npm version - 10.8.2
- Clone the repo and run it:
npm run dev --host #as i was using the Opi
npm run build
#npm install -g serve #serve with npm
#serve -s dist #http://localhost:3000
npx serve -s dist #http://localhost:3000
Outro
Lately, a colleague mentioned to me about: https://lovable.dev/
Lovable is an AI software engineer, which enables anyone to build for the web. Simply chat to instantly build websites and web apps, with no technical knowledge needed.
It seems this is called vibe coding!
It requires a signup, yet they provide a free tier.
Definitely have to take a look to suck tools and also to the open/local ones.
Use VSCodium via container:
#https://docs.linuxserver.io/images/docker-vscodium/#lossless-mode
#---
#version: "2.1"
services:
vscodium:
image: lscr.io/linuxserver/vscodium:latest
container_name: vscodium
cap_add:
- IPC_LOCK
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/Docker/vscodium/config:/config
ports:
- 3070:3000
- 3071:3001
shm_size: "1gb"
restart: unless-stopped
##localhost:3070
Weekly Planning
A proactive approach to planning, information sharing, and continuous learning:
================= WK1234 Y25 | Sprint 123ab =================
Sprint Goal: [Clearly state the overarching goal of the sprint]
Key Objectives for This Week:
- Grooming:
- Status: [e.g., On Track, Needs Attention]
- Deliverables: [e.g., Backlog prioritized, X user stories refined]
- Requirements:
- Status: [e.g., In Progress, Blocked ⚠️]
- Deliverables: [e.g., Y requirements documented, User journey map updated]
- Tasks: ✅
- Boards:
- DE - [Link] - Status: [e.g., X/Y tasks completed]
- DA - [Link] - Status: [e.g., P/Q tasks in progress]
- Individual Task Areas (SMD, Created, Validated, Documented):
- [Consider listing a few key tasks under each with status if helpful]
- Boards:
Projects: [Briefly mention key projects and their current focus this week]
Learnings & Insights:
- This Week’s Key Learnings:
- [Bulleted list as before]
Meetings & Decisions:
- Daily DnA: [Keep the structure as is, but consider adding key decisions or action items briefly]
- MTG abc:
- Summary:
- Key Decisions: [New section]
- Action Items (Owner - Due Date): [New section, extracted from Conclusions/NextSteps]
- Raw Notes:
Tools & Resources: [Keep as is]
Processes & Environment: [Keep as is]
Key Contacts: [Keep as is]
Technical Reference: [Keep as is]