سامان بهشتیان
سامان بهشتیان
من
  • تخصص
    DevOps, PHP, NodeJS, GO
  • Frameworks
    Yii, Laravel, CodeIgniter, Go Gin, Nest, Nuxt, symfony, Slim, Laravel filament
  • Languages
    Bash, C, NodeJS, PHP, GO, Groovy
  • Databases
    Postgres, MySQL, PostGIS, MongoDB, Redis, ClickHouse, ChromaDB
  • CICD
    GOCD, OneDev CICD, GitLab CICD, GitHub Action, ArgoCD
  • OS
    Ubuntu, Windows, Alpine, UmbrelOS, MacOS, VyOS, MicrotiK OS
  • Firewall
    SafeLine, PFSense, FortiGate, UFW, IPTables, ModSecurity

کدنویسی ابزار تحلیل مخزن های گیت

امروزه توسعه ی محصولات نرم افزاری هزینه ی زیادی را در بر میگیرد.

معمولا اغلب شرکت ها از گیت برای توسعه و اطمینان از حفظ تاریخچه و تغییرات اعمال شده استفاده میکنند.

همچنین Git این اجازه را می دهد تا بی نهایت توسعه دهنده در کنار یکدیگر کار کنند و یک سیستم واحد را توسعه دهند.

در این بین بعد از مدتی، دریافت آمار های مربوط به توسعه ی محصول اهمیت ویژه ای پیدا میکند.

من برای رفع این نیاز، یک ابزار اوپن سورس توسعه دادم که آمار هایی از مخازن گیت را در اختیار توسعه دهندگان، مدیران پروژه و مدیران ارشد بخش تکنیکال قرار می دهد و همچنان به بهبود و توسعه ی آن پایبندم.

اسم این ابزار گیتانا Gitana است که در گیت هاب در دسترس است.

 Gitana با ارائه مجموعه‌ای از معیارها، این نیازها را برآورده می‌کند که شامل موارد زیر است:

  • خطوط کد توسعه یافته
  • تعداد مشارکت‌کنندگان
  • نام‌های مشارکت‌کنندگان
  • تغییرات فایل‌ها در طول زمان
  • تاریخ ایجاد و حذف شاخه‌ها
  • تاریخ شروع پروژه
  • عمر پروژه

این معیارها درک عمیق‌تری از اکوسیستم مخزن Git فراهم می‌کنند و بینش‌های ارزشمندی درباره سلامت و پیشرفت پروژه ارائه می‌دهند.

نمونه ای از گزارشات ارایه شده توسط Gitana در مورد یکی از مخازن اوپن سورس در گیت هاب:

First commit

First Commit Info:
2016-12-12 18:30:29 +0100 Máximo Cuadros

contributors list

Contributors:
Name                           Commits
----------------------------------------
Robert Lin <robertlin1@gmail.com> 53
Aarni Koskela <akx@iki.fi>     15
Umar Nizamani <umar.nizamani@gmail.com> 2
Eli Flanagan <efx@users.noreply.github.com> 1
Jeff Foster <jeff.foster@acm.org> 1
Justin Poehnelt <justin.poehnelt@gmail.com> 1
Tim Overly <timothy.overly@gmail.com> 1
hnarasaki <29487319+hnarasaki@users.noreply.github.com> 1
Alexander Bezzubov <bzz@apache.org> 11
Máximo Cuadros <mcuadros@gmail.com> 2
Jeffrey McAteer <jeffrey.p.mcateer@gmail.com> 1
Konstantin Slavnov <kslavnov@gmail.com> 1
Marcelo Novaes <mnovaes@gmail.com> 1
Santiago M. Mola <santi@mola.io> 1
Vadim Markovtsev <vadim@sourced.tech> 806
Vadim Markovtsev <vadim@athenian.co> 11
Maxim Sukharev <max@smacker.ru> 7
moncho <ramon.cr@gmail.com>    2
Jim Doty <jdoty@pivotal.io>    1
Vadim Markovtsev <gmarkhor@gmail.com> 61
Andrew Kutta <andrew.kutta@gmail.com> 15
Maxim Sukharev <maxim@sourced.tech> 5
egor <egor@sourced.tech>       3
Anton Evers <anton@eve.rs>     1
Konstantin Slavnov <konstantin@sourced.tech> 1
Ádám Lippai <adam@rigo.sk>     1
---------------- 
 Contributors count are: 27

Merged branches count

Total branches created and merged: 4

All merged branches list

Merge Commits:
68bb211 Merge pull request #387 from AntonEvers/patch-1
f066cf0 Merge pull request #368 from src-d/roadmap
13a2081 Merge pull request #350 from tgsoverly/patch-1
7bb8f44 Merge pull request #344 from vmarkovtsev/master
6959c0d Merge pull request #343 from vmarkovtsev/master
9c2eaa7 Merge pull request #341 from vmarkovtsev/master
bd565d1 Merge pull request #339 from vmarkovtsev/master
1fca413 Merge pull request #336 from vmarkovtsev/master
c84a0ce Merge pull request #334 from vmarkovtsev/master
aa3ac80 Merge pull request #332 from vmarkovtsev/master
1f8e51e Merge pull request #331 from vmarkovtsev/master
78cfaf4 Merge pull request #323 from Jeffrey-P-McAteer/master
5aa0100 Merge pull request #330 from vmarkovtsev/master
0eae45a Merge pull request #329 from vmarkovtsev/master
e88ffee Merge pull request #326 from vmarkovtsev/master
5263b0a Merge pull request #321 from vmarkovtsev/master
a34cfd7 Merge pull request #319 from vmarkovtsev/master
31c0f92 Merge pull request #318 from vmarkovtsev/master
b498b35 Merge pull request #317 from akx/pkg-refactor
b56651f Merge pull request #314 from akx/frontend-fixes
4938fc5 Merge pull request #313 from vmarkovtsev/master
0933f0c Merge pull request #312 from src-d/vmarkovtsev-patch-2
a3ee508 Merge pull request #311 from src-d/vmarkovtsev-patch-2
eb0ff0c Merge pull request #310 from src-d/vmarkovtsev-patch-2
32865ac Merge pull request #309 from src-d/vmarkovtsev-patch-1
3b7d40c Merge pull request #308 from vmarkovtsev/master
9353ecc Merge pull request #307 from vmarkovtsev/master
1e4f13d Merge pull request #306 from vmarkovtsev/master
2687a40 Merge pull request #305 from vmarkovtsev/master
73ce53f Merge pull request #299 from vmarkovtsev/master
89b5284 Merge pull request #298 from vmarkovtsev/master
2082fb8 Merge pull request #297 from umarniz/patch-1
3a8653c Merge pull request #292 from vmarkovtsev/master
65a51f1 Merge pull request #289 from bzz/fix-devs
2fee74b Merge pull request #290 from bzz/devs-fontsize
5801380 Merge pull request #291 from vmarkovtsev/master
f2fde6d Merge pull request #286 from vmarkovtsev/master
91441a0 Merge pull request #285 from zurk/master
d01e880 Merge pull request #283 from bzz/doc-add-toc
fd9c564 Merge pull request #282 from justinwp/patch-1
3b04d23 Merge pull request #281 from vmarkovtsev/master
91ca4fe Merge pull request #280 from vmarkovtsev/master
154f0a0 Merge pull request #279 from vmarkovtsev/master
1ad2ef5 Merge pull request #276 from vmarkovtsev/master
8ec8477 Merge pull request #275 from vmarkovtsev/master
3dd3709 Merge pull request #273 from vmarkovtsev/master
9ebab69 Merge pull request #272 from vmarkovtsev/master
7f03cda Merge pull request #271 from vmarkovtsev/master
a4d2b46 Merge pull request #262 from bobheadxi/master
aca41e9 Merge branch 'master' of https://github.com/src-d/hercules
4a50675 Merge pull request #269 from vmarkovtsev/master
3d6ec73 Merge branch 'master' of https://github.com/src-d/hercules
e03f209 Merge pull request #264 from vmarkovtsev/master
d9ec9e6 Merge branch 'master' of https://github.com/src-d/hercules
ace56f7 Merge pull request #261 from vmarkovtsev/master
4295b79 Merge pull request #259 from bobheadxi/master
bf6626c Merge branch 'master' of https://github.com/src-d/hercules
8143c27 Merge pull request #258 from vmarkovtsev/master
e4fa650 Merge pull request #256 from vmarkovtsev/master
ecbc2cb Merge pull request #253 from efx/master
71f2f83 Merge pull request #251 from vmarkovtsev/master
9e3954e Merge pull request #249 from vmarkovtsev/master
0839cec Merge pull request #245 from bobheadxi/master
0cc6166 Merge branch 'master' of https://github.com/src-d/hercules
c8fd37d Merge pull request #243 from vmarkovtsev/master
b6d8e21 Merge pull request #242 from vmarkovtsev/master
fdda1b8 Merge pull request #241 from vmarkovtsev/master
f51263a Merge pull request #240 from vmarkovtsev/master
9fc20e3 Merge pull request #239 from vmarkovtsev/master
a51b9fd Merge pull request #236 from vmarkovtsev/master
5a89973 Merge pull request #234 from vmarkovtsev/master
d6c5828 Merge pull request #232 from bobheadxi/master
7e55135 Merge pull request #220 from smacker/commits_analyzis
676904b Merge pull request #231 from vmarkovtsev/master
c7c5cb6 Merge pull request #230 from bobheadxi/go-mod
9e72aec Merge pull request #228 from vmarkovtsev/master
a989179 Merge pull request #227 from vmarkovtsev/master
78951fc Merge pull request #226 from vmarkovtsev/master
5221d1c Merge pull request #225 from vmarkovtsev/master
bd7dfc7 Merge pull request #224 from vmarkovtsev/master
276e055 Merge pull request #223 from vmarkovtsev/master
4982508 Merge pull request #222 from vmarkovtsev/master
d286698 Merge pull request #221 from vmarkovtsev/master
b9eeab1 Merge pull request #219 from vmarkovtsev/master
0a3e606 Merge pull request #218 from vmarkovtsev/master
1d3e068 Merge pull request #217 from vmarkovtsev/master
7ef5c47 Merge pull request #214 from vmarkovtsev/master
b15a7f7 Merge pull request #213 from vmarkovtsev/master
9d0c627 Merge pull request #212 from vmarkovtsev/master
554a3cc Merge pull request #211 from vmarkovtsev/master
33b228d Merge pull request #210 from vmarkovtsev/master
5b6ccf7 Merge pull request #209 from vmarkovtsev/master
f982e9a Merge pull request #208 from vmarkovtsev/master
5f1d4e3 Merge pull request #207 from vmarkovtsev/master
3d0e073 Merge pull request #206 from vmarkovtsev/master
70d5da1 Merge pull request #205 from vmarkovtsev/master
a74de6e Merge pull request #204 from vmarkovtsev/master
4ff0f28 Merge pull request #203 from vmarkovtsev/master
8cb7d29 Merge pull request #202 from vmarkovtsev/master
f674726 Merge pull request #201 from vmarkovtsev/master
6177957 Merge pull request #200 from vmarkovtsev/master
d8ff73c Merge pull request #199 from vmarkovtsev/uastv2
0ed5ab2 Merge pull request #198 from vmarkovtsev/master
9217640 Merge pull request #197 from vmarkovtsev/master
c1002f4 Merge pull request #195 from vmarkovtsev/master
146e39f Merge pull request #194 from vmarkovtsev/master
3bb8f9f Merge pull request #192 from vmarkovtsev/master
85dd48a Merge pull request #191 from EgorBu/master
a8dc92e Merge pull request #189 from vmarkovtsev/master
c564b0f Merge pull request #186 from vmarkovtsev/master
d806059 Merge pull request #185 from vmarkovtsev/master
1f4363c Merge pull request #184 from vmarkovtsev/master
5ddf231 Merge pull request #183 from vmarkovtsev/master
d02b7ed Merge pull request #181 from vmarkovtsev/master
6f3f16d Merge pull request #177 from vmarkovtsev/master
3140ab4 Merge pull request #176 from vmarkovtsev/master
eac4d7b Merge pull request #175 from vmarkovtsev/master
71227aa Merge pull request #173 from EgorBu/master
40d8ffd Merge pull request #174 from vmarkovtsev/master
17fb758 Merge pull request #171 from vmarkovtsev/master
008ced6 Merge pull request #170 from EgorBu/master
e24f608 Merge pull request #169 from vmarkovtsev/master
1bf23cc Merge pull request #167 from vmarkovtsev/master
71cf6ea Merge pull request #165 from vmarkovtsev/master
3582952 Merge pull request #162 from vmarkovtsev/master
e90cb41 Merge pull request #161 from vmarkovtsev/master
3d7d2f6 Merge pull request #160 from vmarkovtsev/master
754c78f Merge pull request #159 from vmarkovtsev/master
36058d7 Merge pull request #158 from vmarkovtsev/master
bdc9bc2 Merge pull request #157 from vmarkovtsev/master
5b6f5be Merge pull request #156 from vmarkovtsev/master
67be01c Merge pull request #154 from vmarkovtsev/master
a1625c4 Merge pull request #152 from vmarkovtsev/master
38302e1 Merge pull request #151 from vmarkovtsev/master
b32930c Merge pull request #150 from vmarkovtsev/master
ee0d356 Merge pull request #149 from vmarkovtsev/master
2f32ae1 Merge pull request #148 from vmarkovtsev/master
cc0b759 Merge pull request #146 from vmarkovtsev/alloc
9ec8a94 Merge pull request #145 from vmarkovtsev/master
01fc428 Merge pull request #144 from vmarkovtsev/master
abc082d Merge pull request #143 from vmarkovtsev/master
2f2b600 Merge pull request #141 from vmarkovtsev/master
7063176 Merge pull request #140 from vmarkovtsev/master
3530ffb Merge pull request #139 from vmarkovtsev/master
7b7c6f3 Merge pull request #137 from vmarkovtsev/master
8b2349d Merge pull request #136 from vmarkovtsev/master
5cf526c Merge pull request #135 from vmarkovtsev/master
0adaec9 Merge pull request #133 from vmarkovtsev/master
c4191d3 Merge pull request #130 from src-d/mcuadros-patch-1
7af1d66 Merge pull request #129 from vmarkovtsev/master
81a9c67 Merge pull request #127 from vmarkovtsev/master
f8dc7d8 Merge pull request #125 from vmarkovtsev/master
880ddd3 Merge pull request #124 from marnovo/patch-1
220b31c Merge pull request #122 from vmarkovtsev/master
ed99cbb Merge pull request #121 from src-d/gofmt
d9a9923 Merge pull request #119 from src-d/akutta
6b5a36d Merge pull request #117 from vmarkovtsev/master
a456f6a Merge pull request #116 from hnarasaki/patch-1
6b769fe Merge pull request #115 from doty-pivotal/patch-1
28fe0f7 Merge pull request #114 from vmarkovtsev/master
2823c39 Merge pull request #113 from zurk/feature/skip-member-dco
48ef358 Merge pull request #110 from vmarkovtsev/master
ac5241f Merge pull request #109 from vmarkovtsev/master
5c773e9 Merge pull request #108 from alippai/patch-1
9b8478d Merge pull request #105 from vmarkovtsev/master
6d4e71f Merge pull request #104 from vmarkovtsev/master
6263157 Merge pull request #103 from vmarkovtsev/master
01960a1 Merge pull request #101 from vmarkovtsev/master
143d495 Merge pull request #100 from vmarkovtsev/master
61bbc08 Merge pull request #99 from vmarkovtsev/master
48c3238 Merge pull request #98 from vmarkovtsev/master
41145d0 Merge pull request #97 from vmarkovtsev/master
484651b Merge pull request #96 from vmarkovtsev/master
64390ae Merge pull request #95 from vmarkovtsev/master
d9bba43 Merge pull request #94 from vmarkovtsev/master
f87d7f4 Merge pull request #93 from vmarkovtsev/master
c655010 Merge pull request #91 from vmarkovtsev/master
d8e7e2a Merge pull request #90 from vmarkovtsev/master
e038db1 Merge pull request #89 from vmarkovtsev/master
99abfb2 Merge pull request #88 from vmarkovtsev/master
7deed59 Merge pull request #87 from vmarkovtsev/master
30e1d40 Merge pull request #86 from vmarkovtsev/master
b50415b Merge pull request #85 from vmarkovtsev/master
34c377c Merge pull request #84 from vmarkovtsev/master
431f0f5 Merge pull request #83 from vmarkovtsev/master
b054795 Merge pull request #82 from vmarkovtsev/master
5091260 Merge pull request #81 from vmarkovtsev/master
b879000 Merge pull request #79 from vmarkovtsev/master
06716c2 Merge pull request #76 from vmarkovtsev/master
4e34f03 Merge branch 'v4'
90ec58b Merge pull request #75 from vmarkovtsev/master
6ad0625 Merge pull request #74 from vmarkovtsev/master
0d4a50a Merge pull request #72 from vmarkovtsev/master
be21825 Merge pull request #62 from smacker/skip_vendor
7142bfd Merge pull request #68 from vmarkovtsev/master
e5d34f8 Merge pull request #67 from vmarkovtsev/master
64c2899 Merge pull request #65 from moncho/master
ba62630 Merge pull request #64 from vmarkovtsev/master
28e4dff Merge pull request #63 from vmarkovtsev/master
8acebba Merge pull request #61 from src-d/vmarkovtsev-patch-1
e917c88 Merge pull request #58 from vmarkovtsev/master
6bdbcbb Merge pull request #57 from vmarkovtsev/master
13c4190 Merge pull request #56 from vmarkovtsev/master
67ea138 Merge pull request #55 from vmarkovtsev/master
4778f5f Merge pull request #54 from vmarkovtsev/master
fe00c0d Merge pull request #48 from vmarkovtsev/master
15e244a Merge pull request #53 from smacker/patch-3
4859e9b Merge pull request #52 from smacker/patch-2
c702f52 Merge pull request #51 from smacker/patch-1
3a7c8a5 Merge pull request #47 from vmarkovtsev/master
99e0e47 Merge pull request #46 from vmarkovtsev/master
aefdedf Merge pull request #45 from vmarkovtsev/master
9413d4b Merge pull request #44 from vmarkovtsev/master
1e076dc Merge pull request #43 from vmarkovtsev/master
5af556f Merge pull request #42 from vmarkovtsev/master
9e5a713 Merge pull request #40 from vmarkovtsev/master
1f59ecd Merge pull request #39 from vmarkovtsev/master
1bec779 Merge pull request #38 from vmarkovtsev/master
85e172e Merge pull request #37 from vmarkovtsev/master
2296356 Merge pull request #36 from vmarkovtsev/master
e809ed1 Merge pull request #35 from vmarkovtsev/master
7f3259d Merge pull request #34 from vmarkovtsev/master
90bb3c9 Merge pull request #33 from vmarkovtsev/master
d93b85b Merge pull request #32 from vmarkovtsev/master
690906f Merge pull request #31 from vmarkovtsev/master
0dd2326 Merge pull request #30 from vmarkovtsev/master
3d65a6f Merge pull request #29 from vmarkovtsev/master
9b6086c Merge pull request #28 from vmarkovtsev/master
b7bbf50 Merge pull request #27 from vmarkovtsev/master
56904dc Merge pull request #26 from vmarkovtsev/master
9b30d2a Merge pull request #25 from vmarkovtsev/master
2d3198c Merge pull request #24 from vmarkovtsev/master
ebf6a52 Merge pull request #23 from vmarkovtsev/master
dbdb815 Merge pull request #22 from vmarkovtsev/master
46dff37 Merge pull request #21 from src-d/uast
d701b92 Merge pull request #19 from fffej/patch-1
c2dc940 Merge pull request #15 from vmarkovtsev/master
dd9dd08 Merge pull request #10 from bzz/fix/swivel-import
db325a2 Merge pull request #7 from bzz/add-files-per-author
a28e906 Merge pull request #1 from vmarkovtsev/master

all project files lines

21584

در نهایت، من یک مقاله در مورد گیتانا در مدیوم نوشته ام که به درک کاربردهای آن بیشتر کمک میکند:

Gitana: Revolutionizing Git Repository Analysis | by YiiMan | Nov, 2024 | Medium

انتشار تمامی مقالات با ذکر منبع بلامانع است 😍
Email: info@yiiman.ir
میتونید به من پیغام بدید
میتونید به من پیغام بدید