본문 바로가기

GIT

Source Code 변경사항 추적방법

예를 들어보자,

대형 프로젝트에서 버그가 발견되어 Developer community에 보고 후, patch가 될 것을 통보 받았다.

patch가 정상적으로 진행되었는지 확인하는 방법이다.

 

현재 브랜치 확인

git branch

 

먼저 develope branch로 이동

git checkout develop

 

번외편 : 내가 만든 local change를 버리려면,

git reset --hard HEAD

 

최신 버전으로 업데이트

git pull

 

최신 로그 확인

$ git log -1                                                                   00:05:25 [15/15]
commit aaa81b25768bb8d1b0787acf1f570d572e9795c0 (HEAD -> develop, origin/develop, origin/HEAD)
Merge: f6c2f5bc74 f5099b7c16
Author: Axel Kohlmeyer <akohlmey@gmail.com>
Date:   Thu Feb 27 03:02:39 2025 -0500

    Merge pull request #4475 from lasergyro/patch-1

    Update fix_press_langevin.rst to include full equation 13

 

특정 파일의 변동이력 확인

$ git blame src/OPENMP/fix_rigid_small_omp.cpp -L 220,240
00be9561e71 src/USER-OMP/fix_rigid_small_omp.cpp (sjplimp           2013-02-15 17:36:53 +0000 220)       tcm[0] += langextra[ibody][3];
00be9561e71 src/USER-OMP/fix_rigid_small_omp.cpp (sjplimp           2013-02-15 17:36:53 +0000 221)       tcm[1] += langextra[ibody][4];
00be9561e71 src/USER-OMP/fix_rigid_small_omp.cpp (sjplimp           2013-02-15 17:36:53 +0000 222)       tcm[2] += langextra[ibody][5];
00be9561e71 src/USER-OMP/fix_rigid_small_omp.cpp (sjplimp           2013-02-15 17:36:53 +0000 223)     }
00be9561e71 src/USER-OMP/fix_rigid_small_omp.cpp (sjplimp           2013-02-15 17:36:53 +0000 224)   }
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 225)
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 226)   // add gravity force to COM of each body
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 227)
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 228)   if (id_gravity) {
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 229) #if defined(_OPENMP)
0bedebc083d src/USER-OMP/fix_rigid_small_omp.cpp (Michael Lamparski 2020-03-20 12:16:22 -0400 230) #pragma omp parallel for LMP_DEFAULT_NONE schedule(static)
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 231) #endif
11f66b4da11 src/OPENMP/fix_rigid_small_omp.cpp   (Axel Kohlmeyer    2025-02-19 07:36:20 -0500 232)     for (int ibody = 0; ibody < nlocal_body; ibody++) {
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 233)       double * _noalias const fcm = body[ibody].fcm;
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 234)       const double mass = body[ibody].mass;
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 235)       fcm[0] += gvec[0]*mass;
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 236)       fcm[1] += gvec[1]*mass;
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 237)       fcm[2] += gvec[2]*mass;
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 238)     }
3b76ab56f05 src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2019-12-20 12:09:50 -0500 239)   }
bf9f084d72d src/USER-OMP/fix_rigid_small_omp.cpp (Axel Kohlmeyer    2017-09-08 14:09:44 -0400 240) }

 

구체적인 작업내용 확인

$ git show 11f66b4da11
commit 11f66b4da1151d6eca9e1abe220a6a50e898f807
Author: Axel Kohlmeyer <akohlmey@gmail.com>
Date:   Wed Feb 19 07:36:20 2025 -0500

    fix copy and paste bug

diff --git a/src/OPENMP/fix_rigid_small_omp.cpp b/src/OPENMP/fix_rigid_small_omp.cpp
index 59fd274f95..3eac85c40a 100644
--- a/src/OPENMP/fix_rigid_small_omp.cpp
+++ b/src/OPENMP/fix_rigid_small_omp.cpp
@@ -229,7 +229,7 @@ void FixRigidSmallOMP::compute_forces_and_torques()
 #if defined(_OPENMP)
 #pragma omp parallel for LMP_DEFAULT_NONE schedule(static)
 #endif
-    for (int ibody = 0; ibody < nbody; ibody++) {
+    for (int ibody = 0; ibody < nlocal_body; ibody++) {
       double * _noalias const fcm = body[ibody].fcm;
       const double mass = body[ibody].mass;
       fcm[0] += gvec[0]*mass;