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"
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.
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
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
#gemini assistant https://marketplace.visualstudio.com/items?itemName=Google.geminicodeassist
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 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]