Saya ingin mencari tahu siapa yang membuat cabang.
Saya bisa melakukannya dengan:
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _
Namun, ini mengembalikan committer terakhir per cabang, belum tentu orang yang membuat cabang.
git
git-branch
Ofir Farchy
sumber
sumber
Jawaban:
Cabang tidak lain adalah pointer komit. Karena itu, ia tidak melacak metadata seperti "siapa yang menciptakan saya." Lihat diri mu sendiri. Coba
cat .git/refs/heads/<branch>
di repositori Anda.Itu ditulis, jika Anda benar-benar melacak informasi ini di repositori Anda, periksa deskripsi cabang. Mereka memungkinkan Anda untuk melampirkan metadata sewenang-wenang ke cabang, setidaknya secara lokal.
Juga jawaban DarVar di bawah ini adalah cara yang sangat cerdas untuk mendapatkan informasi ini.
sumber
Buat daftar cabang Git jarak jauh berdasarkan penulis diurutkan berdasarkan tanggal committer:
sumber
git for-each-ref --format='%(committerdate)%09%(authorname)%09%(refname)' | sort -k5n -k2M -k3n -k4n | grep remotes | awk -F "\t" '{ printf "%-32s %-27s %s\n", $1, $2, $3 }'
(mendapat ide dari stackoverflow.com/a/3631819 - mungkin perlu menyesuaikan angka dalam awk printf tergantung pada panjang dat maksimum / panjang nama penulis)Saya mengubah jawaban sebelumnya dengan menggunakan
--sort
bendera dan menambahkan beberapa warna / pemformatan:sumber
sumber
Menambahkan ke jawaban DarVar :
PS: Kami menggunakan AWK untuk cukup mencetak penulis dan cabang jarak jauh.
sumber
Anda dapat mengetahui siapa yang membuat cabang di repositori lokal Anda dengan
Contoh output:
Tapi ini mungkin tidak berguna karena biasanya di repositori lokal Anda hanya Anda membuat cabang.
Informasi disimpan di cabang ./.git/logs/refs/head/ . Contoh konten:
Komit terakhir dalam contoh ini berasal dari pengguna "b" sedangkan cabang "b2" dibuat oleh pengguna "a". Jika Anda mengubah nama pengguna, Anda dapat memverifikasi bahwa git reflog mengambil informasi dari log dan tidak menggunakan pengguna lokal.
Saya tidak tahu tentang kemungkinan untuk mengirimkan informasi log lokal ke repositori pusat.
sumber
Kita bisa mencari tahu berdasarkan authorname
sumber
Asumsi:
master
master
belumsumber
Saya tahu ini bukan sepenuhnya ruang lingkup pertanyaan, tetapi jika Anda merasa perlu untuk memfilter hanya dilakukan oleh penulis tertentu, Anda selalu dapat melakukan pipe to grep :)
selamat coding! :)
sumber
bagi mereka yang mencari DESC ... ini sepertinya berhasil
--sort=-
untuk pemformatan, baru dalam hal ini ... mataku kehilangan sebagian dari darahnya
ref lebih lanjut: https://stackoverflow.com/a/5188364/10643471
sumber
Sejauh yang saya tahu, Anda mungkin melihat apakah Anda adalah pencipta cabang saja. Ini ditunjukkan oleh baris pertama di .git / ref / head / <branch>. Jika diakhiri dengan "Created from HEAD" Anda adalah penciptanya.
sumber