GIT Helper Fonksiyonu
Introduction
ÖN BILGILENDIRME: Bu yazı, GIT commit işlemlerini sistem çapında otomatikleştirme yöntemleri hakkında bilgi vermek amacıyla yazılmıştır.
Siz de Open-Source projelerle yoğun olarak çalışıyorsanız çok fazla commit yaptığınız projelerle karşı karşıya geliyorsunuz demektir. Git üzerinde push/pull request işlemlerinizi yaparken tekrar tekrar şifre ve username girmek eğer çok fazla commit yapıyorsanız sinir bozucu olabiliyor.
VSCode üzerinden push işlemleri yaparken bir kere GIT_ACCESS_TOKEN
ve GIT_USERNAME
girişi yaptıktan sonra bu işlemleri sürekli olarak gerçekleştirebiliyorsunuz. Peki, Neovim kullanıcısı iseniz, Neovim'den çıkmadan git push ve pull işlemlerinizi GIT_USERNAME
ve GIT_ACCESS_TOKEN
tek bir tuşla push/pull edebileceğinizi biliyor muydunuz?
Bu yazımda size kısaca bunu yapmak için gerekli ilk konfigurasyondan bahsedeceğim.
.gitconfig configurations
İlk iş olarak sistem genelinde GIT_USERNAME
ve GIT_ACCESS_TOKEN
tanıması gerçekleştirebilmek için .gitconfig
dosyamıza aşağıdaki helper fonksiyonun ekleyeceğiz.
Linux içerisinde $HOME
'a erişebilmek için cd
ile /home/
klasörüne giderek bir .gitconfig
dosyası oluşturuyoruz. Eğer mevcut bir config dosyanız varsa o zaman [credential]
altına aşağıdaki helper
fonksiyonunu ekleyin:
# HOME
cd
# open .gitconfig file
nvim .gitconfig
Açılan dosyanın içerisine aşağıdaki gibi kendinize ait bir yapı oluşturun. Kendi kullanıcı adınızı [user]
alanı altında giriş yapın ve helper
fonksiyonun aşağıdaki şekilde kopyalayıp yapıştırın ve dosyanızı kaydedin.
[user]
email = ....@yandex.com
name = G... B....
[credential]
helper = "!f() { echo \"username=${GIT_USERNAME}\"; echo \"password=${GIT_ACCESS_TOKEN}\"; }; f"
[core]
editor = nvim
Helper fonksiyonu yardımıyle kabuk üzerinde yapacağımız işlemlerde username kısmına otomatik olarak GIT_USERNAME
ve access_token alanına da GIT_ACCESS_TOKEN
isimli sistem genelinde tanımlı değişkenleri çağırıyoruz.
Helper Function: : Yardımcı fonksiyon, başka bir fonksiyonun hesaplanmasının bir kısmını gerçekleştiren bir fonksiyondur. Yardımcı işlevler, hesaplamalara açıklayıcı adlar vererek programlarınızın okunmasını kolaylaştırmak için kullanılır.
zshrc and bashrc configurations
Sisteminizde kullandığınız kabuğa bağlı olarak (shell) aşağıdaki iki satırı bu kabuğa ait konfigurasyon dosyasına kopyalıp yapıştırıyoruz.
# HOME directory
cd
# if you are using zsh
nvim .zshrc
# if you are using bash
nvim .bashrc
.zshrc
ya da .bashrc
dosyanızın herhangi bir yerine aşağıdaki değişkenleri ekleyin. <your-access-token>
alanına Github üzerinden aldığınız GIT_ACCESS_TOKEN
ı yapıştırın.
GIT_USERNAME="<your-username>"
GIT_ACCESS_TOKEN="<your-access-token>"
Lazygit
Lazygit git ile ilgili tüm işlemleri tek bir ekran üzerinden yönetmenizi sağlayan bir dashboard ve git managerdır. Commit dosya ekleme ve dosya çıkarma, ignore, merge, branch, pull/push gibi birçok git komutunu bu arayüz sayesinde yönetebilirsiniz.
Lazygit Setup and Configurations
Eğer Astro.nvim
kullanıcısı iseniz sisteminizde lazygit
yüklü olarak kullanıma başlarsınız. Eğer kurulum yapmanız gerekirse aşağıdaki adımları takip edin.
Eğer Neovim içerisinde Lazy
paket yöneticisi kullanıyorsanız aşağıdaki kod satırını kullanarak yükleme yapabilirsiniz:
-- nvim v0.8.0
return {
"kdheepak/lazygit.nvim",
cmd = {
"LazyGit",
"LazyGitConfig",
"LazyGitCurrentFile",
"LazyGitFilter",
"LazyGitFilterCurrentFile",
},
-- optional for floating window border decoration
dependencies = {
"nvim-lua/plenary.nvim",
},
-- setting the keybinding for LazyGit with 'keys' is recommended in
-- order to load the plugin when the command is run for the first time
keys = {
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
}
}
Lazygit Usage
Lazygit resmi web sayfası üzerinden kullanıma ve tuş kombinasyonlarına ait gerekli bilgileri Github - Lazygit web sayfası üzerinden öğrenebilirsiniz.
Ayrıca typecraft_dev kanalı üzerinden lazygit
anlatımını da bulabilirsiniz.