<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Appia의 IT세상</title>
    <link>https://appia.tistory.com/</link>
    <description>개발 및 IT 관련 다양한 소식을 이야기로 전하고 있습니다. 
모두 소통하며, 도움이 되셨다면, 공감 및 댓글 부탁드립니다. </description>
    <language>ko</language>
    <pubDate>Sat, 20 Jun 2026 22:55:57 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Appia</managingEditor>
    <image>
      <title>Appia의 IT세상</title>
      <url>https://tistory1.daumcdn.net/tistory/2919201/attach/e226702a7ac94e989c9e4fd132b6536a</url>
      <link>https://appia.tistory.com</link>
    </image>
    <item>
      <title>파이썬 특정 폴더 파일 목록 추출: pathlib&amp;middot;glob&amp;middot;os 비교 + CSV 저장</title>
      <link>https://appia.tistory.com/911</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬&amp;nbsp;특정&amp;nbsp;폴더&amp;nbsp;파일&amp;nbsp;목록&amp;nbsp;추출:&amp;nbsp;pathlib&amp;middot;glob&amp;middot;os&amp;nbsp;비교&amp;nbsp;+&amp;nbsp;CSV&amp;nbsp;저장&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;썸네일_ReadOnly [자동 저장].png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/de36ar/dJMcaaRwnMb/vGHom5rwAhWK9Zv54SOfl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/de36ar/dJMcaaRwnMb/vGHom5rwAhWK9Zv54SOfl0/img.png&quot; data-alt=&quot;파이썬 특정 폴더 파일 목록 추출: pathlib&amp;amp;middot;glob&amp;amp;middot;os 비교 + CSV 저장&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/de36ar/dJMcaaRwnMb/vGHom5rwAhWK9Zv54SOfl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fde36ar%2FdJMcaaRwnMb%2FvGHom5rwAhWK9Zv54SOfl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;945&quot; data-filename=&quot;썸네일_ReadOnly [자동 저장].png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬 특정 폴더 파일 목록 추출: pathlib&amp;middot;glob&amp;middot;os 비교 + CSV 저장&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 경로에 파일 목록을 가져오는 작업은 배포&lt;span&gt;, &lt;/span&gt;로그 수집&lt;span&gt;, &lt;/span&gt;데이터 전처리 및 배포 자동화에서 많이 사용됩니다&lt;span&gt;. &lt;/span&gt;하지만&lt;span&gt;, &lt;/span&gt;막상 이 부분에 대해서 구현하려고 하면 어디서부터 해야하는 지에 대해서 고민하게 됩니다&lt;span&gt;. &lt;/span&gt;그래서 이번 포스팅에서는&lt;span&gt; pathlib, glob, os&lt;/span&gt;모듈을 통해서 특정 폴더 경로를 구현하는 방법에 대해서 다루어 보겠습니다&lt;span&gt;. &lt;/span&gt;그리고 현업에서 바로 사용할 수 있는&lt;span&gt; csv&lt;/span&gt;파일로 저장하는 형태 부분 또한 다루어 보겠습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;TL;DR&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pathlib(추천): Path.iterdir() / Path.rglob() / is_file()로 파일을 안전하게 구분하면서(폴더 제외) 현재&amp;middot;하위 폴더까지 쉽게 수집&lt;/li&gt;
&lt;li&gt;glob: &quot;*.csv&quot; 같은 패턴 기반 검색에 간단하고 빠름&lt;/li&gt;
&lt;li&gt;os: 기존 코드 호환(레거시) 또는 os.walk()처럼 순회 과정 제어가 필요할 때 유용&lt;/li&gt;
&lt;li&gt;CSV 저장: 표준 라이브러리 csv만으로 충분&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; 1. pathlib (추천)&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; 1.1. 현재 폴더의 파일만 출력&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, pathlib을 가장 추천하는 방식이라, 먼저 이야기 해보겠습니다. 특정 폴더를 정하고 그 폴더의 파일만 출력하는 예시를 작성해봤습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1767794914050&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path

base = Path(r&quot;D:\workspace\pyAutoRelease&quot;)

for p in base.iterdir():
    if p.is_file():
        print(p.name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드를 실행해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n0XQ9/dJMcafSPZAF/g23s1wA2pXutOXngw7pIA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n0XQ9/dJMcafSPZAF/g23s1wA2pXutOXngw7pIA0/img.png&quot; data-alt=&quot;그림 1. 현재 폴더의 파일만 출력 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n0XQ9/dJMcafSPZAF/g23s1wA2pXutOXngw7pIA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn0XQ9%2FdJMcafSPZAF%2Fg23s1wA2pXutOXngw7pIA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1014&quot; height=&quot;468&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 1. 현재 폴더의 파일만 출력 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 실제 생성한 폴더에 해당하는 파일들이 출력되는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; 1.2. 확장자 필터: glob(&quot;*.py&quot;)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예시에서 약간의 변형을 주고자 합니다. 1.1 챕터에서 다루는 예제에서 특정 확장자만 되어 있는 파일만 출력하고 싶습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 glob을 이용하여 하기와 같이 예시 코드를 구성할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767795300148&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path

base = Path(r&quot;D:\workspace\pyAutoRelease&quot;)

for p in base.glob(&quot;*.py&quot;):
    if p.is_file():
        print(p.name)

#결과 : 그림1의 폴더 참조
#main.py
#Test.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 실행하면 py확장자를 가진 파일들만 출력이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1.3. 하위 폴더 포함 재귀 탐색: rglob(&quot;*&quot;)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 하위 폴더의 파일까지 출력해주는 예시를 작성해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767795551194&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path

base = Path(r&quot;D:\workspace\pyAutoRelease&quot;)

for p in base.rglob(&quot;*&quot;):
    if p.is_file():
        print(p) #p 전체 경로 / p.name 파일명만&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 위의 코드를 실행하면 앞서서 1.1.에서 실행한 예제와 달리 경로까지 모두 출력이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;431&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSD4i6/dJMcaaxdscK/q9Z4Y7YynJVgVdAskZwtK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSD4i6/dJMcaaxdscK/q9Z4Y7YynJVgVdAskZwtK0/img.png&quot; data-alt=&quot;그림 2. 하위 폴더 포함 재귀 탐색: rglob(&amp;quot;*&amp;quot;) 예시 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSD4i6/dJMcaaxdscK/q9Z4Y7YynJVgVdAskZwtK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSD4i6%2FdJMcaaxdscK%2Fq9Z4Y7YynJVgVdAskZwtK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;778&quot; height=&quot;431&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;431&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 2. 하위 폴더 포함 재귀 탐색: rglob(&quot;*&quot;) 예시 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에 확장자 필터를 하고 싶다면 다음과 같은 부분을 변경해 주면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767795651528&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for p in base.rglob(&quot;*.py&quot;): #py 부분의 확장자만 출력하기&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 부분을 변경해서 수정하여 진행했다면 다음과 같은 결과가 나오는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;851&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lgjP8/dJMcahb11qV/D2AK6xBSo2CbKkHrUkxkOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lgjP8/dJMcahb11qV/D2AK6xBSo2CbKkHrUkxkOk/img.png&quot; data-alt=&quot;그림 2. 하위 폴더 포함 재귀 탐색: rglob(&amp;quot;*.py&amp;quot;) 확장자 필터링 적용 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lgjP8/dJMcahb11qV/D2AK6xBSo2CbKkHrUkxkOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlgjP8%2FdJMcahb11qV%2FD2AK6xBSo2CbKkHrUkxkOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;851&quot; height=&quot;472&quot; data-origin-width=&quot;851&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 2. 하위 폴더 포함 재귀 탐색: rglob(&quot;*.py&quot;) 확장자 필터링 적용 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rglob(&quot;*&quot;)는 파일/폴더가 다 나오니, is_file() 필터를 사용하는 것을 권장합니다. 한가지 단점으로 대규모 폴더일 경우에 다소 느릴 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1.4. 정렬하여 출력하기 : 이름순 / 수정시간 순&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞선 과정에서 하위 경로까지 진행을 해봤습니다. 그럼 정렬하여 출력하는 방법에 대해서 이야기를 해보겠습니다. 이 부분에 대해서 이름 순/수정시간 순으로 정렬할 수 있는데, 그 방법에 대해서 예시로 작성해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767796306095&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path

base = Path(r&quot;D:\workspace\pyAutoRelease&quot;)

files = [p for p in base.iterdir() if p.is_file()]

# 이름순
for p in sorted(files, key=lambda x: x.name.lower()):
    print(p.name)

# 수정시간 최신순
for p in sorted(files, key=lambda x: x.stat().st_mtime, reverse=True):
    print(p.name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 하위 폴더 까지 할 경우에 iterdir() 부분을 rglob(&quot;*&quot;)로 변경해주시면 됩니다. 단, 이럴 경우에 하위 폴더의 모든 파일까지 이름을 비교하여 출력해줍니다. 이 부분에 대해서 폴더 단위로 정렬해서 출력하는 부분에 대해서 다음 포스팅에서 오늘 포스팅 한 부분의 고급 응용하는 방법에 대해서 별도로 포스팅을 할 예정입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. glob 모듈&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; 2.1. 현재 폴더에서 패턴 검색 &lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;glob는 문자열 경로 기반으로 동작합니다. 따라서, 특정 패턴의 파일만 뽑기에는 매우 간단합니다. 그러면 다음 예시를 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767797445907&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import glob

base = r&quot;D:\workspace\pyAutoRelease&quot;
paths = glob.glob(base + r&quot;\*.py&quot;)

for p in paths:
    print(p)
    
    
&quot;&quot;&quot;
결과
D:\workspace\pyAutoRelease\main.py
D:\workspace\pyAutoRelease\Test.py
&quot;&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2.2. 하위 폴더까지 재귀&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 하위 폴더까지 재귀로 파일을 추출해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767797574756&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import glob

base = r&quot;D:\workspace\pyAutoRelease&quot;
paths = glob.glob(base + r&quot;\**\*.py&quot;, recursive=True)

for p in paths:
    print(p)
    
&quot;&quot;&quot;
결과 
D:\workspace\pyAutoRelease\main.py
D:\workspace\pyAutoRelease\Test.py
D:\workspace\pyAutoRelease\config\auth_git.py
D:\workspace\pyAutoRelease\config\load_config.py
D:\workspace\pyAutoRelease\config\__init__.py
D:\workspace\pyAutoRelease\core\deployer.py
D:\workspace\pyAutoRelease\core\sync_repo.py
D:\workspace\pyAutoRelease\core\__init__.py
D:\workspace\pyAutoRelease\util\build_file_list.py
D:\workspace\pyAutoRelease\util\log.py
D:\workspace\pyAutoRelease\util\util_basic.py
D:\workspace\pyAutoRelease\util\__init__.py
&quot;&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한가지 glob을 사용할 경우에 주의 할점이 바로, 폴더인지 아니면 파일인지에 대해서 확인이 필요로 한 것입니다. string 형태로 반환이 되기 때문에, 확인하는 절차를 코드상에 입력하다면 다소 코드가 복잡해질 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. os / os.path 모듈&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;os.listdir()은 오래전부터 사용해오던 방식입니다. 저의 포스팅에서도 os.walk부분은 다룬적이 있습니다. 다만 pathlib에 비해서 경로처리가 문자열 중심이라 약간의 실수들이 발생할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3.1. 현재 폴더의 파일만 출력 (os.listdir + os.path.isfile)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 폴더의 있는 파일만 출력하는 예제를 작성해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767798200595&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import os

base = r&quot;D:\workspace\pyAutoRelease&quot;

for name in os.listdir(base):
    full = os.path.join(base, name)
    if os.path.isfile(full):
        print(name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;pathlib의 예제보다 다소 코드가 복잡함을 알 수 있습니다. 하지만, 레거시 코드/기존 os.path 코드베이스에서는 os 방식이 자연스럽습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&amp;nbsp;3.2. 하위 폴더까지 탐색 (os.walk)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 예시로 작성을 하면 하위 폴더의 있는 파일들까지 추출이 가능합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767798314229&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import os

base = r&quot;D:\workspace\pyAutoRelease&quot;

for root, dirs, files in os.walk(base):
    for name in files:
        print(os.path.join(root, name))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 실무 체크 포인트 (파일/폴더구분 체크)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가끔 exists()가 True여도 실제로는 파일이 아니라 폴더인 경우가 있습니다.&amp;nbsp;&lt;br /&gt;&lt;i&gt;예:&amp;nbsp;config.json이라는&amp;nbsp;이름의&amp;nbsp;폴더가&amp;nbsp;존재하는&amp;nbsp;상황&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;이런 경우 파일을 열려고 했는데 실패 같은 문제가 발생할 수 있으니, 열기/읽기 전에는 is_file()(또는 os.path.isfile)로 확인하는 게 안전합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1767798980440&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path

p = Path(&quot;config.json&quot;)

if p.exists() and p.is_file():
    print(&quot;파일이 존재합니다.&quot;)
elif p.exists() and p.is_dir():
    print(&quot;주의: 같은 이름의 '폴더'가 존재합니다.&quot;)
else:
    print(&quot;존재하지 않습니다.&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. pathlib&amp;middot;glob&amp;middot;os비교&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 각 모듈을 사용해서 파일을 추출하는 방법에 대해서 살펴봤습니다. 이번에는 pathlib, glob와 os 모듈을 각각 비교해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;3434&quot; data-start=&quot;3099&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 구분 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;pathlib&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;glob&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;os&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3189&quot; data-start=&quot;3146&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3155&quot; data-start=&quot;3146&quot;&gt;기본 추천도&lt;/td&gt;
&lt;td data-end=&quot;3163&quot; data-start=&quot;3155&quot; data-col-size=&quot;sm&quot;&gt;가장 추천&lt;/td&gt;
&lt;td data-end=&quot;3175&quot; data-start=&quot;3163&quot; data-col-size=&quot;sm&quot;&gt;패턴만 필요할 때&lt;/td&gt;
&lt;td data-end=&quot;3189&quot; data-start=&quot;3175&quot; data-col-size=&quot;sm&quot;&gt;레거시/저수준 제어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3227&quot; data-start=&quot;3190&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3198&quot; data-start=&quot;3190&quot;&gt;반환 타입&lt;/td&gt;
&lt;td data-end=&quot;3208&quot; data-start=&quot;3198&quot; data-col-size=&quot;sm&quot;&gt;Path 객체&lt;/td&gt;
&lt;td data-end=&quot;3217&quot; data-start=&quot;3208&quot; data-col-size=&quot;sm&quot;&gt;str 경로&lt;/td&gt;
&lt;td data-end=&quot;3227&quot; data-start=&quot;3217&quot; data-col-size=&quot;sm&quot;&gt;str 경로&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3287&quot; data-start=&quot;3228&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3239&quot; data-start=&quot;3228&quot;&gt;현재 폴더 파일&lt;/td&gt;
&lt;td data-end=&quot;3251&quot; data-start=&quot;3239&quot; data-col-size=&quot;sm&quot;&gt;iterdir()&lt;/td&gt;
&lt;td data-end=&quot;3267&quot; data-start=&quot;3251&quot; data-col-size=&quot;sm&quot;&gt;glob(&quot;*.ext&quot;)&lt;/td&gt;
&lt;td data-end=&quot;3287&quot; data-start=&quot;3267&quot; data-col-size=&quot;sm&quot;&gt;listdir()+isfile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3336&quot; data-start=&quot;3288&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3296&quot; data-start=&quot;3288&quot;&gt;재귀 탐색&lt;/td&gt;
&lt;td data-end=&quot;3306&quot; data-start=&quot;3296&quot; data-col-size=&quot;sm&quot;&gt;rglob()&lt;/td&gt;
&lt;td data-end=&quot;3325&quot; data-start=&quot;3306&quot; data-col-size=&quot;sm&quot;&gt;&quot;**&quot; + recursive&lt;/td&gt;
&lt;td data-end=&quot;3336&quot; data-start=&quot;3325&quot; data-col-size=&quot;sm&quot;&gt;os.walk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3404&quot; data-start=&quot;3337&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3348&quot; data-start=&quot;3337&quot;&gt;파일/폴더 판별&lt;/td&gt;
&lt;td data-end=&quot;3369&quot; data-start=&quot;3348&quot; data-col-size=&quot;sm&quot;&gt;is_file()/is_dir()&lt;/td&gt;
&lt;td data-end=&quot;3380&quot; data-start=&quot;3369&quot; data-col-size=&quot;sm&quot;&gt;별도 판별 필요&lt;/td&gt;
&lt;td data-end=&quot;3404&quot; data-start=&quot;3380&quot; data-col-size=&quot;sm&quot;&gt;os.path.isfile/isdir&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3434&quot; data-start=&quot;3405&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3415&quot; data-start=&quot;3405&quot;&gt;가독성/확장성&lt;/td&gt;
&lt;td data-end=&quot;3420&quot; data-start=&quot;3415&quot; data-col-size=&quot;sm&quot;&gt;좋음&lt;/td&gt;
&lt;td data-end=&quot;3425&quot; data-start=&quot;3420&quot; data-col-size=&quot;sm&quot;&gt;보통&lt;/td&gt;
&lt;td data-end=&quot;3434&quot; data-start=&quot;3425&quot; data-col-size=&quot;sm&quot;&gt;보통~낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;6. CSV 추출 하기&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 pathlib을 활용하여 csv추출하는 간단한 예시를 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767799273787&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from pathlib import Path
import csv

base = Path(r&quot;D:\workspace\pyAutoRelease&quot;)
files = [p for p in base.rglob(&quot;*&quot;) if p.is_file()]

out = Path(&quot;files.csv&quot;)
with out.open(&quot;w&quot;, newline=&quot;&quot;, encoding=&quot;utf-8-sig&quot;) as f:
    w = csv.writer(f)
    w.writerow([&quot;path&quot;, &quot;name&quot;, &quot;size_bytes&quot;])
    for p in files:
        w.writerow([str(p), p.name, p.stat().st_size])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드를 수행하고 나서, 생성된 csv 파일을 보면 다음과 같음을 알 수 있습니다. 스크립트 실행 위치에 생성됩니다. (원하면 out 경로 지정 가능)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XdBR0/dJMcahb12bq/xXBNgX8oGfOBHrcMoIlAUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XdBR0/dJMcahb12bq/xXBNgX8oGfOBHrcMoIlAUK/img.png&quot; data-alt=&quot;그림 3. csv 파일 생성 예제 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XdBR0/dJMcahb12bq/xXBNgX8oGfOBHrcMoIlAUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXdBR0%2FdJMcahb12bq%2FxXBNgX8oGfOBHrcMoIlAUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;834&quot; height=&quot;438&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 3. csv 파일 생성 예제 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 파이썬으로 특정 폴더(하위 폴더 포함)의 파일 목록을 추출하는 방법을 pathlib, glob, os 관점에서 비교해봤습니다. 정리하면,&amp;nbsp;대부분의&amp;nbsp;자동화/스크립트&amp;nbsp;작업에서는&amp;nbsp;pathlib가&amp;nbsp;가장&amp;nbsp;읽기&amp;nbsp;쉽고&amp;nbsp;확장하기도&amp;nbsp;편해&amp;nbsp;기본&amp;nbsp;선택으로&amp;nbsp;추천합니다.&amp;nbsp;패턴&amp;nbsp;매칭만&amp;nbsp;빠르게&amp;nbsp;필요하면&amp;nbsp;glob도&amp;nbsp;충분히&amp;nbsp;간단하고,&amp;nbsp;기존&amp;nbsp;코드&amp;nbsp;호환이나&amp;nbsp;순회&amp;nbsp;제어가&amp;nbsp;필요할&amp;nbsp;때는&amp;nbsp;os.walk가&amp;nbsp;여전히&amp;nbsp;유용합니다.&lt;br /&gt;&lt;br /&gt;또한 파일 목록을 실제로 활용하려면 결과를 저장하는 경우가 많기 때문에, 마지막에는 표준 라이브러리 csv로 간단히 CSV 파일로 내보내는 예제도 함께 정리했습니다. 다음 글에서는 CSV를 조금 더 실무적으로 다루는 방법(인코딩/대용량 처리/컬럼 구성)과 함께, 엑셀(xlsx)로 저장하는 방법까지 확장해서 정리해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1767799663810&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬 파일&amp;middot;디렉터리 유무 확인 방법: os.path vs pathlib, 예외 처리까지&quot; data-og-description=&quot;파이썬 파일&amp;middot;디렉터리 유무 확인 방법: os.path vs pathlib, 예외 처리까지 최종 업데이트: 2026-01-06 파이썬에서 파일/디렉터리 존재 여부를 확인하는 방법을 pathlib 중심으로 정리하겠습니다. exists/is_f&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/99&quot; data-og-url=&quot;https://appia.tistory.com/99&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cEcv64/hyZRgAORGN/FKhvb6rhmDvJ5LeJ3naAS0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/CPsKw/hyZQJJ4P08/IGPEKNKar3kz75IsKlUUaK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bcYXOV/hyZPGnUBsO/GZd6PNlIIaGgQISakJBv6k/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/99&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/99&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cEcv64/hyZRgAORGN/FKhvb6rhmDvJ5LeJ3naAS0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/CPsKw/hyZQJJ4P08/IGPEKNKar3kz75IsKlUUaK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bcYXOV/hyZPGnUBsO/GZd6PNlIIaGgQISakJBv6k/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬 파일&amp;middot;디렉터리 유무 확인 방법: os.path vs pathlib, 예외 처리까지&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬 파일&amp;middot;디렉터리 유무 확인 방법: os.path vs pathlib, 예외 처리까지 최종 업데이트: 2026-01-06 파이썬에서 파일/디렉터리 존재 여부를 확인하는 방법을 pathlib 중심으로 정리하겠습니다. exists/is_f&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 응용</category>
      <category>csv저장</category>
      <category>glob</category>
      <category>oswalk</category>
      <category>pathlib</category>
      <category>python</category>
      <category>디렉토리탐색</category>
      <category>자동화스크립트</category>
      <category>파이썬</category>
      <category>파일목록</category>
      <category>폴더탐색</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/911</guid>
      <comments>https://appia.tistory.com/911#entry911comment</comments>
      <pubDate>Thu, 8 Jan 2026 00:30:40 +0900</pubDate>
    </item>
    <item>
      <title>[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수)</title>
      <link>https://appia.tistory.com/910</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span&gt;[3&lt;/span&gt;화&lt;span&gt;]&amp;nbsp;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: Config&amp;nbsp;&lt;/span&gt;설계&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;로더 구현&lt;span&gt;(&lt;/span&gt;스키마&lt;span&gt;/&lt;/span&gt;검증&lt;span&gt;/&lt;/span&gt;기본값&lt;span&gt;/&lt;/span&gt;환경변수&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;파이썬 배포 자동화 Config 설계_로더 구현_스키마_검증_기본값_환경변수.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3IQ0M/dJMcai9MFMy/pHCkVoVS7U2Gs1lQKoTGuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3IQ0M/dJMcai9MFMy/pHCkVoVS7U2Gs1lQKoTGuK/img.png&quot; data-alt=&quot;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp;amp; 로더 구현(스키마/검증/기본값/환경변수)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3IQ0M/dJMcai9MFMy/pHCkVoVS7U2Gs1lQKoTGuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3IQ0M%2FdJMcai9MFMy%2FpHCkVoVS7U2Gs1lQKoTGuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;945&quot; data-filename=&quot;파이썬 배포 자동화 Config 설계_로더 구현_스키마_검증_기본값_환경변수.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 포스팅에서는 파이썬 코드에 대한 구조와 전체적인 아키텍처에 대해서 다루었습니다&lt;span&gt;. &lt;/span&gt;이어서 이번 포스팅에서는 실제 구현 파트로 넘어가&lt;span&gt;, Config &lt;/span&gt;설계와 로더 구현에 대해서 다루어 보겠습니다&lt;span&gt;. Git&lt;/span&gt;의 사용을 위한 인증 절차 또한 함께 다룰 예정입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://appia.tistory.com/908&quot;&gt;[1&lt;span&gt;&lt;span&gt;화]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;파이썬&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;배포&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;자동화:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;전체&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;프로세스(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;내부/&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;외부&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;형상&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;기반)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/909&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;[2&lt;/span&gt;화&lt;span&gt;]&amp;nbsp;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;:&amp;nbsp;&lt;/span&gt;파이썬 코드 구조와 아키텍처&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;[3&lt;/span&gt;화&lt;span&gt;]&amp;nbsp;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: Config&amp;nbsp;&lt;/span&gt;설계&lt;span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;/span&gt;로더 구현&lt;span&gt;(&lt;/span&gt;스키마&lt;span&gt;/&lt;/span&gt;검증&lt;span&gt;/&lt;/span&gt;기본값&lt;span&gt;/&lt;/span&gt;환경변수&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[4&lt;/span&gt;화&lt;span&gt;]&amp;nbsp;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;:&amp;nbsp;&lt;/span&gt;코어 파이프라인 구현&lt;span&gt;(RepoSync &amp;rarr; Select &amp;rarr; Copy &amp;rarr; Report)&amp;nbsp;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;추후 링크 업데이트&lt;span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[5&lt;/span&gt;화&lt;span&gt;]&amp;nbsp;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: CLI/&lt;/span&gt;로그&lt;span&gt;/&lt;/span&gt;리포트&lt;span&gt;/&lt;/span&gt;에러처리 및 마무리&lt;span&gt;&amp;nbsp;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;추후 링크 업데이트&lt;span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;1. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Config &lt;/span&gt;요구 사항과 구조&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화에 대해서 고민을 하면서 가장 중요한 부분이 바로&lt;span&gt; Config&lt;/span&gt;라고 생각합니다&lt;span&gt;. &lt;/span&gt;가장 먼저 정해야 할 것이 바로 파일 형태입니다&lt;span&gt;. &lt;/span&gt;가장 흔히 사용하는 것이&lt;span&gt; JSON&lt;/span&gt;과&lt;span&gt; YAML &lt;/span&gt;형태입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 105px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 18.1007%; height: 21px;&quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 48.5659%; height: 21px;&quot;&gt;&lt;b&gt;&lt;span&gt;YAML&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;&lt;b&gt;&lt;span&gt;JSON&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 18.1007%; height: 21px;&quot;&gt;가독성/편집&lt;/td&gt;
&lt;td style=&quot;width: 48.5659%; height: 21px;&quot;&gt;사람 친화&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;긴 설정에 유리&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;기계 친화&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;작성은 다소 번거로움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 18.1007%; height: 21px;&quot;&gt;주석&lt;/td&gt;
&lt;td style=&quot;width: 48.5659%; height: 21px;&quot;&gt;가능&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;불가(표준)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 18.1007%; height: 21px;&quot;&gt;엄격성/안정성&lt;/td&gt;
&lt;td style=&quot;width: 48.5659%; height: 21px;&quot;&gt;유연하지만 해석/들여쓰기 실수 가능&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;문법이 단순&amp;middot;엄격해 예측 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 18.1007%; height: 21px;&quot;&gt;검증/스키마&lt;/td&gt;
&lt;td style=&quot;width: 48.5659%; height: 21px;&quot;&gt;코드&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(Pydantic&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;등)로 보완 권장&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;JSON Schema&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;등 생태계 강함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;표&lt;span&gt; 1. YAML&lt;/span&gt;과&lt;span&gt; JSON &lt;/span&gt;비교&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저의 경우&lt;span&gt; JSON &lt;/span&gt;형태로 진행할 예정입니다&lt;span&gt;. Python&lt;/span&gt;의&lt;span&gt; Dictionary &lt;/span&gt;형태로 그대로 인지할 수 있기 때문에 파싱할 때에 크게 문제가 없기 때문입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;권장&lt;span&gt; Config &lt;/span&gt;구조&lt;span&gt;(JSON)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;필수&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;repos.internal.url&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.internal.target_branch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.internal.source_path&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.internal.token_env&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.external.url&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.external.target_branch&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.external.target_path&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;repos.external.token_env&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;file_list (&lt;/span&gt;배포&lt;span&gt;/&lt;/span&gt;복사&lt;span&gt;/&lt;/span&gt;동기화 대상 파일 목록&lt;span&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;선택&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;logging.enabled&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;report.output_dir (&lt;/span&gt;없으면 &lt;span&gt;./out)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;build_file_list true&lt;/span&gt;면&lt;span&gt; repo &lt;/span&gt;기준 규칙&lt;span&gt;(&lt;/span&gt;예&lt;span&gt;: manifest/&lt;/span&gt;패턴&lt;span&gt;)&lt;/span&gt;으로&lt;span&gt; file_list&lt;/span&gt;를 자동 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;위의 구조를 바탕으로 구성해보면 다음과 같은 형태가 될 것입니다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767543122528&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;repos&quot;: {
    &quot;internal&quot;: { &quot;url&quot;: &quot;...&quot;, &quot;source_path&quot;: &quot;...&quot;, &quot;target_branch&quot;: &quot;...&quot;, &quot;token_env&quot;: &quot;...&quot; },
    &quot;external&quot;: { &quot;url&quot;: &quot;...&quot;, &quot;target_path&quot;: &quot;...&quot;, &quot;target_branch&quot;: &quot;...&quot;, &quot;token_env&quot;: &quot;...&quot; }
  },
  &quot;file_list&quot;: [&quot;...&quot;],
  &quot;logging&quot;: { &quot;enabled&quot;: true },
  &quot;report&quot;: { &quot;output_dir&quot;: &quot;./out&quot; }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;Token&lt;/span&gt;의 환경변수 사용&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;토큰의 경우 매우 민감한 정보입니다&lt;span&gt;. &lt;/span&gt;이 정보를 바탕으로 진행했을 때에&lt;span&gt;, &lt;/span&gt;별도의 환경 변수에 하기 이름으로 등록해서 불러올 수 있게 할 것입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;DEPLOY__INTERNAL__TOKEN=...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;DEPLOY__EXTERNAL__TOKEN=...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* Windows(PowerShell)&lt;/span&gt;과&lt;span&gt; Linux/bash&lt;/span&gt;의 환경변수 설정 방식은 다를 수 있으며&lt;span&gt;, &lt;/span&gt;로더는 최종적으로&lt;span&gt; os.environ&lt;/span&gt;에서 조회합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;2. Config &lt;/span&gt;로더의 범위 및&lt;span&gt; workflow&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;2.1. Config &lt;/span&gt;로더의 범위&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Config &lt;/span&gt;로더를 구현할 때에 범위와 로더의 산출물에 대해서 고민을 했습니다&lt;span&gt;. Config &lt;/span&gt;로더는 설정 값을 로드하고&lt;span&gt;(&lt;/span&gt;환경변수&lt;span&gt;/&lt;/span&gt;기본값 포함&lt;span&gt;) &lt;/span&gt;검증한 뒤 최종&lt;span&gt; Config &lt;/span&gt;객체로 변환하는 역할만 담당합니다&lt;span&gt;. 4&lt;/span&gt;화에서 다룰 코어 파이프라인에 동작에 필요한 정보들을 가공하는 역할입니다&lt;span&gt;. Config &lt;/span&gt;로더의 범위를 설정하지 않는다면&lt;span&gt;, &lt;/span&gt;간단한 헬퍼등을 추가할 수도 있습니다&lt;span&gt;. &lt;/span&gt;당장 코드 구현에는 용이하나&lt;span&gt;, &lt;/span&gt;향후 유지보수 관점에서 문제가 발생할 수 있습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;2.2. Config &lt;/span&gt;로더의&lt;span&gt; workflow&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Config &lt;/span&gt;&lt;span&gt;로더의&lt;span&gt; workflow&lt;/span&gt;는 다음과 같습니다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nlSdJ/dJMcac9zofl/K00kzI48lQdxwRCZoaxgd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nlSdJ/dJMcac9zofl/K00kzI48lQdxwRCZoaxgd1/img.png&quot; data-alt=&quot;그림 1. Config 로더의 workflow&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nlSdJ/dJMcac9zofl/K00kzI48lQdxwRCZoaxgd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnlSdJ%2FdJMcac9zofl%2FK00kzI48lQdxwRCZoaxgd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1133&quot; height=&quot;89&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;89&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 1. Config 로더의 workflow&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 각 단계에 대해서 살펴보겠습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;config.json &lt;/span&gt;읽기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 파일인 &lt;span&gt;JSON&lt;/span&gt;파일을 파이썬으로 읽어오는 단계입니다&lt;span&gt;. JSON &lt;/span&gt;문법이 올바르면 읽어오고&lt;span&gt;, &lt;/span&gt;문법 오류&lt;span&gt;/&lt;/span&gt;파일 접근 오류가 있으면 예외로 중단합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기본값&lt;span&gt;/&lt;/span&gt;환경변수 읽기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택 항목이&lt;span&gt; config.json&lt;/span&gt;에 없으면 로더가 기본값을 채웁니다&lt;span&gt;(&lt;/span&gt;예&lt;span&gt;: report.output_dir &lt;/span&gt;미설정 시&lt;span&gt; ./out). &lt;/span&gt;또한&lt;span&gt; token_env&lt;/span&gt;에는 토큰 값이 아니라&lt;span&gt; &amp;lsquo;&lt;/span&gt;환경변수 이름&lt;span&gt;&amp;rsquo;&lt;/span&gt;을 적고&lt;span&gt;, &lt;/span&gt;로더가&lt;span&gt; os.environ&lt;/span&gt;에서 실제 토큰을 조회해&lt;span&gt; repos.*.token&lt;/span&gt;으로 주입합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;검증&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검증 단계에서는 필수 항목 누락&lt;span&gt;/&lt;/span&gt;타입&lt;span&gt;/&lt;/span&gt;빈 값 여부를 확인하고&lt;span&gt;, &lt;/span&gt;문제가 있으면 에러로 중단합니다&lt;span&gt;. &lt;/span&gt;문법은 맞지만 필수 값이 없으면&lt;span&gt;, &lt;/span&gt;원인을 명확한 메시지로 예외 처리하여 즉시 중단합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;(검증 예시)&lt;/i&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;repos.internal.url, repos.external.url은 빈 문자열 금지&lt;/li&gt;
&lt;li&gt;repos.internal.target_branch, repos.external.target_branch는 빈 문자열 금지&lt;/li&gt;
&lt;li&gt;file_list는 빈 리스트 금지(또는 최소 1개 이상)&lt;/li&gt;
&lt;li&gt;token_env가 가리키는 환경변수가 없으면 에러(&amp;ldquo;DEPLOY__INTERNAL__TOKEN이 설정되지 않았습니다&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;(선택) source_path/target_path 상대/절대 허용 정책을 프로젝트 규칙으로 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;최종&lt;span&gt; config &lt;/span&gt;반환&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검증과정까지 문제없게 진행되었다면 &lt;span&gt;config&lt;/span&gt;에서 내부에서 선언된 클래스를 바탕으로 반환하는 단계입니다&lt;span&gt;. &lt;/span&gt;최종&lt;span&gt; Config&lt;/span&gt;를 반환하기 전에&lt;span&gt;, &lt;/span&gt;로더 내부에서 경로를 한 번 정규화합니다&lt;span&gt;. &lt;/span&gt;예를 들어&lt;span&gt; report.output_dir&lt;/span&gt;은 실행 기준 절대경로로 변환하고&lt;span&gt;, source_path/target_path&lt;/span&gt;의 슬래시&lt;span&gt;/&lt;/span&gt;상대경로 표현을 통일합니다&lt;span&gt;. &lt;/span&gt;이후 단계는&lt;span&gt; &amp;lsquo;&lt;/span&gt;정규화된 최종&lt;span&gt; Config&amp;rsquo;&lt;/span&gt;만 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음 Config 로더(load_config.py) 구현과 Git 인증 준비 모듈(auth_git.py) 구현 부분에 대한 전체적인 코드는 다음&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Github&lt;/span&gt;링크를 참조해주세요&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/beomseokc84/pyAutoRelease&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/beomseokc84/pyAutoRelease&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 글에서 발췌한 코드는 아래 파일에서 확인&lt;/li&gt;
&lt;li&gt;src/config/load_config.py&lt;/li&gt;
&lt;li&gt;src/config/auth_git.py&lt;/li&gt;
&lt;li&gt;src/util/util_basic.py&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; &lt;span&gt;3. Config &lt;/span&gt;&lt;span&gt;로더&lt;span&gt;(load_config.py) &lt;/span&gt;구현&lt;/span&gt; &lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞에 언급한 내용을 바탕으로 &lt;span&gt;Config &lt;/span&gt;로더를 구현하겠습니다&lt;span&gt;. &lt;/span&gt;먼저&lt;span&gt;, &lt;/span&gt;전체적인 구현 부분에 대해서 &lt;span&gt;Plant UML&lt;/span&gt;을 통해서 다음과 같은 구조로 동작을 합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;load_config_sequence-Config_Loader___Sequence__load_config_.png&quot; data-origin-width=&quot;2092&quot; data-origin-height=&quot;1136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pa8Tp/dJMcahwjMhz/PnCheJDIRseK1Hk8U7VxI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pa8Tp/dJMcahwjMhz/PnCheJDIRseK1Hk8U7VxI1/img.png&quot; data-alt=&quot;그림 2. Config 로더의 시퀀스 다이어그램&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pa8Tp/dJMcahwjMhz/PnCheJDIRseK1Hk8U7VxI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpa8Tp%2FdJMcahwjMhz%2FPnCheJDIRseK1Hk8U7VxI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2092&quot; height=&quot;1136&quot; data-filename=&quot;load_config_sequence-Config_Loader___Sequence__load_config_.png&quot; data-origin-width=&quot;2092&quot; data-origin-height=&quot;1136&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 2. Config 로더의 시퀀스 다이어그램&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 코드를 보면 다음과 같습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;1) load_config() &amp;mdash; &lt;/span&gt;파이프라인&lt;span&gt;(&lt;/span&gt;오케스트레이션&lt;span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767543606649&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def load_config(config_path: str) -&amp;gt; FinalConfig:
    raw = load_json_file(config_path)  # 1) 읽기
    merged = apply_defaults(raw)  # 2) 기본값 병합
    apply_env_tokens(merged)  # 3) env 해석(토큰 주입)
    validate_config(merged)  # 4) 검증(환경변수 값 존재 여부 포함)
    base_dir = Path(config_path).parent
    normalize_paths(merged, base_dir=base_dir)  # 5) 정규화(최종 반환 직전 포함)
    return build_final_config(merged)  # 6) 최종 반환&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;2) apply_env_tokens()&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767543629577&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def apply_env_tokens(cfg: Dict[str, Any]) -&amp;gt; None:
    internal_env = validate_required_str(
        cfg, &quot;repos.internal.token_env&quot;, exc=ConfigValidationError
    )
    external_env = validate_required_str(
        cfg, &quot;repos.external.token_env&quot;, exc=ConfigValidationError
    )

    internal = require_dict(cfg, &quot;repos.internal&quot;, exc=ConfigValidationError)
    external = require_dict(cfg, &quot;repos.external&quot;, exc=ConfigValidationError)

    internal[&quot;token&quot;] = resolve_token(internal_env)
    external[&quot;token&quot;] = resolve_token(external_env)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;3) validate_config()&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767543656440&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def validate_config(cfg: Dict[str, Any]) -&amp;gt; None:
    internal_env = validate_required_str(cfg, &quot;repos.internal.token_env&quot;, exc=ConfigValidationError)
    external_env = validate_required_str(cfg, &quot;repos.external.token_env&quot;, exc=ConfigValidationError)

    # 환경변수 값 존재 여부 확인
    if not os.environ.get(internal_env):
        raise ConfigValidationError(f&quot;환경변수 '{internal_env}'가 설정되지 않았습니다.&quot;)
    if not os.environ.get(external_env):
        raise ConfigValidationError(f&quot;환경변수 '{external_env}'가 설정되지 않았습니다.&quot;)

    # 토큰 주입 여부 확인(적용 누락 방지)
    validate_required_str(cfg, &quot;repos.internal.token&quot;, exc=ConfigValidationError)
    validate_required_str(cfg, &quot;repos.external.token&quot;, exc=ConfigValidationError)

    # file_list, optional 타입(bool/str), dict 구조 검증 등은 생략(전체 코드는 GitHub)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;4. Git &lt;/span&gt;인증 준비 모듈&lt;span&gt;(auth_git.py) &lt;/span&gt;구현&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제&lt;span&gt; git clone/fetch &lt;/span&gt;실행은 다음 화&lt;span&gt;(Repo Sync)&lt;/span&gt;에서 다루고&lt;span&gt;, &lt;/span&gt;이번 화에서는&lt;span&gt; &amp;ldquo;&lt;/span&gt;인증 준비&lt;span&gt;&amp;rdquo;&lt;/span&gt;만 분리해 둡니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 로더&lt;span&gt;/&lt;/span&gt;동기화&lt;span&gt;/&lt;/span&gt;인증이 서로 섞이지 않아 유지보수가 쉬워집니다&lt;span&gt;. &lt;/span&gt;그러면 &lt;span&gt;auth_git&lt;/span&gt;의 &lt;span&gt;sequence diagram&lt;/span&gt;에 대해서 살펴보겠습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;auth_git_sequence-Git_Auth___Sequence__prepare_git_auth_.png&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;719&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nbqCh/dJMb99LOvBX/o3m1peOQ5J0Htg8p3K84WK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nbqCh/dJMb99LOvBX/o3m1peOQ5J0Htg8p3K84WK/img.png&quot; data-alt=&quot;그림 3. Git 인증 준비 모듈(auth_git) 시퀀스 다이어그램&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nbqCh/dJMb99LOvBX/o3m1peOQ5J0Htg8p3K84WK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnbqCh%2FdJMb99LOvBX%2Fo3m1peOQ5J0Htg8p3K84WK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1263&quot; height=&quot;719&quot; data-filename=&quot;auth_git_sequence-Git_Auth___Sequence__prepare_git_auth_.png&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;719&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 3. Git 인증 준비 모듈(auth_git) 시퀀스 다이어그램&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1767543900137&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def prepare_git_auth(repo_url: str, token: str, provider: Optional[str] = None) -&amp;gt; GitAuth:
    &quot;&quot;&quot;auth_git.py의 핵심: 토큰을 이용해 '인증 준비'만 수행합니다.
    실제 git clone/fetch/pull 실행은 sync_repo.py에서 담당합니다.
    &quot;&quot;&quot;
    auth_url, safe_url, provider_final = build_auth_url_https(repo_url, token, provider=provider)
    env = build_git_env()
    return GitAuth(
        original_url=repo_url,
        auth_url=auth_url,
        safe_url=safe_url,
        env=env,
        provider=provider_final,
    )&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 화에서는 인증&lt;span&gt; &amp;lsquo;&lt;/span&gt;준비&lt;span&gt;&amp;rsquo;&lt;/span&gt;만 분리해두고&lt;span&gt;, 4&lt;/span&gt;화&lt;span&gt; RepoSync&lt;/span&gt;에서 실제 사용합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번&lt;span&gt; 3&lt;/span&gt;화에서는 배포 자동화의 입력이 되는&lt;span&gt; Config&lt;/span&gt;를&lt;span&gt; JSON&lt;/span&gt;으로 설계하고&lt;span&gt;, &lt;/span&gt;이를 안정적으로 로드하기 위한&lt;span&gt; Config &lt;/span&gt;로더를 구현해보았습니다&lt;span&gt;. &lt;/span&gt;핵심은&lt;span&gt; load_config()&lt;/span&gt;가 읽기&lt;span&gt; &amp;rarr; &lt;/span&gt;기본값 병합&lt;span&gt; &amp;rarr; &lt;/span&gt;환경변수 해석&lt;span&gt;(token) &amp;rarr; &lt;/span&gt;검증&lt;span&gt; &amp;rarr; &lt;/span&gt;경로 정규화&lt;span&gt; &amp;rarr; &lt;/span&gt;최종&lt;span&gt; Config &lt;/span&gt;반환의 순서를 고정해&lt;span&gt;, &lt;/span&gt;이후 파이프라인&lt;span&gt;(4&lt;/span&gt;화&lt;span&gt;)&lt;/span&gt;이 &lt;span&gt;&amp;lsquo;&lt;/span&gt;검증&lt;span&gt; + &lt;/span&gt;정규화된 설정&lt;span&gt;&amp;rsquo;&lt;/span&gt;만을 전제로 단순하게 동작하도록 만드는 것입니다&lt;span&gt;. &lt;/span&gt;또한 토큰은&lt;span&gt; config.json&lt;/span&gt;에 저장하지 않고&lt;span&gt; token_env&lt;/span&gt;로 환경변수 이름만 전달받아&lt;span&gt;, &lt;/span&gt;로더가&lt;span&gt; os.environ&lt;/span&gt;에서 조회하도록 구성해 보안 리스크를 줄였습니다&lt;span&gt;.&amp;nbsp;&lt;/span&gt;추가로 토큰은 로그에 직접 출력하지 않도록&lt;span&gt;(&lt;/span&gt;마스킹&lt;span&gt;/safe_url &lt;/span&gt;사용&lt;span&gt;) &lt;/span&gt;처리하는 것을 기본 원칙으로 했습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음&lt;span&gt; 4&lt;/span&gt;화에서는 이번 화에서 만든&lt;span&gt; FinalConfig&lt;/span&gt;와&lt;span&gt; GitAuth&lt;/span&gt;를 사용해&lt;span&gt;, &lt;/span&gt;내부&lt;span&gt;/&lt;/span&gt;외부&lt;span&gt; Repo&lt;/span&gt;를 동기화&lt;span&gt;(RepoSync)&lt;/span&gt;하고 파일 목록을 선택&lt;span&gt;(Select)&lt;/span&gt;한 뒤 복사&lt;span&gt;(Copy) &lt;/span&gt;및 리포트&lt;span&gt;(Report)&lt;/span&gt;까지 이어지는 코어 파이프라인을 구현해보겠습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/909&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2026.01.03 - [Python/Python 응용] - [2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1767544020343&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처&quot; data-og-description=&quot;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처이전 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축하는 전체 흐름을 정리했습니다. 배포 자동화가 왜 필요한지와 함께, 실&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/909&quot; data-og-url=&quot;https://appia.tistory.com/909&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vI0Ml/hyZQR2hITJ/twJ1ER8G59INNORLuBc4kk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/oK3Oc/hyZQXbiZCq/VNpUvTxjhzzmsM0ANIdTZK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/KEMgv/hyZQQCiIVh/EUX0xK5xtjtuIcUrigpeek/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/909&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/909&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vI0Ml/hyZQR2hITJ/twJ1ER8G59INNORLuBc4kk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/oK3Oc/hyZQXbiZCq/VNpUvTxjhzzmsM0ANIdTZK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/KEMgv/hyZQQCiIVh/EUX0xK5xtjtuIcUrigpeek/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처이전 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축하는 전체 흐름을 정리했습니다. 배포 자동화가 왜 필요한지와 함께, 실&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 개발 시리즈</category>
      <category>config.json</category>
      <category>github</category>
      <category>gitlab</category>
      <category>plantuml</category>
      <category>경로정규화</category>
      <category>배포자동화</category>
      <category>설정파일</category>
      <category>스키마검증</category>
      <category>파이썬</category>
      <category>환경변수</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/910</guid>
      <comments>https://appia.tistory.com/910#entry910comment</comments>
      <pubDate>Mon, 5 Jan 2026 01:27:26 +0900</pubDate>
    </item>
    <item>
      <title>[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처</title>
      <link>https://appia.tistory.com/909</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[2화]&amp;nbsp;파이썬&amp;nbsp;배포&amp;nbsp;자동화:&amp;nbsp;파이썬&amp;nbsp;코드&amp;nbsp;구조와&amp;nbsp;아키텍처&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림0_파이썬코드구조와아키텍처.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cve4vP/dJMcadtRzRr/wK0gedmQ1EkdFUguEkbLAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cve4vP/dJMcadtRzRr/wK0gedmQ1EkdFUguEkbLAk/img.png&quot; data-alt=&quot;[2화]&amp;amp;nbsp;파이썬&amp;amp;nbsp;배포&amp;amp;nbsp;자동화:&amp;amp;nbsp;파이썬&amp;amp;nbsp;코드&amp;amp;nbsp;구조와&amp;amp;nbsp;아키텍처&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cve4vP/dJMcadtRzRr/wK0gedmQ1EkdFUguEkbLAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcve4vP%2FdJMcadtRzRr%2FwK0gedmQ1EkdFUguEkbLAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;945&quot; data-filename=&quot;그림0_파이썬코드구조와아키텍처.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[2화]&amp;nbsp;파이썬&amp;nbsp;배포&amp;nbsp;자동화:&amp;nbsp;파이썬&amp;nbsp;코드&amp;nbsp;구조와&amp;nbsp;아키텍처&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축하는 전체 흐름을 정리했습니다&lt;span&gt;. &lt;/span&gt;배포 자동화가 왜 필요한지와 함께&lt;span&gt;, &lt;/span&gt;실제 배포가 어떤 단계로 진행되는지도 큰 그림으로 살펴봤고요&lt;span&gt;.&lt;br /&gt;&lt;/span&gt;이번 글에서는 그 내용을 바탕으로&lt;span&gt;, &lt;/span&gt;코드를 어떤 구조로 나누고 어떻게 연결하면 관리하기 쉬운지 정리해보겠습니다&lt;span&gt;. &lt;/span&gt;단계별로 모듈을 어떻게 분리할지&lt;span&gt;, &lt;/span&gt;각 모듈이 맡아야 할 역할과 경계도 함께 이야기해보려 합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/908&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;[1&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: &lt;/span&gt;전체 프로세스&lt;span&gt;(&lt;/span&gt;내부&lt;span&gt;/&lt;/span&gt;외부 형상 기반&lt;span&gt;)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;[2&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: &lt;/span&gt;파이썬 코드 구조와 아키텍처 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/910&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;[3&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: Config &lt;/span&gt;설계&lt;span&gt; &amp;amp; &lt;/span&gt;로더 구현&lt;span&gt;(&lt;/span&gt;스키마&lt;span&gt;/&lt;/span&gt;검증&lt;span&gt;/&lt;/span&gt;기본값&lt;span&gt;/&lt;/span&gt;환경변수&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[4&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: &lt;/span&gt;코어 파이프라인 구현&lt;span&gt;(RepoSync &amp;rarr; Select &amp;rarr; Copy &amp;rarr; Report) &lt;b&gt;(추후 링크 업데이트)&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[5&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: CLI/&lt;/span&gt;로그&lt;span&gt;/&lt;/span&gt;리포트&lt;span&gt;/&lt;/span&gt;에러처리 및 마무리 &lt;b&gt;(추후 링크 업데이트)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;span&gt;1.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;관련 기능 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화 단계를 다음&lt;span&gt; 4&lt;/span&gt;단계 컨셉으로 정했습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. &lt;/span&gt;배포 대상 파일 선별&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. &lt;/span&gt;내부 형상 최신화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. &lt;/span&gt;외부 형상 최신화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. &lt;/span&gt;배포 대상 파일 복사 및 배포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분을 프로그래밍 관점에서 두 가지 관점에서 접근을 하였습니다&lt;span&gt;. &lt;/span&gt;설정과 코어 기능으로 분리해봤습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;카테고리&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;세부 항목&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;비고&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;설정&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;인증&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;파일 리스트 로드&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;프로젝트&lt;span&gt;/&lt;/span&gt;환경에 따라 바뀌는 값&lt;span&gt;(&lt;/span&gt;인증정보&lt;span&gt;, &lt;/span&gt;대상 파일 정의&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;코어 기능&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;형상 최신화&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;파일 복사&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;어떤 프로젝트든 동일하게 동작해야 하는 로직&lt;span&gt;(RepoSync, Copy)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;유틸리티&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;파일 리스트 생성&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;로그 생성&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;경로&lt;span&gt;/&lt;/span&gt;패턴 처리&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;200&quot;&gt;&lt;span&gt;공통 헬퍼&lt;span&gt;(&lt;/span&gt;파일 리스트&lt;span&gt;/&lt;/span&gt;로그&lt;span&gt;/&lt;/span&gt;패턴&lt;span&gt;/&lt;/span&gt;경로&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;표 1. 설정과 코어, 유틸리티 기능 분리&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로드(load): 설정에 정의된 파일 목록(또는 파일 목록 파일)을 &amp;ldquo;읽어오는&amp;rdquo; 행위&lt;/li&gt;
&lt;li&gt;생성(build): 외부 형상/패턴 규칙을 이용해 배포 대상 목록을 &amp;ldquo;계산/가공하는&amp;rdquo; 행위&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 설정 카테고리에서는 전체적인 툴에 대한 설정 및 인증&lt;span&gt;, &lt;/span&gt;그리고 파일 리스트 관리 부분이 될 것입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 코어 기능에서는 형상 최신화와 파일 복사 부분이 될 것입니다&lt;span&gt;. &lt;/span&gt;여기에서 저는 추가로 유틸리티 부분을 하나 추가할 예정입니다&lt;span&gt;. &lt;/span&gt;전체적인 툴 구성에 필요한 헬퍼 및 파일 리스트를 생성하는 기능에 대해서 포함할 예정입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 큰 구조로 접근을 할 예정입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;span&gt;2. &lt;/span&gt;&lt;/span&gt;설계 원칙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화는 한 번 만들고 끝나는 스크립트가 아니라&lt;span&gt;, &lt;/span&gt;프로젝트가 바뀌거나 배포 정책이 바뀔 때마다 지속적으로 손봐야 하는 도구입니다&lt;span&gt;. &lt;/span&gt;그래서 이번 구조에서는&lt;span&gt; &amp;ldquo;&lt;/span&gt;동작한다&lt;span&gt;&amp;rdquo;&lt;/span&gt;보다&lt;span&gt; &amp;ldquo;&lt;/span&gt;유지보수가 쉽다&lt;span&gt;&amp;rdquo;&lt;/span&gt;를 우선순위로 두었습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단일 책임&lt;span&gt;(SRP): &lt;/span&gt;파일 선별&lt;span&gt;, Git &lt;/span&gt;동기화&lt;span&gt;, &lt;/span&gt;복사&lt;span&gt;/&lt;/span&gt;배포&lt;span&gt;, &lt;/span&gt;리포트를 각각 분리합니다&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;I/O &lt;/span&gt;분리&lt;span&gt;: git &lt;/span&gt;명령 실행&lt;span&gt;, &lt;/span&gt;파일 복사 같은 외부 의존은 한 곳에 모으고&lt;span&gt;(core&lt;/span&gt;는 정책&lt;span&gt;/&lt;/span&gt;흐름을 다룹니다&lt;span&gt;).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;설정과 로직 분리&lt;span&gt;: &lt;/span&gt;프로젝트마다 바뀌는 값&lt;span&gt;(&lt;/span&gt;경로&lt;span&gt;/&lt;/span&gt;브랜치&lt;span&gt;/&lt;/span&gt;패턴&lt;span&gt;/&lt;/span&gt;옵션&lt;span&gt;)&lt;/span&gt;은&lt;span&gt; config&lt;/span&gt;로 내리고&lt;span&gt;, &lt;/span&gt;실행 로직은 재사용 가능한 형태로 둡니다&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;실패 지점 명확화&lt;span&gt;: auth/sync/deploy &lt;/span&gt;단계별로 실패 가능성이 있으므로&lt;span&gt;, &lt;/span&gt;로그와 리포트가&lt;span&gt; &amp;ldquo;&lt;/span&gt;어느 단계에서 실패했는지&lt;span&gt;&amp;rdquo;&lt;/span&gt;를 남기도록 합니다&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 파일 구조 잡기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 관련 기능에 대해서 선별을 하였고&lt;span&gt;, &lt;/span&gt;이 부분으로 다음과 같이 접근을 해볼까 합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림1_전체레이어구조도.png&quot; data-origin-width=&quot;525&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLlY85/dJMcabCQ5Nt/v4wRbwVLbUessBZFi39uv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLlY85/dJMcabCQ5Nt/v4wRbwVLbUessBZFi39uv0/img.png&quot; data-alt=&quot;그림 1. 전체 레이어 구조도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLlY85/dJMcabCQ5Nt/v4wRbwVLbUessBZFi39uv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLlY85%2FdJMcabCQ5Nt%2Fv4wRbwVLbUessBZFi39uv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;238&quot; data-filename=&quot;그림1_전체레이어구조도.png&quot; data-origin-width=&quot;525&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 1. 전체 레이어 구조도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;main&lt;/span&gt;은 오케스트레이션&lt;span&gt;(&lt;/span&gt;흐름 제어&lt;span&gt;)&lt;/span&gt;만 담당하고&lt;span&gt;, &lt;/span&gt;실제 동작은&lt;span&gt; Config/Core/Util &lt;/span&gt;모듈이 맡습니다&lt;span&gt;. &lt;/span&gt;그림 &lt;span&gt;1을&lt;/span&gt;&amp;nbsp;바탕으로 다음과 같은 구조를 생성해보겠습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;Category&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;파일 구성&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;기능설명&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;Main&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;main.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;오케스트레이션&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=&quot;2&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;Config&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;auth_git.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;&lt;span&gt;Git &lt;/span&gt;인증 &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;load_config.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;설정 로드&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=&quot;2&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;Core&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;sync_repo.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;형상 최신화&lt;span&gt; (&lt;/span&gt;외부&lt;span&gt;/&lt;/span&gt;내부&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;deployer.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;배포 파일 복사&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan=&quot;3&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;Util&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;build_file_list.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;파일 리스트 가공&lt;span&gt;/&lt;/span&gt;생성&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;log.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;로그 파일 생성 &lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;208&quot;&gt;&lt;span&gt;&lt;span&gt;util_basic.py&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;290&quot;&gt;&lt;span&gt;경로&lt;span&gt;/&lt;/span&gt;패턴처리 등 기본 유틸&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 표 2. 배포 자동화 도구의 모듈(파일) 구성과 각 역할(설정/코어/유틸 분리 기준)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 형태로 파일을 구성을 잡아볼까 합니다&lt;span&gt;. &lt;/span&gt;위의 부분을 바탕으로 다시 한번 구성도를 만들어봤습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림2_레이어구조에 따른 파일 구성도.png&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctycPb/dJMcabbNggp/u8cNaU8fdLE0keSEWiN0v1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctycPb/dJMcabbNggp/u8cNaU8fdLE0keSEWiN0v1/img.png&quot; data-alt=&quot;그림 2. 레이어 구조에 따른 파일 구성도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctycPb/dJMcabbNggp/u8cNaU8fdLE0keSEWiN0v1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctycPb%2FdJMcabbNggp%2Fu8cNaU8fdLE0keSEWiN0v1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;516&quot; height=&quot;259&quot; data-filename=&quot;그림2_레이어구조에 따른 파일 구성도.png&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 2. 레이어 구조에 따른 파일 구성도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론&lt;span&gt;, &lt;/span&gt;파일 구조에 대해서는 다음과 같은 형태로 구성을 했습니다&lt;span&gt;. &lt;/span&gt;실제 구현에서도 비슷하게 가져가겠지만&lt;span&gt;, &lt;/span&gt;경우에 따라서는 추가로 파일이 필요할 수 있습니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 표와 그림에서 혼선이 있을 수 있는 부분이 바로&lt;span&gt; auth_git.py&lt;/span&gt;의 역할입니다&lt;span&gt;. &lt;/span&gt;이 부분은 자격증명 즉&lt;span&gt;, &lt;/span&gt;토큰과 계정에 대한 준비 작업만 진행할 것입니다&lt;span&gt;. Git&lt;/span&gt;에 대한 명령 실행은&lt;span&gt; sync_repo.py&lt;/span&gt;에 담당합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;main&lt;/span&gt;은 오케스트레이션&lt;span&gt;(&lt;/span&gt;흐름 제어&lt;span&gt;)&lt;/span&gt;을 담당합니다&lt;span&gt;. &lt;/span&gt;오케스트레이션이라는 용어가 다소 생소할 수 있습니다&lt;span&gt;. &lt;/span&gt;오케스트레이션이란&lt;span&gt;, &lt;/span&gt;여러 모듈&lt;span&gt;, &lt;/span&gt;함수를 어떤 순서로 어떤 조건으로 어떻게 연결해서 실행을 조율하는 역할입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 폴더 구조 잡기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 단계에서는 각 파일의 역할에 대해서 명시하였습니다&lt;span&gt;. &lt;/span&gt;위에서 언급한 파일들을 하나의 폴더에 나열할 수도 있지만&lt;span&gt;, &lt;/span&gt;향후 유지 보수를 위해서 별도의 폴더로 분리하는 것이 유리합니다&lt;span&gt;. &lt;/span&gt;그래서 다음과 같은 형태로 폴더를 분리했습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림3_폴더 구조.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;335&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR7idD/dJMcagqC5Sl/Dg7bXVig4k0rgqCXmQp8Ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR7idD/dJMcagqC5Sl/Dg7bXVig4k0rgqCXmQp8Ek/img.png&quot; data-alt=&quot;그림 3. 폴더 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR7idD/dJMcagqC5Sl/Dg7bXVig4k0rgqCXmQp8Ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR7idD%2FdJMcagqC5Sl%2FDg7bXVig4k0rgqCXmQp8Ek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;335&quot; data-filename=&quot;그림3_폴더 구조.png&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;335&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 3. 폴더 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 대부분은 앞에서 파일 구조에 대해서 명시하면서 나열했던 이름입니다&lt;span&gt;. &lt;/span&gt;하지만&lt;span&gt;, out&lt;/span&gt;이라는 별도의 폴더가 한 개 더 추가된 것을 알 수 있습니다&lt;span&gt;. &lt;/span&gt;이 부분은 바로 로그에 대해서 출력한 부분을 저장하기 위한 공간입니다&lt;span&gt;. &lt;/span&gt;물론&lt;span&gt;, &lt;/span&gt;이러한 부분들에 대해서 설정 부분을 통해서 변경 및 추가 생성이 가능할 것입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;5. &lt;span&gt;입력과 출력 정의&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 도구를 재현 가능하게 만들기 위해 입력과 출력을 명확히 정의합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력&lt;span&gt;(Input)&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt; &lt;span&gt;config.json: &lt;/span&gt;&lt;span&gt;내부&lt;span&gt;/&lt;/span&gt;외부 형상 경로&lt;span&gt;, &lt;/span&gt;브랜치&lt;span&gt;, &lt;/span&gt;파일 선별 규칙&lt;span&gt;(include/exclude), build_file_list &lt;/span&gt;사용 여부&lt;span&gt;, &lt;/span&gt;로그&lt;span&gt;/&lt;/span&gt;리포트 경로 등&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt; &lt;span&gt;내부 형상&lt;span&gt; Repo: &lt;/span&gt;실제 배포 대상 파일이 존재하는 소스&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt; &lt;span&gt;외부 형상&lt;span&gt; Repo: &lt;/span&gt;배포 결과가 반영되는 대상 저장소&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;출력&lt;span&gt;(Output)&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt; &lt;span&gt;out/logs/: &lt;/span&gt;&lt;span&gt;단계별 실행 로그&lt;span&gt;(&lt;/span&gt;성공&lt;span&gt;/&lt;/span&gt;실패&lt;span&gt;/&lt;/span&gt;원인&lt;span&gt;)&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span&gt;out/reports/: &lt;/span&gt;&lt;span&gt;결과 요약&lt;span&gt;(SAME/MODIFIED/ONLY_*, &lt;/span&gt;소요시간&lt;span&gt;, &lt;/span&gt;실패 목록&lt;span&gt;, &lt;/span&gt;산출물 경로&lt;span&gt;)&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span&gt;외부 형상&lt;span&gt; Repo&lt;/span&gt;의 변경사항&lt;span&gt;(&lt;/span&gt;필요 시 커밋까지&lt;span&gt;)&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;6. 오케스트레이션(main.py)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;앞서서&lt;span&gt; main.py&lt;/span&gt;의 역할은 오케스트레이션이라고 이야기를 했습니다&lt;span&gt;. &lt;/span&gt;이 부분에 대해서 명시해보고자 합니다&lt;span&gt;. Plant UML을 활용하여 이 부분을 표현해보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767414208621&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@startuml
title Orchestration Activity
start
:load config;
:auth;
:sync internal;
:sync external;
if (build file list?) then (yes)
  :build file list;
else (no)
  :use predefined list or empty;
endif
:deploy copy;
:report;
stop
@enduml&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림4_Plant UML로 작성한 오케스트레이션.png&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;558&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bl6p2C/dJMcahJQ5hY/hQKkMRLcoV3zAOwqkNITm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bl6p2C/dJMcahJQ5hY/hQKkMRLcoV3zAOwqkNITm0/img.png&quot; data-alt=&quot;그림 4. Plant UML로 작성한 오케스트레이션&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bl6p2C/dJMcahJQ5hY/hQKkMRLcoV3zAOwqkNITm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbl6p2C%2FdJMcahJQ5hY%2FhQKkMRLcoV3zAOwqkNITm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;328&quot; height=&quot;558&quot; data-filename=&quot;그림4_Plant UML로 작성한 오케스트레이션.png&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;558&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 4. Plant UML로 작성한 오케스트레이션&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;load config&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;config.json &lt;/span&gt;파일을 설정 관련된 파일로 사용할 것입니다&lt;span&gt;. &lt;/span&gt;이 파일에 명시된 파일들을 읽어와서 내부에서 사용하는 설정 관련 &lt;span&gt;class&lt;/span&gt;에 저장할 것입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;auth &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;load config&lt;/span&gt;에서 읽어온 &lt;span&gt;token &lt;/span&gt;및 계정정보를 바탕으로 &lt;span&gt;git &lt;/span&gt;명령 실행을 위한 자격증명&lt;span&gt;(&lt;/span&gt;토큰&lt;span&gt;/&lt;/span&gt;계정&lt;span&gt;)&lt;/span&gt;을 준비합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;sync internal &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 형상에 대해서 최신화를 할 예정입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;sync external &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 형상에 대해서 최신화를 할 예정입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;build file list&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옵션에 따라서&lt;span&gt; true&lt;/span&gt;일 경우에 외부 형상에 있는 정보를 바탕으로 파일 리스트를 생성할 것입니다&lt;span&gt;. &lt;/span&gt;만약&lt;span&gt; false &lt;/span&gt;일경우에는 설정에 저장된 파일 리스트에 대한 파일 경로에 따라서 읽어올 것입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;deploy copy&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞선&lt;span&gt; build file list&lt;/span&gt;에서 생성 또는 불러온 파일 리스트에 대한 파일을 바탕으로 내부 형상에서 외부 형상으로 파일을 복사합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;report &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 요약&lt;span&gt;(SAME/MODIFIED/ONLY_*, &lt;/span&gt;소요시간&lt;span&gt;, &lt;/span&gt;실패 목록&lt;span&gt;, &lt;/span&gt;산출물 경로&lt;span&gt;)&lt;/span&gt;합니다&lt;span&gt;. report&lt;/span&gt;는 &lt;span&gt;out/reports/&lt;/span&gt;에 요약 파일로 저장하고&lt;span&gt;, &lt;/span&gt;콘솔에는 핵심 요약만 출력합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 실패 케이스와 리포트의 역할&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 운영 환경에서는 인증 실패&lt;span&gt;(&lt;/span&gt;토큰 만료&lt;span&gt;/&lt;/span&gt;권한&lt;span&gt;), &lt;/span&gt;동기화 실패&lt;span&gt;(&lt;/span&gt;브랜치 불일치&lt;span&gt;/&lt;/span&gt;로컬 변경&lt;span&gt;), &lt;/span&gt;복사 실패&lt;span&gt;(&lt;/span&gt;경로 오류&lt;span&gt;/&lt;/span&gt;권한&lt;span&gt;/&lt;/span&gt;잠금&lt;span&gt;) &lt;/span&gt;같은 문제가 자주 발생합니다&lt;span&gt;. &lt;/span&gt;그래서&lt;span&gt; main &lt;/span&gt;오케스트레이션은&lt;span&gt; &amp;ldquo;&lt;/span&gt;성공&lt;span&gt;/&lt;/span&gt;실패 여부&lt;span&gt;&amp;rdquo;&lt;/span&gt;만 내는 것이 아니라&lt;span&gt;, &lt;/span&gt;어느 단계에서 실패했는지와 영향 범위를 남겨 재실행 판단이 가능해야 합니다&lt;span&gt;. &lt;/span&gt;이 목적을 위해 로그는 과정 중심으로 남기고&lt;span&gt;, report&lt;/span&gt;는 결과 중심&lt;span&gt;(SAME/MODIFIED/ONLY_*, &lt;/span&gt;소요시간&lt;span&gt;, &lt;/span&gt;실패 목록&lt;span&gt;, &lt;/span&gt;산출물 위치&lt;span&gt;)&lt;/span&gt;으로 남기도록 역할을 분리했습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;단계&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;실패 시나리오&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;증상&lt;span&gt;(&lt;/span&gt;겉으로 보이는 현상&lt;span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;b&gt;로그&lt;span&gt;/&lt;/span&gt;리포트에 남길 정보&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;load config&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;config &lt;/span&gt;파일 없음&lt;span&gt;/&lt;/span&gt;경로 오류&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;시작 즉시 종료&lt;span&gt;, &lt;/span&gt;파일 못 찾음&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;config_path, cwd, error_type&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;load config&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;JSON &lt;/span&gt;파싱 실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;&amp;ldquo;JSON decode error&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;line/column, raw snippet(&lt;/span&gt;일부&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;load config&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;필수 키 누락&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;validate &lt;/span&gt;실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;missing_keys, default_applied&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;auth&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;토큰 만료&lt;span&gt;/&lt;/span&gt;권한 부족&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;git &lt;/span&gt;명령 실패&lt;span&gt;(401/403 &lt;/span&gt;등&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;auth_mode, user, remote_url(&lt;/span&gt;마스킹&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;auth&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;프록시&lt;span&gt;/&lt;/span&gt;네트워크 문제&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;인증 단계에서&lt;span&gt; timeout&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;timeout_sec, proxy, retry_count&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;sync internal&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;로컬 변경사항 존재&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;pull/checkout &lt;/span&gt;실패&lt;span&gt;, &lt;/span&gt;충돌&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;repo_path, branch, dirty_files&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;sync internal&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;브랜치&lt;span&gt;/&lt;/span&gt;리모트 불일치&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;&amp;ldquo;branch not found&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;remote, branch, refs&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;sync external&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;외부 형상 최신화 실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;fetch/pull &lt;/span&gt;실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;repo_path, branch, last_commit&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;build file list&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;include/exclude &lt;/span&gt;규칙 오류&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;배포 파일&lt;span&gt; 0&lt;/span&gt;개 또는 과다&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;include/exclude, matched_count&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;build file list&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;외부 형상 기준 정보 누락&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;특정 폴더&lt;span&gt;/&lt;/span&gt;파일이 목록에서 빠짐&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;external_commit, scan_root&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;deploy copy&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;소스 파일 누락&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;copy &lt;/span&gt;실패&lt;span&gt;, &amp;ldquo;not found&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;src_path, expected_src&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;deploy copy&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;권한&lt;span&gt;/&lt;/span&gt;잠금 문제&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;PermissionError, &lt;/span&gt;파일 잠김&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;dst_path, exception&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;deploy copy&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;overwrite &lt;/span&gt;정책 충돌&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;덮어쓰기 불가&lt;span&gt;/&lt;/span&gt;백업 실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;overwrite, backup_enabled&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;report&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;리포트 생성 실패&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;out/reports&lt;/span&gt;에 파일 없음&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;report_dir, write_error&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span&gt;전체&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;중간 실패 후 재실행 판단 어려움&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;&amp;ldquo;&lt;/span&gt;어디까지 됐지&lt;span&gt;?&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;&lt;span&gt;run_id, step, elapsed&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 표 3. 오케스트레이션 단계별 예상 실패 케이스와 로그/리포트에 남길 핵심 정보 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음&lt;span&gt; 3&lt;/span&gt;화에서는 &lt;b&gt;&lt;span&gt;[3&lt;/span&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: Config &lt;/span&gt;설계&lt;span&gt; &amp;amp; &lt;/span&gt;로더 구현&lt;/b&gt;을 다루며&lt;span&gt;, config.json &lt;/span&gt;스키마 설계부터 검증&lt;span&gt;/&lt;/span&gt;기본값 처리&lt;span&gt;, &lt;/span&gt;환경변수 치환까지 구현해보겠습니다&lt;span&gt;.&lt;br /&gt;&lt;/span&gt;이어서&lt;span&gt; 4&lt;/span&gt;화에서는 &lt;span&gt;*[&lt;b&gt;4&lt;/b&gt;&lt;/span&gt;&lt;b&gt;화&lt;span&gt;] &lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: &lt;/span&gt;코어 파이프라인 구현&lt;/b&gt;&lt;span&gt;&lt;b&gt;(RepoSync &amp;rarr; Select &amp;rarr; Copy &amp;rarr; Report)&lt;/b&gt;*&lt;/span&gt;을 통해 &lt;span&gt;sync_repo &amp;rarr; (build_file_list) &amp;rarr; deployer &amp;rarr; report &lt;/span&gt;흐름을&lt;span&gt; end-to-end&lt;/span&gt;로 연결해 실제 동작을 완성하겠습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1767415116522&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[1화] 파이썬 배포 자동화: 전체 프로세스(내부/외부 형상 기반)&quot; data-og-description=&quot;[1화] 파이썬 배포 자동화: 전체 프로세스 (내부/외부 형상 기반) 오랜만에 인사드립니다. 이번 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축한 과정과 시행착오를 공유드리려 합니&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/908&quot; data-og-url=&quot;https://appia.tistory.com/908&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cBV8iy/hyZPN1obT8/DpWISzIGLJbkmsgSOabKi1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bZvBHi/hyZQ9CfeQj/XeuQogbK3I96LqVkqqIYh0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/6B1FB/hyZQPXAktH/oJsdCxjspnfB05NXSkQYIK/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/908&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/908&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cBV8iy/hyZPN1obT8/DpWISzIGLJbkmsgSOabKi1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bZvBHi/hyZQ9CfeQj/XeuQogbK3I96LqVkqqIYh0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/6B1FB/hyZQPXAktH/oJsdCxjspnfB05NXSkQYIK/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[1화] 파이썬 배포 자동화: 전체 프로세스(내부/외부 형상 기반)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[1화] 파이썬 배포 자동화: 전체 프로세스 (내부/외부 형상 기반) 오랜만에 인사드립니다. 이번 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축한 과정과 시행착오를 공유드리려 합니&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1767544090359&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수)&quot; data-og-description=&quot;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수) 이전 포스팅에서는 파이썬 코드에 대한 구조와 전체적인 아키텍처에 대해서 다루었습니다. 이어서 이번 포스팅&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/910&quot; data-og-url=&quot;https://appia.tistory.com/910&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eVLTu/hyZQ2wS7Sw/d8emUAKQRkQa6BiICSrpm1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/phTRX/hyZQ750nFx/vpzZWMW0sFAlkFv64SNph1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/diIYuP/hyZQZz90P1/LXnTgFBFGhmCuzQqWNVtyk/img.png?width=2092&amp;amp;height=1136&amp;amp;face=0_0_2092_1136&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/910&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/910&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eVLTu/hyZQ2wS7Sw/d8emUAKQRkQa6BiICSrpm1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/phTRX/hyZQ750nFx/vpzZWMW0sFAlkFv64SNph1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/diIYuP/hyZQZz90P1/LXnTgFBFGhmCuzQqWNVtyk/img.png?width=2092&amp;amp;height=1136&amp;amp;face=0_0_2092_1136');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[3화] 파이썬 배포 자동화: Config 설계 &amp;amp; 로더 구현(스키마/검증/기본값/환경변수) 이전 포스팅에서는 파이썬 코드에 대한 구조와 전체적인 아키텍처에 대해서 다루었습니다. 이어서 이번 포스팅&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 개발 시리즈</category>
      <category>CI/CD</category>
      <category>DevOps</category>
      <category>git</category>
      <category>Plant UML</category>
      <category>배포자동화</category>
      <category>소프트웨어배포</category>
      <category>코드아키텍처</category>
      <category>파이썬</category>
      <category>파이썬자동화</category>
      <category>프로젝트구조</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/909</guid>
      <comments>https://appia.tistory.com/909#entry909comment</comments>
      <pubDate>Sat, 3 Jan 2026 13:28:32 +0900</pubDate>
    </item>
    <item>
      <title>[1화] 파이썬 배포 자동화: 전체 프로세스(내부/외부 형상 기반)</title>
      <link>https://appia.tistory.com/908</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[1화] 파이썬 배포 자동화: 전체 프로세스 (내부/외부 형상 기반)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1화 파이썬 배포 자동화 전체 프로세스.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v3Jf6/dJMcahC3Umy/cbEKufSms5xjr5E75ZGGi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v3Jf6/dJMcahC3Umy/cbEKufSms5xjr5E75ZGGi0/img.png&quot; data-alt=&quot;[1화] 파이썬 배포 자동화: 전체 프로세스 (내부/외부 형상 기반)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v3Jf6/dJMcahC3Umy/cbEKufSms5xjr5E75ZGGi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv3Jf6%2FdJMcahC3Umy%2FcbEKufSms5xjr5E75ZGGi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;945&quot; data-filename=&quot;1화 파이썬 배포 자동화 전체 프로세스.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;945&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[1화] 파이썬 배포 자동화: 전체 프로세스 (내부/외부 형상 기반)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오랜만에 인사드립니다&lt;span&gt;. &lt;/span&gt;이번 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축한 과정과 시행착오를 공유드리려 합니다&lt;span&gt;. &lt;/span&gt;최근 동료와 배포 자동화에 대해 많은 이야기를 나누었습니다&lt;span&gt;. 협업을 하다 보면 배포에 많은 시간과 공수가 들고, 반복 작업도 많습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;업무 효율성을 높이기 위해서 자동화에 대한 요구가 많았습니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;그래서&lt;span&gt;&amp;nbsp;&lt;/span&gt;이번 기회에 자동화를 한 번 실제로 적용해보기로 의견을 모았습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;[1&lt;/span&gt;화&lt;span&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;전체 프로세스&lt;span&gt;(&lt;/span&gt;내부&lt;span&gt;/&lt;/span&gt;외부 형상 기반&lt;span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/909&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;[2&lt;/span&gt;화&lt;span&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 코드 구조와 아키텍처&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/910&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;[3&lt;/span&gt;화&lt;span&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: Config&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;설계&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;amp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;로더 구현&lt;span&gt;(&lt;/span&gt;스키마&lt;span&gt;/&lt;/span&gt;검증&lt;span&gt;/&lt;/span&gt;기본값&lt;span&gt;/&lt;/span&gt;환경변수&lt;span&gt;)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[4&lt;/span&gt;화&lt;span&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;코어 파이프라인 구현&lt;span&gt;(RepoSync &amp;rarr; Select &amp;rarr; Copy &amp;rarr; Report) &lt;b&gt;(추후 링크 업데이트)&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[5&lt;/span&gt;화&lt;span&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;파이썬 배포 자동화&lt;span&gt;: CLI/&lt;/span&gt;로그&lt;span&gt;/&lt;/span&gt;리포트&lt;span&gt;/&lt;/span&gt;에러처리 및 마무리 &lt;b&gt;(추후 링크 업데이트)&lt;/b&gt; &lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;내부에서 관리하는 형상에서 배포에 필요한 파일만 골라 고객 형상에 반영해야 합니다&lt;span&gt;. &lt;/span&gt;그 과정에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;파일을 선별하고 반영하는 방법을 어떻게 표준화할지 고민하게 되었습니다&lt;span&gt;. &lt;/span&gt;앞으로 여러 편에 걸쳐 내용을 쉽게 풀어 소개해드릴 예정이며&lt;span&gt;, &lt;/span&gt;이번&lt;span&gt; 1&lt;/span&gt;화에서는 전체 구성과 개요를 먼저 정리해보겠습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;내부와 외부의 형상은 명확하게 분리하여 관리하고 있습니다&lt;span&gt;. &lt;/span&gt;내부 형상은 내부 개발자들이 작업하는 개발 환경에 해당합니다&lt;span&gt;. &lt;/span&gt;즉&lt;span&gt;, &lt;/span&gt;개발자들이 개발하고 검증한 코드 및 관련된 데이터들이 포함되어 있습니다&lt;span&gt;. &lt;/span&gt;외부 형상은 고객과 공유하는 데이터라고 보시면 됩니다&lt;span&gt;. &lt;/span&gt;즉&lt;span&gt;, &lt;/span&gt;내부 형상에서 공유가 필요한 파일들만 선별하여 고객사에 전달하게 됩니다&lt;span&gt;. &lt;/span&gt;아마도&lt;span&gt;, &lt;/span&gt;현업에서 소스 코드 배포를 하는 많은 개발자 분들께서는 이와 같은 형태로 내부&lt;span&gt;/&lt;/span&gt;외부 형상을 분리하여 운영하고 있을 것입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bV0HD9/dJMcaajEfL8/ri30bTRdUC0IWkHjC7T1mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bV0HD9/dJMcaajEfL8/ri30bTRdUC0IWkHjC7T1mK/img.png&quot; data-alt=&quot;그림 1.&amp;amp;nbsp; 내부 ,&amp;amp;nbsp; 외부 고객 형상 관계&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bV0HD9/dJMcaajEfL8/ri30bTRdUC0IWkHjC7T1mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbV0HD9%2FdJMcaajEfL8%2Fri30bTRdUC0IWkHjC7T1mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;187&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;187&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 1.&amp;nbsp; 내부 ,&amp;nbsp; 외부 고객 형상 관계&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;위의 그림을 보면&lt;span&gt;, &lt;/span&gt;내부 고객&lt;span&gt;(&lt;/span&gt;개발자&lt;span&gt;)&lt;/span&gt;과 외부 고객&lt;span&gt;(&lt;/span&gt;고객사&lt;span&gt;) &lt;/span&gt;간의 관계 및 형상 흐름이 나타나 있습니다&lt;span&gt;. &lt;/span&gt;내부에서는&lt;span&gt; CI/CD &lt;/span&gt;환경을 통해 자동으로 배포가 이뤄지도록 시스템을 구축해 두었으나&lt;span&gt;, &lt;/span&gt;간혹 시스템 문제로 인해 수동 배포가 필요한 경우도 발생해 왔습니다&lt;span&gt;. &lt;/span&gt;이러한 경우 배포를 진행하는 인원은 수작업으로 배포를 진행했고&lt;span&gt;, &lt;/span&gt;그 횟수가 매우 잦아서 이제는 별도의 시스템이 필요한 상황이었습니다&lt;span&gt;. &lt;/span&gt;수동으로 배포하는 과정에서의 많은 이슈들이 있었습니다&lt;span&gt;. &lt;/span&gt;예를 들면&lt;span&gt;, &lt;/span&gt;고객사에 전달되면 안 되는 개발자 검증 환경 및 테스트 코드들이 고객사에 전달되는 경우도 있었습니다&lt;span&gt;. &lt;/span&gt;또한 특정 포함되어야 할 파일이 누락되는 경우도 있었습니다&lt;span&gt;. 이 부분은,&lt;/span&gt;&amp;nbsp;결국&lt;span&gt; 소프트웨어&lt;/span&gt;의 품질 문제로 인식될 수 있습니다&lt;span&gt;. &lt;/span&gt;그래서&lt;span&gt;, &lt;/span&gt;최악의 상황에서도 문제가 없게 배포할 수 있는 시스템을 만드는 것이 이번 시리즈의 핵심입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화 환경을 효과적으로 구축하기 위해서는 체계적인 절차가 중요하다고 생각합니다&lt;span&gt;. &lt;/span&gt;먼저&lt;span&gt;, &lt;/span&gt;배포를 진행하기 전부터 배포가 완료될 때까지의 전체 과정을 단계별로 정리해보았습니다&lt;span&gt;. &lt;/span&gt;각 단계는 다음과 같이 구성되어 있습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;1.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;배포 대상 파일 선별&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;2.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;내부 형상 최신화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;3.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;외부 형상 최신화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;4.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;배포 대상 파일 복사 및 배포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 단계별로 세분화된 절차를 통해 배포 자동화 환경을 구축할 예정입니다&lt;span&gt;. &lt;/span&gt;그리고 각 과정에 대해서는 상세하게 별도의 포스팅을 통해서 설명을 진행할 예정입니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;&lt;span&gt;1.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;배포될 파일 선별&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화를 준비하면서 가장 먼저 떠올린 방법은 내부 형상에서 외부 형상으로 필요한 파일만 복사하는 방식이었습니다&lt;span&gt;. &lt;/span&gt;이를 위해서는 우선 복사 대상 파일을 어떻게 선별할 것인지 기준을 명확히 정하는 것이 중요합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 고민한 기준은 다음과 같습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;l&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;특정 폴더 내에서 변경된 파일을 선별하는 방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;l&lt;span&gt; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;고객 형상에 포함된 파일 목록을 기준으로 선별하는 방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 가지 방법 모두 장단점이 있기 때문에 각각 구현해볼 예정이지만&lt;span&gt;, &lt;/span&gt;개인적으로는 두 번째 방법인&lt;span&gt; &amp;lsquo;&lt;/span&gt;고객 형상에 포함된 파일 목록&lt;span&gt;&amp;rsquo;&lt;/span&gt;을 기준으로 선별하는 방식을 더 선호합니다&lt;span&gt;. &lt;/span&gt;이 방법을 사용하면 배포에 필요한 파일만 정확히 복사할 수 있어 불필요한 파일의 유출을 막을 수 있기 때문입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOs0tQ/dJMcac2NsKj/BkUIVQCzO6iuwF7PMOcx6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOs0tQ/dJMcac2NsKj/BkUIVQCzO6iuwF7PMOcx6k/img.png&quot; data-alt=&quot;그림 2.&amp;amp;nbsp; 외부 형상에서의 파일리스트 추출&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOs0tQ/dJMcac2NsKj/BkUIVQCzO6iuwF7PMOcx6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOs0tQ%2FdJMcac2NsKj%2FBkUIVQCzO6iuwF7PMOcx6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;457&quot; height=&quot;154&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 2.&amp;nbsp; 외부 형상에서의 파일리스트 추출&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한&lt;span&gt;, &lt;/span&gt;복사 대상 파일 목록을 어떻게 관리할지도 중요한 고민거리였습니다&lt;span&gt;. &lt;/span&gt;설정 정보를 코드에 하드 코딩할지&lt;span&gt;, &lt;/span&gt;아니면 별도의 설정 파일&lt;span&gt;(&lt;/span&gt;예&lt;span&gt;: JSON &lt;/span&gt;파일&lt;span&gt;)&lt;/span&gt;로 관리할지에 대해서 고민을 하였습니다&lt;span&gt;. &lt;/span&gt;확장성과 유지보수의 편의성을 고려하여&lt;span&gt; JSON &lt;/span&gt;파일 형태로 파일 목록과 경로 정보를 관리하기로 결정했습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영 환경에서는 항상 고객 형상에서 필요한 정보를 직접 읽어오는 것이 가능하지만&lt;span&gt;, &lt;/span&gt;이러한 방식은 특정 프로젝트에만 국한되어 적용될 수 있다는 한계가 있습니다&lt;span&gt;. &lt;/span&gt;따라서&lt;span&gt;, &lt;/span&gt;다양한 프로젝트나 배포 환경에서 범용적으로 활용할 수 있는 시스템을 구축하는 것이 더욱 중요하다고 판단했습니다&lt;span&gt;. &lt;/span&gt;이러한 이유로&lt;span&gt;, &lt;/span&gt;배포 자동화 환경을 설계할 때 외부 형상 정보를 최초 또는 필요에 따라 한 번만 가져오고&lt;span&gt;, &lt;/span&gt;그 이후에는 별도로 관리되는&lt;span&gt; JSON &lt;/span&gt;파일을 기반으로 배포 작업을 진행하도록 방향을 잡았습니다&lt;span&gt;. &lt;/span&gt;이렇게 하면 각 프로젝트마다 배포 방식이 달라지더라도 공통적으로 활용할 수 있는 구조를 마련할 수 있으며&lt;span&gt;, &lt;/span&gt;유지보수와 확장성 면에서도 매우 큰 장점이 있습니다&lt;span&gt;. &lt;/span&gt;또한&lt;span&gt;, JSON &lt;/span&gt;파일에 파일 목록과 경로 정보가 체계적으로 정리되어 있으므로&lt;span&gt;, &lt;/span&gt;배포 과정에서 불필요한 파일이 포함되는 것을 예방할 수 있고&lt;span&gt;, &lt;/span&gt;배포가 필요한 파일만 정확하게 관리할 수 있습니다&lt;span&gt;. &lt;/span&gt;이처럼 내부 형상과 외부 형상 간의 정보 관리 방식을 통일함으로써&lt;span&gt;, &lt;/span&gt;배포 자동화 환경의 효율성과 안정성을 더욱 높일 수 있다고 생각합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;2. &lt;/span&gt;내부 형상 최신화&lt;span&gt; / 3. &lt;/span&gt;외부 형상 최신화&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 자동화 환경을 구축하기 위해서는 무엇보다 먼저 내부와 외부 형상의 최신화가 반드시 선행되어야 합니다&lt;span&gt;. &lt;/span&gt;내부 형상 최신화란&lt;span&gt;, &lt;/span&gt;각 개발자들이 개별적으로 개발한 내용을 하나의 메인 브랜치에 병합&lt;span&gt;(merge)&lt;/span&gt;된 상태 즉&lt;span&gt;, &lt;/span&gt;형상 상의 최신 상태로 유지되는 과정을 의미합니다&lt;span&gt;. &lt;/span&gt;이 과정이 제대로 진행되어야만 정상적인 배포가 가능합니다&lt;span&gt;. &lt;/span&gt;만약 최신화가 되지 않는다면 특정 개발 항목들이 누락되는 상황들이 발생합니다&lt;span&gt;. &lt;/span&gt;이후 진행되는 배포 작업에서 예기치 않은 충돌이나 누락 문제가 발생할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;290&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wxpVa/dJMcaiBVIvD/aZKnzZJ2AJkZMUyJRljT5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wxpVa/dJMcaiBVIvD/aZKnzZJ2AJkZMUyJRljT5K/img.png&quot; data-alt=&quot;그림 3.&amp;amp;nbsp; 내부 외부 형상 최신화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wxpVa/dJMcaiBVIvD/aZKnzZJ2AJkZMUyJRljT5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwxpVa%2FdJMcaiBVIvD%2FaZKnzZJ2AJkZMUyJRljT5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;488&quot; height=&quot;290&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;290&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 3.&amp;nbsp; 내부 외부 형상 최신화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 형상 최신화는 고객사와 협업하는 과정에서 공유된 부분&lt;span&gt;, &lt;/span&gt;즉 고객사가 우리에게 전달하거나 우리가 고객사와 협의한 변경 사항을 반영하는 단계입니다&lt;span&gt;. &lt;/span&gt;이를 통해 외부 환경에서 이루어진 모든 변경 사항이 우리 시스템에도 동일하게 적용되어&lt;span&gt;, &lt;/span&gt;내부와 외부 모두가 동일한 기준에서 작업을 진행할 수 있게 됩니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 형상 최신화 작업은 흔히 사용하는&lt;span&gt; Git&lt;/span&gt;을 예로 들면&lt;span&gt;, 'pull' &lt;/span&gt;명령어를 통해 최신 소스 코드를 받아오고&lt;span&gt;, HEAD &lt;/span&gt;포인터를 가장 최근 병합된 커밋에 맞추는 것과 동일합니다&lt;span&gt;. &lt;/span&gt;이처럼 내부와 외부의 형상을 항상 최신 상태로 유지하는 것은 매우 중요합니다&lt;span&gt;. &lt;/span&gt;최신화가 제대로 이루어지지 않으면&lt;span&gt;, &lt;/span&gt;이후 단계에서 불필요한 오류가 발생할 수 있으며&lt;span&gt;, &lt;/span&gt;배포 자동화의 신뢰성 또한 크게 저하될 수 있습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 내부와 외부 형상의 최신화는 배포 자동화에서 반드시 진행되어야 할 필수 단계라고 할 수 있습니다&lt;span&gt;. &lt;/span&gt;이러한 과정이 성공적으로 마무리된 후&lt;span&gt;, &lt;/span&gt;비로소 다음 단계의 작업으로 안전하게 넘어갈 수 있습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;4.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;배포 대상 파일 복사 및 배포&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 내부와 외부 형상의 최신화 단계를 성공적으로 마친 이후에는&lt;span&gt;, &lt;/span&gt;최신 상태로 관리된 내부 형상의 변경 사항을 외부 형상에 적용하는 작업이 이어집니다&lt;span&gt;. &lt;/span&gt;이 단계에서는 이전에&lt;span&gt; JSON &lt;/span&gt;파일로 체계적으로 추출한 파일 리스트를 활용하여&lt;span&gt;, &lt;/span&gt;복사해야 할 파일들을 정확하게 선별합니다&lt;span&gt;. &lt;/span&gt;이렇게 선정된 파일들은 외부 형상과 관련된 특정 폴더로 복사되며&lt;span&gt;, &lt;/span&gt;이미 동일한 이름의 파일이 존재할 경우에는 덮어쓰기를 통해 최신 버전으로 교체하게 됩니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 복사가 완료되면&lt;span&gt;, &lt;/span&gt;복사된 모든 파일을 전체&lt;span&gt; Stage&lt;/span&gt;에 올린 후&lt;span&gt;, Commit &lt;/span&gt;단계를 진행합니다&lt;span&gt;. &lt;/span&gt;이러한 과정은 배포 자동화의 핵심으로&lt;span&gt;, &lt;/span&gt;불필요한 파일의 혼입을 방지하고 필요한 파일만을 신속하게 반영할 수 있도록 합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byKdms/dJMcagRGXxA/njDgtIoGJfK6LqFbfshgwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byKdms/dJMcagRGXxA/njDgtIoGJfK6LqFbfshgwk/img.png&quot; data-alt=&quot;그림 4. 배포 대상 파일 복사&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byKdms/dJMcagRGXxA/njDgtIoGJfK6LqFbfshgwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyKdms%2FdJMcagRGXxA%2FnjDgtIoGJfK6LqFbfshgwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;125&quot; data-origin-width=&quot;513&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그림 4. 배포 대상 파일 복사&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 한 가지 주목할 점은&lt;span&gt;, &lt;/span&gt;외부 형상에 변경 사항을 반영하는 방식에 따라 작업 흐름에 차이가 있을 수 있다는 점입니다&lt;span&gt;. &lt;/span&gt;첫 번째 방식은 외부 형상에서 새로운 브랜치를 별도로 생성한 후&lt;span&gt;, &lt;/span&gt;해당 브랜치에 변경 사항을&lt;span&gt; Commit&lt;/span&gt;하고&lt;span&gt;, &lt;/span&gt;모든 검토가 끝나면 최종적으로&lt;span&gt; Master &lt;/span&gt;또는&lt;span&gt; Main &lt;/span&gt;브랜치로&lt;span&gt; Merge&lt;/span&gt;하는 절차입니다&lt;span&gt;. &lt;/span&gt;이 방법은 여러 개발자나 협업자가 동시에 작업할 때 충돌을 최소화하면서 안정적으로 변경 사항을 관리할 수 있다는 장점이 있습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 방식으로는&lt;span&gt;, &lt;/span&gt;별도의 브랜치 생성 없이 바로&lt;span&gt; Master &lt;/span&gt;또는&lt;span&gt; Main &lt;/span&gt;브랜치에&lt;span&gt; Commit&lt;/span&gt;을 진행하는 방법이 있습니다&lt;span&gt;. &lt;/span&gt;이 경우에는 변경 사항이 즉각적으로 반영되어 빠른 배포가 가능하지만&lt;span&gt;, &lt;/span&gt;협업이나 코드 검토 절차가 필요한 경우에는 신중하게 선택해야 합니다&lt;span&gt;. &lt;/span&gt;프로젝트의 규모나 팀의 협업 환경에 따라 적합한 방식을 선택하는 것이 중요합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 내부에서 최신화된 내용을 외부 형상에 안전하게 반영하는 과정은&lt;span&gt;, &lt;/span&gt;배포 자동화의 신뢰성과 효율성을 높여주는 중추적인 역할을 하며&lt;span&gt;, &lt;/span&gt;각 단계별로 체계적인 절차와 관리가 중요합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 전체 프로세스의 개요만 정리했습니다. 다음 글에서는 각 단계별 파이썬 코드 구조와 아키텍처를 자세히 다뤄보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1767415041917&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처&quot; data-og-description=&quot;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처이전 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축하는 전체 흐름을 정리했습니다. 배포 자동화가 왜 필요한지와 함께, 실&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/909&quot; data-og-url=&quot;https://appia.tistory.com/909&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHpmCH/hyZQZ7wh3n/Nsoosjp3CNefEGJ7bVxVUk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b11gVT/hyZRaA93tf/3ocQIimPKP7Vs0do02OeA1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/c6lVGx/hyZQNMfwHh/ACBG5dWqjHcV2QKPb8NmOk/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/909&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/909&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHpmCH/hyZQZ7wh3n/Nsoosjp3CNefEGJ7bVxVUk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b11gVT/hyZRaA93tf/3ocQIimPKP7Vs0do02OeA1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/c6lVGx/hyZQNMfwHh/ACBG5dWqjHcV2QKPb8NmOk/img.png?width=945&amp;amp;height=945&amp;amp;face=0_0_945_945');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[2화] 파이썬 배포 자동화: 파이썬 코드 구조와 아키텍처이전 포스팅에서는 파이썬 스크립트로 배포 자동화 환경을 구축하는 전체 흐름을 정리했습니다. 배포 자동화가 왜 필요한지와 함께, 실&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 개발 시리즈</category>
      <category>CI/CD</category>
      <category>DevOps</category>
      <category>git</category>
      <category>릴리즈관리</category>
      <category>배포자동화</category>
      <category>배포프로세스</category>
      <category>소스코드배포</category>
      <category>자동화스크립트</category>
      <category>파이썬</category>
      <category>형상관리</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/908</guid>
      <comments>https://appia.tistory.com/908#entry908comment</comments>
      <pubDate>Fri, 2 Jan 2026 01:20:44 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] 크롬(Chrome)방문 (특정사이트 또는 전체) 삭제하기</title>
      <link>https://appia.tistory.com/907</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;크롬(Chrome)방문&amp;nbsp;(특정사이트&amp;nbsp;또는&amp;nbsp;전체)&amp;nbsp;삭제하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python_크롬방문기록 삭제하기_001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;771&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvwXzl/btsB6vjnjmE/EK7GRqGH6SVWAuw8nItV31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvwXzl/btsB6vjnjmE/EK7GRqGH6SVWAuw8nItV31/img.png&quot; data-alt=&quot;파이썬[Python] 크롬(Chrome)방문 (특정사이트 또는 전체) 삭제하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvwXzl/btsB6vjnjmE/EK7GRqGH6SVWAuw8nItV31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvwXzl%2FbtsB6vjnjmE%2FEK7GRqGH6SVWAuw8nItV31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;771&quot; data-filename=&quot;python_크롬방문기록 삭제하기_001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python] 크롬(Chrome)방문 (특정사이트 또는 전체) 삭제하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이존 포스팅에서 크롬(Chrome)의 방문기록을 출력하는 방법에 대해서 포스팅을 해봤습니다. 그래서, 이번 포스팅에서는 이 방문기록에 대해서 선택적으로 삭제하거나 아니면 전체를 삭제하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/906&quot;&gt;파이썬[Python] 크롬(Chrome)방문 기록 출력하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1703212285182&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] 크롬(Chrome)방문 기록 출력하기&quot; data-og-description=&quot;파이썬[Python] 크롬(Chrome)방문 기록 출력하기 최근 CCleaner라는 최적화 프로그램에 대해서 포스팅을 하면서 이런 생각을 해봤습니다. 파이썬[Python]을 가지고, 최적화를 할 수 있다면, 어떨까? 이런 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/906&quot; data-og-url=&quot;https://appia.tistory.com/906&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eJtag/hyUPz0QKsa/ZnW6r5Ox1kTzIrmPldN891/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750,https://scrap.kakaocdn.net/dn/cRsF9M/hyUPEOCdmq/TQXy3R3ycXsybdAr0rjOvk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750,https://scrap.kakaocdn.net/dn/ds4j1i/hyUPHkhJEc/zMU3LsvyPekqWoeV6Fo3HK/img.png?width=945&amp;amp;height=764&amp;amp;face=0_0_945_764&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/906&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/906&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eJtag/hyUPz0QKsa/ZnW6r5Ox1kTzIrmPldN891/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750,https://scrap.kakaocdn.net/dn/cRsF9M/hyUPEOCdmq/TQXy3R3ycXsybdAr0rjOvk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750,https://scrap.kakaocdn.net/dn/ds4j1i/hyUPHkhJEc/zMU3LsvyPekqWoeV6Fo3HK/img.png?width=945&amp;amp;height=764&amp;amp;face=0_0_945_764');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 크롬(Chrome)방문 기록 출력하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 크롬(Chrome)방문 기록 출력하기 최근 CCleaner라는 최적화 프로그램에 대해서 포스팅을 하면서 이런 생각을 해봤습니다. 파이썬[Python]을 가지고, 최적화를 할 수 있다면, 어떨까? 이런&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 이 부분을 통해서, 방문기록을 삭제하는 방법에 대해서 이야기를 해보고자 합니다. 먼저 가장 쉽게 접근할 수 있는 부분은 바로, 특정 사이트에 동일하게 매칭되는 기록에 대해서 삭제하는 방법입니다. 기본적으로 다음 부분을 활용해야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702906490648&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;url_to_delete = 'https://youtube.com/'
cursor.execute(&quot;DELETE FROM urls WHERE url = ?&quot;, (url_to_delete,))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 통해서, 전체적인 예제 코드를 작성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702905564024&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sqlite3
import os

# 크롬 방문 기록 데이터베이스 파일 경로 설정
chrome_history_path = os.path.expanduser('~') + '/AppData/Local/Google/Chrome/User Data/Default/History'

# 데이터베이스 연결 (백업을 만들어 놓는 것이 좋습니다)
conn = sqlite3.connect(chrome_history_path)
cursor = conn.cursor()

# 특정 URL의 방문 기록 삭제
url_to_delete = 'https://youtube.com/'
cursor.execute(&quot;DELETE FROM urls WHERE url = ?&quot;, (url_to_delete,))

# 변경 사항 저장
conn.commit()

# 연결 닫기
conn.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에 코드를 실행하고, 이전 포스팅에서 활용한 부분을 통해서 방문기록에 대해서 출력을 했는데, 다음과 같이 아직 youtube 하위 경로에 있는 부분들에 대해서는 출력이 된것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python_크롬방문기록 삭제하기_002.png&quot; data-origin-width=&quot;1241&quot; data-origin-height=&quot;406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfq9Pr/btsCawPimNP/xwWkOO20MEeq7Km1bsVkSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfq9Pr/btsCawPimNP/xwWkOO20MEeq7Km1bsVkSK/img.png&quot; data-alt=&quot;예제 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfq9Pr/btsCawPimNP/xwWkOO20MEeq7Km1bsVkSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcfq9Pr%2FbtsCawPimNP%2FxwWkOO20MEeq7Km1bsVkSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1241&quot; height=&quot;406&quot; data-filename=&quot;python_크롬방문기록 삭제하기_002.png&quot; data-origin-width=&quot;1241&quot; data-origin-height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 이번에는 특정 사이트를 포함하는 모든 주소에 대해서 삭제하는 방법에 대해서 이야기를 해보도록 하겠습니다. 여기에서는 다음과 같은 부분을 활용해야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702906772132&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;url_pattern_to_delete = 'http://youtube.com%'
cursor.execute(&quot;DELETE FROM urls WHERE url LIKE ?&quot;, (url_pattern_to_delete,))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 부분을 토대로, 전체 코드를 작성해보면 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702905862259&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sqlite3
import os

# 크롬 방문 기록 데이터베이스 파일 경로 설정
chrome_history_path = os.path.expanduser('~') + '/AppData/Local/Google/Chrome/User Data/Default/History'

# 데이터베이스 연결 (백업을 만들어 놓는 것이 좋습니다)
conn = sqlite3.connect(chrome_history_path)
cursor = conn.cursor()

# 'http://youtube.com'을 포함하는 모든 URL의 방문 기록 삭제
url_pattern_to_delete = 'http://youtube.com%'
cursor.execute(&quot;DELETE FROM urls WHERE url LIKE ?&quot;, (url_pattern_to_delete,))

# 변경 사항 저장
conn.commit()

# 연결 닫기
conn.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 위의 코드에서는 2번 실행을 하였습니다. &lt;a href=&quot;http://youtube.com%&quot;&gt;http://youtube.com%&lt;/a&gt; 와 &lt;a href=&quot;http://www.youtube.com%&quot;&gt;http://www.youtube.com%&lt;/a&gt; 이 두부분을 모두 넣고 실행을 하였ㅅ브니다. 그 결과 다음과 같은 결과가 나타났습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python_크롬방문기록 삭제하기_003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cX6KNs/btsCawu0Tkx/d8PQ1UaEKVyTEFulDkofWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cX6KNs/btsCawu0Tkx/d8PQ1UaEKVyTEFulDkofWk/img.png&quot; data-alt=&quot;특정 사이트의 하위 사이트에 대한 방문기록 삭제하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cX6KNs/btsCawu0Tkx/d8PQ1UaEKVyTEFulDkofWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcX6KNs%2FbtsCawu0Tkx%2Fd8PQ1UaEKVyTEFulDkofWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;482&quot; data-filename=&quot;python_크롬방문기록 삭제하기_003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;특정 사이트의 하위 사이트에 대한 방문기록 삭제하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 가장 쉽게는 다음과 같은 방식으로 방문기록 전체를 삭제할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702905902143&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sqlite3
import os

# 크롬 방문 기록 데이터베이스 파일 경로 설정
chrome_history_path = os.path.expanduser('~') + '/AppData/Local/Google/Chrome/User Data/Default/History'

# 데이터베이스 연결 (백업을 만들어 놓는 것이 좋습니다)
conn = sqlite3.connect(chrome_history_path)
cursor = conn.cursor()

# 모든 방문 기록 삭제
cursor.execute(&quot;DELETE FROM urls&quot;)

# 변경 사항 저장
conn.commit()

# 연결 닫기
conn.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 크롬(Chrome)의 방문기록을 삭제할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/826&quot;&gt;파이썬[Python] selenium의 WebDriver를 이용한 크롬(Chrome)버전 확인하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702906986699&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] selenium의 WebDriver를 이용한 크롬(Chrome)버전 확인하기&quot; data-og-description=&quot;파이썬[Python] selenium을 이용한 크롬(Chrome)버전확인하기 파이썬 selenium을 이용하여 다양한 작업을 할 수 있습니다. 대부분은 웹 브라우저를 동적으로 제어하거나, 원하는 정보를 크롤링 하는데 사&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/826&quot; data-og-url=&quot;https://appia.tistory.com/826&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/RzVVJ/hyUPBXFThQ/uYvZKlxvmxLwT3EkTIKiM1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/eQk1q/hyUPB4sKBg/vDOvZn6jZX0mPoGCT87aG1/img.png?width=962&amp;amp;height=729&amp;amp;face=0_0_962_729&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/826&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/826&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/RzVVJ/hyUPBXFThQ/uYvZKlxvmxLwT3EkTIKiM1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/eQk1q/hyUPB4sKBg/vDOvZn6jZX0mPoGCT87aG1/img.png?width=962&amp;amp;height=729&amp;amp;face=0_0_962_729');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] selenium의 WebDriver를 이용한 크롬(Chrome)버전 확인하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] selenium을 이용한 크롬(Chrome)버전확인하기 파이썬 selenium을 이용하여 다양한 작업을 할 수 있습니다. 대부분은 웹 브라우저를 동적으로 제어하거나, 원하는 정보를 크롤링 하는데 사&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 파이썬[Python] 크롬(Chrome)방문 (특정사이트 또는 전체) 삭제하기라는 주제로 이야기를 해봤습니다. 실제, 컴퓨터 최적화에 대한 방법의 가장 첫걸음을 진행해봤습니다. 다음은 하나씩 하나씩 진행해가면서 보다 깊게 이야기를 해보고자 합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 혹 제 글이 도움이 되셨다면 공감 및 댓글 부탁드립니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 응용</category>
      <category>python</category>
      <category>컴퓨터최적화</category>
      <category>크롬방문기록삭제하기</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/907</guid>
      <comments>https://appia.tistory.com/907#entry907comment</comments>
      <pubDate>Fri, 22 Dec 2023 11:31:37 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] 크롬(Chrome)방문 기록 출력하기</title>
      <link>https://appia.tistory.com/906</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;크롬(Chrome)방문&amp;nbsp;기록&amp;nbsp;출력하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python크롬방문기록출력하기_001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;750&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bByzb1/btsCgtxcDw9/h6IvjqeXxDjnaT9P4TmKI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bByzb1/btsCgtxcDw9/h6IvjqeXxDjnaT9P4TmKI0/img.png&quot; data-alt=&quot;파이썬[Python] 크롬(Chrome)방문 기록 출력하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bByzb1/btsCgtxcDw9/h6IvjqeXxDjnaT9P4TmKI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbByzb1%2FbtsCgtxcDw9%2Fh6IvjqeXxDjnaT9P4TmKI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;750&quot; data-filename=&quot;python크롬방문기록출력하기_001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;750&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python] 크롬(Chrome)방문 기록 출력하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;최근 CCleaner라는 최적화 프로그램에 대해서 포스팅을 하면서 이런 생각을 해봤습니다. 파이썬[Python]을 가지고, 최적화를 할 수 있다면, 어떨까? 이런 생각을 하던중에, 유사한 기능을 가지는 프로그램을 만들어보겠다는 생각을 해보게 되었습니다. 그래서, 이러한 생각을 하던중에, 하나씩 알아보기로 하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/748&quot;&gt;파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702899768456&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기&quot; data-og-description=&quot;파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기 저의 카테고리중에 MySQL에 대해서 포스팅을 하고 있습니다. 실제 이 부분을 파이썬에서 활용하기 위해서는 관련된 파이썬[Python]모듈을 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/748&quot; data-og-url=&quot;https://appia.tistory.com/748&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SwVFE/hyUPJg5aYD/OiPgKGMFlnHOF1yohGD930/img.png?width=800&amp;amp;height=801&amp;amp;face=0_0_800_801,https://scrap.kakaocdn.net/dn/byRw4W/hyUL569Q1a/SFMtfooulw3H7F60TkSH7k/img.png?width=800&amp;amp;height=801&amp;amp;face=0_0_800_801,https://scrap.kakaocdn.net/dn/qMiL7/hyULUEzdQM/AF4dGgrmKnzTwPAh2B3gFK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/748&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/748&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SwVFE/hyUPJg5aYD/OiPgKGMFlnHOF1yohGD930/img.png?width=800&amp;amp;height=801&amp;amp;face=0_0_800_801,https://scrap.kakaocdn.net/dn/byRw4W/hyUL569Q1a/SFMtfooulw3H7F60TkSH7k/img.png?width=800&amp;amp;height=801&amp;amp;face=0_0_800_801,https://scrap.kakaocdn.net/dn/qMiL7/hyULUEzdQM/AF4dGgrmKnzTwPAh2B3gFK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기 저의 카테고리중에 MySQL에 대해서 포스팅을 하고 있습니다. 실제 이 부분을 파이썬에서 활용하기 위해서는 관련된 파이썬[Python]모듈을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그중 첫번째가 바로 인터넷 방문기록을 확인하는 것이었습니다. 저의 경우에는 엣지와 크롬을 가지 사용하고 있습니다. 이번 포스팅에서는 크롬(Chrome)을 기준으로 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 크롬의 방문기록의 경우 SQL 파일 형태로 되어 있습니다. 이 파일의 경로는 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #282c34; color: #bbbbbb;&quot;&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;C:/Users/(username)/AppData/Local/Google/Chrome/User Data/Default/History&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다음을 한번 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python크롬방문기록출력하기_002.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;764&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cX2kn1/btsB84SLurk/QsjspPjiy2w2M7GYXGlwy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cX2kn1/btsB84SLurk/QsjspPjiy2w2M7GYXGlwy1/img.png&quot; data-alt=&quot;크롬(Chrome) 방문기록&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cX2kn1/btsB84SLurk/QsjspPjiy2w2M7GYXGlwy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcX2kn1%2FbtsB84SLurk%2FQsjspPjiy2w2M7GYXGlwy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;764&quot; data-filename=&quot;python크롬방문기록출력하기_002.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;764&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;크롬(Chrome) 방문기록&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 방문기록을 접근하기 위해서는 SQLite 형태로 저장된 파일에 접근을 해야합니다. 그래서 저의 경우에는 파이썬에서 기본 제공되는 sqlite3 라이브러리를 사용하도록 하겠습니다. 그리고, os 모듈의 &lt;span style=&quot;color: #111827; text-align: start;&quot;&gt;os.path.expanduser('~')&lt;/span&gt; 이용하여, 현재 컴퓨터 사용자에 맞는 폴더를 자연스럽게 사용할 수 있도록 하겠습니다. 그럼 다음 부분을 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702897919050&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sqlite3
import os

# 크롬 방문 기록 데이터베이스 파일 경로 설정
chrome_history_path = os.path.expanduser('~') + '/AppData/Local/Google/Chrome/User Data/Default/History'

# 데이터베이스 연결
conn = sqlite3.connect(chrome_history_path)
cursor = conn.cursor()

# 방문 기록 조회
cursor.execute(&quot;SELECT url, title, visit_count, last_visit_time FROM urls ORDER BY last_visit_time DESC&quot;)

# 결과 출력
for row in cursor.fetchall():
    print(row)

# 연결 닫기
conn.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 코드를 실행하면 다음과 같은 결과가 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;python크롬방문기록출력하기_003.png&quot; data-origin-width=&quot;857&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nmjpa/btsCg4YfY86/Ok2Jm2x6y7aCTWydipom4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nmjpa/btsCg4YfY86/Ok2Jm2x6y7aCTWydipom4K/img.png&quot; data-alt=&quot;크롬(Chrome)방문 기록 출력 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nmjpa/btsCg4YfY86/Ok2Jm2x6y7aCTWydipom4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnmjpa%2FbtsCg4YfY86%2FOk2Jm2x6y7aCTWydipom4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;857&quot; height=&quot;442&quot; data-filename=&quot;python크롬방문기록출력하기_003.png&quot; data-origin-width=&quot;857&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;크롬(Chrome)방문 기록 출력 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론 sqlite3모듈을 사용하도록 실제로 SQL 문법에 대해서 약간 익숙하면 보다 쉽게 접근이 가능합니다. 하지만, 이런 부분에 대해서 어렵다면, 위의 코드를 그대로 사용하셔도 됩니다.&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;추가로 위의 작업을 하시기 전에 반드시 크롬(Chrome)브라우저에 대해서 종료해주시길 바랍니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/747&quot;&gt;MySql 테이블에 데이터 검색하기, 특정Column값 출력하기 (tistory.com)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702899740192&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MySql 테이블에 데이터 검색하기, 특정Column값 출력하기&quot; data-og-description=&quot;MySql 테이블에 데이터 검색하기, 특정Column값 출력하기 이전 포스팅에서는 MySQL의 테이블의 Column을 내용을 수정하고 값을 입력하는 방법에 대해서 살펴봤습니다. 실제 데이터 베이스를 사용하는 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/747&quot; data-og-url=&quot;https://appia.tistory.com/747&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/JRQee/hyUL6SzbnO/0nTHwnHwd0UIQwX7B9hLhk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dHgPJV/hyUPGED3rh/Dt2yR6uhjTYAHST498FoRK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmjHTt/hyUPAYKvua/l3EzveU05HjLnbCnBzRShK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/747&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/747&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/JRQee/hyUL6SzbnO/0nTHwnHwd0UIQwX7B9hLhk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dHgPJV/hyUPGED3rh/Dt2yR6uhjTYAHST498FoRK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmjHTt/hyUPAYKvua/l3EzveU05HjLnbCnBzRShK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MySql 테이블에 데이터 검색하기, 특정Column값 출력하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MySql 테이블에 데이터 검색하기, 특정Column값 출력하기 이전 포스팅에서는 MySQL의 테이블의 Column을 내용을 수정하고 값을 입력하는 방법에 대해서 살펴봤습니다. 실제 데이터 베이스를 사용하는&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅은 파이썬[Python] 크롬(Chrome)방문 기록 출력하기라는 주제로 포스팅을 해봤습니다. 다음 포스팅에서는 이러한 방문 기록을 삭제하는 방법에 대해서 이야기를 해보고자 합니다. 혹&amp;nbsp; 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 도움이 되셨다면, 공감 및 댓글 부탁드립니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 응용</category>
      <category>Chrome방문기록</category>
      <category>python</category>
      <category>Python크롬방문기록출력</category>
      <category>크롬방문기록출력하기</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/906</guid>
      <comments>https://appia.tistory.com/906#entry906comment</comments>
      <pubDate>Thu, 21 Dec 2023 07:44:35 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] Win32com을 이용하여 엑셀 시트 숫자 세기 및 엑셀시트 이름 모두 나열하기</title>
      <link>https://appia.tistory.com/904</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;Win32com을&amp;nbsp;이용하여&amp;nbsp;엑셀&amp;nbsp;시트&amp;nbsp;숫자&amp;nbsp;세기&amp;nbsp;및&amp;nbsp;엑셀시트&amp;nbsp;이름&amp;nbsp;모두&amp;nbsp;나열하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet 숫자세기 및 시트이름 모두 나열하기_001.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfdQ6L/btsCevBtmp3/u94tgm6gRqVhyG3f2tVwQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfdQ6L/btsCevBtmp3/u94tgm6gRqVhyG3f2tVwQ0/img.png&quot; data-alt=&quot;파이썬[Python] Win32com을 이용하여 엑셀 시트 숫자 세기 및 엑셀시트 이름 모두 나열하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfdQ6L/btsCevBtmp3/u94tgm6gRqVhyG3f2tVwQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfdQ6L%2FbtsCevBtmp3%2Fu94tgm6gRqVhyG3f2tVwQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;801&quot; height=&quot;800&quot; data-filename=&quot;excel_sheet 숫자세기 및 시트이름 모두 나열하기_001.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 숫자 세기 및 엑셀시트 이름 모두 나열하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서 win32com을 이용하여 엑셀 시트 복사하는 방법에 대해서 이야기를 해봤습니다. 이번 포스팅에서 이 부분과 연관이 있는 부분으로, 시트의 갯수를 세고, 이 부분에 대한 시트이름을 모두 나열하는 방법에 대해서 이야기를 해보고자 합니다. 기본적으로 이번 포스팅은 pywin32모듈을 기본으로 진행합니다. 파이썬 기반으로 해당 모듈을 설치하신 후에 진행 하셔야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #6bacce;&quot; href=&quot;https://appia.tistory.com/94&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702827680664&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] 014 Pywin32 설치&quot; data-og-description=&quot;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/94&quot; data-og-url=&quot;https://appia.tistory.com/94&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/0or0d/hyUPJBdJhF/Ils8MX2LUAASzxp4gGTW90/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/WVspg/hyUL2h6ida/ARKCRySSFUWlIWoSjz1xmk/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/AVdnB/hyUPII5DVJ/sJSUk6MdpnEIy7ttjZJ5Y1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/94&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/94&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/0or0d/hyUPJBdJhF/Ils8MX2LUAASzxp4gGTW90/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/WVspg/hyUL2h6ida/ARKCRySSFUWlIWoSjz1xmk/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/AVdnB/hyUPII5DVJ/sJSUk6MdpnEIy7ttjZJ5Y1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;먼저, 시트의 전체 갯수를 세는 방법에 대해서 이야기를 해보도록 하겠습니다. 다음 예시에서 보이는 바와 같이 workbook을 할당 받은 객체에서 Sheets의 속성을 받아옵니다. 여기에서 할당 받은 변수에 Count 부분을 통해서 해당 시트의 전체 갯수를 받아올 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1702825796659&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;excel = win32.Dispatch('Excel.Application')

wb = excel.Workbooks.Add() // Open 명령어로 기존 파일을 열어도 됩니다.
ws = wb.Sheets
print(ws.Count)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위에서 시트의 갯수를 확인했다면, 이제 각 시트의 이름에 대해서 출력을 해보도록 하겠습니다. 먼저, 위에서와 동일하게 Sheets의 속성을 받아서 이 부분을&amp;nbsp; for문으로 루프를 타게 합니다. 여기에서 해당 부분에 대해서 Name을 통해서 이름을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702825822830&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;excel = win32.Dispatch('Excel.Application')

wb = excel.Workbooks.Add() // Open 명령어로 기존 파일을 열어도 됩니다.
ws = wb.Sheets

for sh in ws:
    print(sh.Name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위의 부분을 바탕으로 전체 예시 코드 작성하여 진행을 해보도록 하겠습니다. 기본적으로 Workbook을 생성하면 1개의 Sheet가 추가됩니다. 이 부분을 통해서, 몇가지 Sheet을 추가하고 나서, 반복문을 통해서 각 이름을 출력해주도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702825851547&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import win32com.client as win32

# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')

# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True

# 시트 접근
ws = wb.Sheets
sheet3 = wb.Sheets.Add()
sheet3.Name = 'Copy_sheet'

sheet4 = wb.Sheets.Add()
sheet4.Name = 'example1'

sheet5 = wb.Sheets.Add()
sheet5.Name = 'exmaple2'

print(ws.Count)

for sh in ws:
    print(sh.Name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 위의 결과를 바탕으로 한번 출력을 하면, 다음과 같은 결과가 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet 숫자세기 및 시트이름 모두 나열하기_002.png&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDKk4M/btsB5E74lxK/s6K9GHWqmwRkJKf0KdmqtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDKk4M/btsB5E74lxK/s6K9GHWqmwRkJKf0KdmqtK/img.png&quot; data-alt=&quot;예시 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDKk4M/btsB5E74lxK/s6K9GHWqmwRkJKf0KdmqtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDKk4M%2FbtsB5E74lxK%2Fs6K9GHWqmwRkJKf0KdmqtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;376&quot; height=&quot;183&quot; data-filename=&quot;excel_sheet 숫자세기 및 시트이름 모두 나열하기_002.png&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법을 통해서, 시트의 갯수와 시트의 이름을 출력할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/902&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702827580728&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/j9suV/hyUL3afu5R/mPWmKKJhKoGCAMEwTkVaOk/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/svd94/hyULXHS1XI/ReptcgfCrvL7LefQahWBSK/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/vYyeG/hyULWvp95e/hVLuEl03mfojMNXeI1tJL0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot; data-og-url=&quot;https://appia.tistory.com/902&quot; data-og-source-url=&quot;https://appia.tistory.com/902&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-description=&quot;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기 오래만에 excel 자동화에 대한 포스팅을 해보고자 합니다. (실제 강의를 준비하면서, 이전에 포스팅 했던 내용에 대해서 부&quot; data-og-title=&quot;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/902&quot; data-source-url=&quot;https://appia.tistory.com/902&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/j9suV/hyUL3afu5R/mPWmKKJhKoGCAMEwTkVaOk/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/svd94/hyULXHS1XI/ReptcgfCrvL7LefQahWBSK/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/vYyeG/hyULWvp95e/hVLuEl03mfojMNXeI1tJL0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기 오래만에 excel 자동화에 대한 포스팅을 해보고자 합니다. (실제 강의를 준비하면서, 이전에 포스팅 했던 내용에 대해서 부&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 파이썬[Python] Win32com을 이용하여 엑셀 시트 숫자 세기 및 엑셀시트 이름 모두 나열하기라는 주제로 포스팅을 해봤습니다. 이 부분이 실제로 매우 잘 사용되는 부분이기 때문에 작업을 진행하실 때에 매우 많은 도움이 되실 것이라고 생각합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 그리고 제 포스팅이 도움이 되셨다면, 공감 및 댓글 부탁드립니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python Office 자동화_EXCEL_Outlook</category>
      <category>python</category>
      <category>pywin32</category>
      <category>win32com</category>
      <category>시트갯수세기</category>
      <category>시트이름출력하기</category>
      <category>엑셀자동화</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/904</guid>
      <comments>https://appia.tistory.com/904#entry904comment</comments>
      <pubDate>Wed, 20 Dec 2023 07:42:10 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우10/11 Windows10/11] 컴퓨터 최적화 프로그램 CCleaner 다운로드받고 설치하기</title>
      <link>https://appia.tistory.com/905</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[윈도우10/11&amp;nbsp;Windows10/11]&amp;nbsp;컴퓨터&amp;nbsp;최적화&amp;nbsp;프로그램&amp;nbsp;CCleaner&amp;nbsp;다운로드받고&amp;nbsp;설치하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLCzeF/btsCc3ykF2L/Y7RoifzMuZckNCxrxtOJW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLCzeF/btsCc3ykF2L/Y7RoifzMuZckNCxrxtOJW0/img.png&quot; data-alt=&quot;[윈도우10/11 Windows10/11] 컴퓨터 최적화 프로그램 CCleaner 다운로드받고 설치하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLCzeF/btsCc3ykF2L/Y7RoifzMuZckNCxrxtOJW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLCzeF%2FbtsCc3ykF2L%2FY7RoifzMuZckNCxrxtOJW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;798&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[윈도우10/11 Windows10/11] 컴퓨터 최적화 프로그램 CCleaner 다운로드받고 설치하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;많은 사람들이 모바일을 주로 사용하고 있고, 이러한 기세와 더불어 PC사용이 현격하게 줄어들고 있습니다. 그럼에도 아직까지 PC및 노트북 사용이 많다고 할 수 있습니다. 그래서, 이번 포스팅에서는 전 세계적으로 매우 많이 사용하고 있는 최적화 프로그램인 CCleaner에 대해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/894&quot;&gt;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702831346838&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지&quot; data-og-description=&quot;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지 윈도우를 사용하다보면, 기본 프로그램 외에도 다양한 프로그램들이 필요로 합니다. 그래서, 이번 포스팅에서는 윈도우를 사&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/894&quot; data-og-url=&quot;https://appia.tistory.com/894&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dDNN8D/hyUPDA0RHL/4MkeDSFthFkVrKpHbjQz01/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bMyDTa/hyUPA5mMnF/4h1J6T1MSjNz7t2ljsJu5k/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/SeYms/hyULTesKgi/jnM4aDfwpJBwDHiV3ceBQ0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/894&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/894&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dDNN8D/hyUPDA0RHL/4MkeDSFthFkVrKpHbjQz01/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bMyDTa/hyUPA5mMnF/4h1J6T1MSjNz7t2ljsJu5k/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/SeYms/hyULTesKgi/jnM4aDfwpJBwDHiV3ceBQ0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지 윈도우를 사용하다보면, 기본 프로그램 외에도 다양한 프로그램들이 필요로 합니다. 그래서, 이번 포스팅에서는 윈도우를 사&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;CCleaner의 경우에는 무료와 유료버전으로 나누어져 있습니다. 크게 다음과 같은 차이점을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;무료 버전(CCleaner Free)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본적인 PC 청소 및 최적화 기능.&lt;/li&gt;
&lt;li&gt;임시 파일, 캐시, 쿠키 등을 삭제하여 브라우저 속도 향상.&lt;/li&gt;
&lt;li&gt;레지스트리 청소 기능을 통한 시스템 안정성 유지.&lt;/li&gt;
&lt;li&gt;수동 업데이트 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;유료 버전 (CCleaner Professional)&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;무료 버전의 모든 기능 포함.&lt;/li&gt;
&lt;li&gt;실시간 모니터링: PC의 상태를 지속적으로 감시하고 필요 시 자동으로 청소.&lt;/li&gt;
&lt;li&gt;자동 업데이트: 최신 버전으로 자동 업데이트됨.&lt;/li&gt;
&lt;li&gt;드라이브 와이퍼: 하드 드라이브를 완전히 지워 데이터 복구를 방지.&lt;/li&gt;
&lt;li&gt;예약된 청소: 사용자가 설정한 일정에 따라 자동으로 청소.&lt;/li&gt;
&lt;li&gt;프리미엄 고객 지원: 유료 사용자를 위한 우선적인 고객 지원 서비스.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 저희는 무료버전에 대해서 설치를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.ccleaner.com/ko-kr/ccleaner/download&quot;&gt;Download (ccleaner.com)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702831462108&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.ccleaner.com&quot; data-og-source-url=&quot;https://www.ccleaner.com/ko-kr/ccleaner/download&quot; data-og-url=&quot;https://www.ccleaner.com/ko-kr/ccleaner/download&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.ccleaner.com/ko-kr/ccleaner/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.ccleaner.com/ko-kr/ccleaner/download&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.ccleaner.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 상기 링크를 통해서 CCleaner을 다운로드 할 수 있는 페이지로 이동해주시길 바랍니다. 그리고 나서, 하기에 보이는 &lt;b&gt;[무료 다운로드]&lt;/b&gt;부분을 클릭해주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WbvbI/btsB5WA0Wj2/k68k1RTeCt1B2zCmlIok8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WbvbI/btsB5WA0Wj2/k68k1RTeCt1B2zCmlIok8k/img.png&quot; data-alt=&quot;CCleaner 다운로드 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WbvbI/btsB5WA0Wj2/k68k1RTeCt1B2zCmlIok8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWbvbI%2FbtsB5WA0Wj2%2Fk68k1RTeCt1B2zCmlIok8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 다운로드 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나면, 다음과 같은 화면으로 이동을 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPreB3/btsB3sNFevV/ocRSuGRSmB7cCkgeB8DSQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPreB3/btsB3sNFevV/ocRSuGRSmB7cCkgeB8DSQk/img.png&quot; data-alt=&quot;CCleaner 다운로드 버튼 클릭 이후 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPreB3/btsB3sNFevV/ocRSuGRSmB7cCkgeB8DSQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPreB3%2FbtsB3sNFevV%2FocRSuGRSmB7cCkgeB8DSQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 다운로드 버튼 클릭 이후 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나면, 파일 다운로드를 진행할 것이고, 파일 다운로드가 완료되면 다음과 같은 화면이 나타날 것입니다. 여기에서. 다음과 같이 파일을 다운로드 완료하고 나서, 해당 파일을 실행해주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_004.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceHNCX/btsCevBt7TK/GEUm7In18Ztmos1S7cB6eK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceHNCX/btsCevBt7TK/GEUm7In18Ztmos1S7cB6eK/img.png&quot; data-alt=&quot;CCleaner 다운로드 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceHNCX/btsCevBt7TK/GEUm7In18Ztmos1S7cB6eK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceHNCX%2FbtsCevBt7TK%2FGEUm7In18Ztmos1S7cB6eK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;229&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_004.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 다운로드 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고나서, CCleaner 설치를 화면이 나타날것입니다. 여기에서 가운도 보이는 [설치]부분을 클릭해주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_005.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csJXN6/btsB6icGatP/3L0bFI48XNdwyvWJIFjdGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csJXN6/btsB6icGatP/3L0bFI48XNdwyvWJIFjdGk/img.png&quot; data-alt=&quot;CCleaner 설치화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csJXN6/btsB6icGatP/3L0bFI48XNdwyvWJIFjdGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsJXN6%2FbtsB6icGatP%2F3L0bFI48XNdwyvWJIFjdGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;741&quot; height=&quot;573&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_005.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 설치화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 다음과 같이 설치가 진행이 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_006.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTaGBo/btsB4SMqz3X/VLgvkeOPTSroqOGW1qkNJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTaGBo/btsB4SMqz3X/VLgvkeOPTSroqOGW1qkNJ0/img.png&quot; data-alt=&quot;CCleaner 설치화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTaGBo/btsB4SMqz3X/VLgvkeOPTSroqOGW1qkNJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTaGBo%2FbtsB4SMqz3X%2FVLgvkeOPTSroqOGW1qkNJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;741&quot; height=&quot;573&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_006.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 설치화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나면, 대략 몇분 지나고 나면 다음과 같이 설치가 진행이 완료된 것을 알 수 있을 것입니다. 그리고 나면, &lt;b&gt;[CCelaner 실행]&lt;/b&gt;부분을 클릭해주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_007.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXr8At/btsCevha09Z/QVyna2ik1N4slVUSEzl5T0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXr8At/btsCevha09Z/QVyna2ik1N4slVUSEzl5T0/img.png&quot; data-alt=&quot;CCleaner 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXr8At/btsCevha09Z/QVyna2ik1N4slVUSEzl5T0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXr8At%2FbtsCevha09Z%2FQVyna2ik1N4slVUSEzl5T0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;741&quot; height=&quot;573&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_007.png&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, CCleaner을 실행하면, 다음과 같이 광고로 다른 프로그램을 설치하도록 선택화면이 나옵니다. 저의 경우는 설치를 하지 않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_008.png&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;547&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daC5ue/btsB7UhTzxu/SWyfkE9eGqT2eP47nwDk20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daC5ue/btsB7UhTzxu/SWyfkE9eGqT2eP47nwDk20/img.png&quot; data-alt=&quot;광고 툴 설치 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daC5ue/btsB7UhTzxu/SWyfkE9eGqT2eP47nwDk20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaC5ue%2FbtsB7UhTzxu%2FSWyfkE9eGqT2eP47nwDk20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;737&quot; height=&quot;547&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_008.png&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;547&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;광고 툴 설치 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나면, 다음과 같이 모든 화견이 완료되었고, &lt;b&gt;[CCleaner 시작]&lt;/b&gt;부분을 클릭해주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_009.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DzPVM/btsB8TCZQmF/0kaK2gNm3AfKKL3Y8kgIE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DzPVM/btsB8TCZQmF/0kaK2gNm3AfKKL3Y8kgIE1/img.png&quot; data-alt=&quot;CCleaner 설치 완료 화면 - 시작&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DzPVM/btsB8TCZQmF/0kaK2gNm3AfKKL3Y8kgIE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDzPVM%2FbtsB8TCZQmF%2F0kaK2gNm3AfKKL3Y8kgIE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;818&quot; height=&quot;517&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_009.png&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 설치 완료 화면 - 시작&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계까지 진행하고 나서, CCleaner을 실행하시면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_010.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;701&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAvxvx/btsB7bYmN1N/v2q97bRtPPPDmKx0KjnFQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAvxvx/btsB7bYmN1N/v2q97bRtPPPDmKx0KjnFQ0/img.png&quot; data-alt=&quot;CCleaner 설치 완료 화면 - 시작&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAvxvx/btsB7bYmN1N/v2q97bRtPPPDmKx0KjnFQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAvxvx%2FbtsB7bYmN1N%2Fv2q97bRtPPPDmKx0KjnFQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;701&quot; data-filename=&quot;CCleaner_Free다운로드받고설치하기_010.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;701&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CCleaner 설치 완료 화면 - 시작&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 단계로 CCelaner을 다운로드 하고 실행하실 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/516&quot;&gt;[윈도우10 Windows10] 백신, 바이러스 프로그램 알약 다운로드 받고, 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702832299028&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] 백신, 바이러스 프로그램 알약 다운로드 받고, 설치하기&quot; data-og-description=&quot;[윈도우10 Windows10] 백신, 바이러스 프로그램 알약 다운로드 받고, 설치하기 실은 20년 전 가까이만 해도, 우리나라 소프트웨어 백신 시장은 안랩의 V3가 독보적이었습니다. 어느 순간부터 알집을 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/516&quot; data-og-url=&quot;https://appia.tistory.com/516&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/BWFkR/hyUPFZUg3R/qAuedhPeOckEhE8L0kmsv0/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/cuf7Ba/hyUL6kAeS5/jstxIfyNvtHYNQyKNlg55K/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/5mpk5/hyUPMxXVlL/3SqqsBVUbY5O8Pw0Jx0Pjk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/516&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/516&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/BWFkR/hyUPFZUg3R/qAuedhPeOckEhE8L0kmsv0/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/cuf7Ba/hyUL6kAeS5/jstxIfyNvtHYNQyKNlg55K/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/5mpk5/hyUPMxXVlL/3SqqsBVUbY5O8Pw0Jx0Pjk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] 백신, 바이러스 프로그램 알약 다운로드 받고, 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] 백신, 바이러스 프로그램 알약 다운로드 받고, 설치하기 실은 20년 전 가까이만 해도, 우리나라 소프트웨어 백신 시장은 안랩의 V3가 독보적이었습니다. 어느 순간부터 알집을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [윈도우10/11 Windows10/11] 컴퓨터 최적화 프로그램 CCleaner 다운로드받고 설치하기라는 주제로 포스팅을 해봤습니다. 실제, 컴퓨터 최적화은 오래 기간동안 사용자들에게 주어진 과제였습니다. 이 부분을 통해서 보다 효율적으로 PC 사용을 하시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>CCleaner</category>
      <category>windows</category>
      <category>윈도우최적화</category>
      <category>윈도우필수프로그램</category>
      <category>최적화</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/905</guid>
      <comments>https://appia.tistory.com/905#entry905comment</comments>
      <pubDate>Tue, 19 Dec 2023 07:58:55 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] Win32com을 이용하여 엑셀 시트 복사하기</title>
      <link>https://appia.tistory.com/903</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;Win32com을&amp;nbsp;이용하여&amp;nbsp;엑셀&amp;nbsp;시트&amp;nbsp;복사하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet복사하기_001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;771&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4q8NN/btsB82s2bvr/5vlDzWYfHauU5PEKIfpW4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4q8NN/btsB82s2bvr/5vlDzWYfHauU5PEKIfpW4k/img.png&quot; data-alt=&quot;파이썬[Python]&amp;amp;nbsp;Win32com을&amp;amp;nbsp;이용하여&amp;amp;nbsp;엑셀&amp;amp;nbsp;시트&amp;amp;nbsp;복사하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4q8NN/btsB82s2bvr/5vlDzWYfHauU5PEKIfpW4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4q8NN%2FbtsB82s2bvr%2F5vlDzWYfHauU5PEKIfpW4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;771&quot; data-filename=&quot;excel_sheet복사하기_001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python]&amp;nbsp;Win32com을&amp;nbsp;이용하여&amp;nbsp;엑셀&amp;nbsp;시트&amp;nbsp;복사하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞선, 포스팅에서 엑셀 시트를 선택하기 및 시트 추가하기에 대해서 포스팅을 해봤습니다. 물론, 해당 포스팅이 매우 많이 사용이 될 것입니다. 실제, 데이터를 쓰기 위해서는 반드시, 시트를 선택해야합니다. 이번 포스팅에서는 이전 포스팅의 연결고리로, 시트를 복석하는 방법에 대해서 이야기를 해보고자 합니다. 물론, 이 부분 pywin32 기준으로 진행이 됩니다. 해당 모듈이 없을 경우 다음 링크를 통해서 설치를 진행하시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/94&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702819679749&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] 014 Pywin32 설치&quot; data-og-description=&quot;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/94&quot; data-og-url=&quot;https://appia.tistory.com/94&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/0or0d/hyUPJBdJhF/Ils8MX2LUAASzxp4gGTW90/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/WVspg/hyUL2h6ida/ARKCRySSFUWlIWoSjz1xmk/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/AVdnB/hyUPII5DVJ/sJSUk6MdpnEIy7ttjZJ5Y1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/94&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/94&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/0or0d/hyUPJBdJhF/Ils8MX2LUAASzxp4gGTW90/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/WVspg/hyUL2h6ida/ARKCRySSFUWlIWoSjz1xmk/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/AVdnB/hyUPII5DVJ/sJSUk6MdpnEIy7ttjZJ5Y1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 매우 간단한 방법은 다음과 같습니다.&amp;nbsp; 먼저, 복사할 해당 시트를 선택하시고, 이 부분을 Copy 메소드를 선택하여 통해서, 붙여넣기를 합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702819319574&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sheet3.Copy(Before=sheet5) // 기본 설정이 Before 입니다. , 선택 셀 앞으로 붙여놓기
// 위의 명령어와 하기 명령어는 동일함
sheet3.Copy(sheet5)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 간단한 예제 코드를 생성해보겠습니다. 다음과 같은 코드를 통해서, 시트 복사를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702818537261&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import win32com.client as win32

# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')

# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True

# 시트 접근
ws = wb.Sheets
sheet3 = wb.Sheets.Add()
sheet3.Name = 'Copy_sheet'

sheet4 = wb.Sheets.Add()
sheet4.Name = 'example1'

sheet5 = wb.Sheets.Add()
sheet5.Name = 'exmaple2'

sheet3.Copy(Before=sheet5)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 코드를 실행하면 다음과 같은 결과가 나타납니다. example2 시트앞으로 Copy_sheet라는 시트가 붙여넣어집니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet복사하기_003.png&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRvML6/btsB7kgLidA/fGqKqjTmqnwyejT3t1BaKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRvML6/btsB7kgLidA/fGqKqjTmqnwyejT3t1BaKk/img.png&quot; data-alt=&quot;예제 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRvML6/btsB7kgLidA/fGqKqjTmqnwyejT3t1BaKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRvML6%2FbtsB7kgLidA%2FfGqKqjTmqnwyejT3t1BaKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;759&quot; data-filename=&quot;excel_sheet복사하기_003.png&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;759&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 위와 같이 기본설정으로도 가능합니다. 그러면 다르게 특정 시트 다음으로 붙여넣기를 진행해보도록 하겠습니다. 이럴 경우에는 Copy(After = 기준 시트) 명령어를 입력해주면 됩니다. 그러면 코드를 실행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702797855904&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import win32com.client as win32

# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')

# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True

# 시트 접근
ws = wb.Sheets
sheet3 = wb.Sheets.Add()
sheet3.Name = 'Copy_sheet'

sheet4 = wb.Sheets.Add()
sheet4.Name = 'example1'

sheet5 = wb.Sheets.Add()
sheet5.Name = 'exmaple2'


sheet3.Copy(After=sheet5)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 코드를 입력하여 실행하면 다음과 같은 결과가 나타나빈다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet복사하기_002.png&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAhF4K/btsB5Yr0ery/TdfRxuNFYqUb5koIi7GQEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAhF4K/btsB5Yr0ery/TdfRxuNFYqUb5koIi7GQEk/img.png&quot; data-alt=&quot;Copy(After = 기준 시트) 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAhF4K/btsB5Yr0ery/TdfRxuNFYqUb5koIi7GQEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAhF4K%2FbtsB5Yr0ery%2FTdfRxuNFYqUb5koIi7GQEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;608&quot; height=&quot;759&quot; data-filename=&quot;excel_sheet복사하기_002.png&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;759&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Copy(After = 기준 시트) 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 시트를 복사할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/902&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702819689203&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/j9suV/hyUL3afu5R/mPWmKKJhKoGCAMEwTkVaOk/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/svd94/hyULXHS1XI/ReptcgfCrvL7LefQahWBSK/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/vYyeG/hyULWvp95e/hVLuEl03mfojMNXeI1tJL0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot; data-og-url=&quot;https://appia.tistory.com/902&quot; data-og-source-url=&quot;https://appia.tistory.com/902&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-description=&quot;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기 오래만에 excel 자동화에 대한 포스팅을 해보고자 합니다. (실제 강의를 준비하면서, 이전에 포스팅 했던 내용에 대해서 부&quot; data-og-title=&quot;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/902&quot; data-source-url=&quot;https://appia.tistory.com/902&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/j9suV/hyUL3afu5R/mPWmKKJhKoGCAMEwTkVaOk/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/svd94/hyULXHS1XI/ReptcgfCrvL7LefQahWBSK/img.png?width=799&amp;amp;height=799&amp;amp;face=0_0_799_799,https://scrap.kakaocdn.net/dn/vYyeG/hyULWvp95e/hVLuEl03mfojMNXeI1tJL0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기 오래만에 excel 자동화에 대한 포스팅을 해보고자 합니다. (실제 강의를 준비하면서, 이전에 포스팅 했던 내용에 대해서 부&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 파이썬[Python] Win32com을 이용하여 엑셀 시트 복사하기라는 주제로 포스팅을 진행했습니다. 이 부분은 실제 많이 사용되는 부분이기 때문에 잘 활용할 수 있을 것입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python Office 자동화_EXCEL_Outlook</category>
      <category>python</category>
      <category>pywin32</category>
      <category>win32com</category>
      <category>엑셀자동화</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/903</guid>
      <comments>https://appia.tistory.com/903#entry903comment</comments>
      <pubDate>Mon, 18 Dec 2023 07:29:33 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기</title>
      <link>https://appia.tistory.com/902</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;Win32com을&amp;nbsp;이용하여&amp;nbsp;엑셀&amp;nbsp;시트&amp;nbsp;선택하기&amp;nbsp;및&amp;nbsp;시트&amp;nbsp;추가하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet추가 및 선택하기_001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x3uaL/btsB2RfCqGG/gVk6fM4KVK5iBAP1L6ZKLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x3uaL/btsB2RfCqGG/gVk6fM4KVK5iBAP1L6ZKLk/img.png&quot; data-alt=&quot;파이썬[Python]&amp;amp;nbsp;Win32com을&amp;amp;nbsp;이용하여&amp;amp;nbsp;엑셀&amp;amp;nbsp;시트&amp;amp;nbsp;선택하기&amp;amp;nbsp;및&amp;amp;nbsp;시트&amp;amp;nbsp;추가하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x3uaL/btsB2RfCqGG/gVk6fM4KVK5iBAP1L6ZKLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx3uaL%2FbtsB2RfCqGG%2FgVk6fM4KVK5iBAP1L6ZKLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;799&quot; data-filename=&quot;excel_sheet추가 및 선택하기_001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python]&amp;nbsp;Win32com을&amp;nbsp;이용하여&amp;nbsp;엑셀&amp;nbsp;시트&amp;nbsp;선택하기&amp;nbsp;및&amp;nbsp;시트&amp;nbsp;추가하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;오래만에 excel 자동화에 대한 포스팅을 해보고자 합니다. (실제 강의를 준비하면서, 이전에 포스팅 했던 내용에 대해서 부족분에 대해서 채우고 있는 과정이랍니다.) 그 과정에서 가장 기본이 되는 시트를 선택하고 시트를 추가하는 방법에 대해서 이야기를 해보고자 합니다. 먼저 그러기에 앞서서, 저의 포스팅은 기본적으로 pywin32 모듈을 설치하셔야 합니다. 이 부분이 설치가 안되어 있으시는 분들은 하기 링크를 통해서, 설치를 진행해 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #6bacce;&quot; href=&quot;https://appia.tistory.com/94&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702746197969&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] 014 Pywin32 설치&quot; data-og-description=&quot;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/94&quot; data-og-url=&quot;https://appia.tistory.com/94&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jv76r/hyUPAKTPB3/E241WT1dXrLltSe8ulAqp0/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/bEkCwY/hyUPCWfMIu/Kd2ioSLsjigT21l217AVI0/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/ulEsK/hyUPD1VWrY/hkUosWSeerKYwZXuO95AP1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/94&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/94&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jv76r/hyUPAKTPB3/E241WT1dXrLltSe8ulAqp0/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/bEkCwY/hyUPCWfMIu/Kd2ioSLsjigT21l217AVI0/img.png?width=800&amp;amp;height=500&amp;amp;face=0_0_800_500,https://scrap.kakaocdn.net/dn/ulEsK/hyUPD1VWrY/hkUosWSeerKYwZXuO95AP1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 014 Pywin32 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 pywin32모듈 설치 하는 방법에 대해서 살펴 보겠습니다. 많은 분들이 python을 사용하는 이유 중 하나는 업무에 있어서 반복적이고 지속적인 업무들에 대해 자동화 하기 위해서 사용 하는 분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 가장 앞선 여러번의 포스팅에서 약간 언급을 하였겠지만, 기본적으로 Workbooks을 추가하고 여기에서 시트를 선택을 하게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;workbook 하위에 Sheets를 받을 수 있습니다. 다음과 같은 구조입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702748818833&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wb = excel.Workbooks.Add()
ws = wb.Sheets&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 ws는 모든 worksheets을 가지고 있습니다. 이 부분에서 Add() 메소드를 통해서 추가를 하실 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702748866065&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sheet2 = wb.Sheets.Add()
sheet2.Name = 'C1'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 해당 부분에 대해서 선택을 하실 때에는 다음과 같은 방식을 사용하실 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702748906223&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;d1=ws('C1')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위의 부분들이 복합적으로 사용된 간단한 예제를 작성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702748509617&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import win32com.client as win32

# Excel 인스턴스 생성
excel = win32.Dispatch('Excel.Application')

# 워크북 열기
wb = excel.Workbooks.Add()
excel.Visible = True

# 시트 선택
ws = wb.Sheets
sheet2 = wb.Sheets.Add()
sheet2.Name = 'C1'

d1=ws('C1')
d1.Range('A1').Value = 'TEST'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 코드를 실행하시면, 다음과 같이 C1이라는 추가된 worksheet에 A1열에 TEST라는 테스트가 입력된 것을 알 수 있을 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;excel_sheet추가 및 선택하기_002.png&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCw5RA/btsB6meQQA4/fyND2P94KNhwGCjEs0jnik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCw5RA/btsB6meQQA4/fyND2P94KNhwGCjEs0jnik/img.png&quot; data-alt=&quot;예제 적용 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCw5RA/btsB6meQQA4/fyND2P94KNhwGCjEs0jnik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCw5RA%2FbtsB6meQQA4%2FfyND2P94KNhwGCjEs0jnik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;695&quot; height=&quot;759&quot; data-filename=&quot;excel_sheet추가 및 선택하기_002.png&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;759&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 적용 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방식으로 엑셀에서 sheet을 선택하거나, 추가할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/629&quot;&gt;파이썬 [Python] win32com 이용하여, 엑셀(Excel) 데이터 입력하기, 한번에 연속된 셀의 동일값 입력하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1702749085352&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬 [Python] win32com 이용하여, 엑셀(Excel) 데이터 입력하기, 한번에 연속된 셀의 동일값 입력하&quot; data-og-description=&quot;파이썬 [Python] win32com 이용하여, 엑셀(Excel) 데이터 입력하기, 한번에 연속된 셀의 동일값 입력하기 예전의 win32con을 이용한 엑셀 연결하는 방법에 대해서 포스팅을 한적이 있습니다. 최근 주변 사&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/629&quot; data-og-url=&quot;https://appia.tistory.com/629&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Y8muD/hyUPARFRkL/TFOPzzgbDfJ1l0bX3HRlyK/img.png?width=800&amp;amp;height=802&amp;amp;face=0_0_800_802,https://scrap.kakaocdn.net/dn/c84lq5/hyUL32lmhv/k1ChxDSOUEfRCS4YMZf7KK/img.png?width=800&amp;amp;height=802&amp;amp;face=0_0_800_802,https://scrap.kakaocdn.net/dn/mbRJm/hyUPMLkWHg/KgGizuukeJ5ftEgwJK5Sjk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/629&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/629&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Y8muD/hyUPARFRkL/TFOPzzgbDfJ1l0bX3HRlyK/img.png?width=800&amp;amp;height=802&amp;amp;face=0_0_800_802,https://scrap.kakaocdn.net/dn/c84lq5/hyUL32lmhv/k1ChxDSOUEfRCS4YMZf7KK/img.png?width=800&amp;amp;height=802&amp;amp;face=0_0_800_802,https://scrap.kakaocdn.net/dn/mbRJm/hyUPMLkWHg/KgGizuukeJ5ftEgwJK5Sjk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬 [Python] win32com 이용하여, 엑셀(Excel) 데이터 입력하기, 한번에 연속된 셀의 동일값 입력하&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬 [Python] win32com 이용하여, 엑셀(Excel) 데이터 입력하기, 한번에 연속된 셀의 동일값 입력하기 예전의 win32con을 이용한 엑셀 연결하는 방법에 대해서 포스팅을 한적이 있습니다. 최근 주변 사&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 파이썬[Python] Win32com을 이용하여 엑셀 시트 선택하기 및 시트 추가하기라는 주제로 포스팅을 해봤습니다. 실제, 엑셀에서 매우 자주 사용되는 부분이기 때문에 잘 활용하실 수 있을 것이라고 생각합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python Office 자동화_EXCEL_Outlook</category>
      <category>python</category>
      <category>pywin32</category>
      <category>win32com</category>
      <category>시트선택</category>
      <category>시트추가</category>
      <category>엑셀</category>
      <category>엑셀자동화</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/902</guid>
      <comments>https://appia.tistory.com/902#entry902comment</comments>
      <pubDate>Sun, 17 Dec 2023 07:52:50 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 커밋(commit) 취소하기 feat. git reset, git revert</title>
      <link>https://appia.tistory.com/901</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;커밋(commit)&amp;nbsp;취소하기&amp;nbsp;feat.&amp;nbsp;git&amp;nbsp;reset,&amp;nbsp;git&amp;nbsp;revert&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfm5jU/btsB6gSVGgW/CimQcyzSgqKsflTxE87UiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfm5jU/btsB6gSVGgW/CimQcyzSgqKsflTxE87UiK/img.png&quot; data-alt=&quot;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;커밋(commit)&amp;amp;nbsp;취소하기&amp;amp;nbsp;feat.&amp;amp;nbsp;git&amp;amp;nbsp;reset,&amp;amp;nbsp;git&amp;amp;nbsp;revert&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfm5jU/btsB6gSVGgW/CimQcyzSgqKsflTxE87UiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfm5jU%2FbtsB6gSVGgW%2FCimQcyzSgqKsflTxE87UiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;781&quot; data-filename=&quot;git_commit 취소하기_001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;커밋(commit)&amp;nbsp;취소하기&amp;nbsp;feat.&amp;nbsp;git&amp;nbsp;reset,&amp;nbsp;git&amp;nbsp;revert&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 Git에 대한 포스팅에서 Git의 변경사항에 대해서 스테이지에 add된 항목들에 대해서 취소하는 방법에 대해서 살펴봤습니다. 물론, 이 부분이 매우 효율적으로 사용될 수 있고, 실제 작업을 할 경우에 많이 사용되는 부분입니다. 아마도 매우 효율적으로 잘 사용하실 것이라고 생각합니다. 이번 포스팅에서는 Git의 커밋(commit)을 취소하는 방법에 대해서 2가지 명령어를 사용해서 알아보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/899&quot;&gt;[깃, Git] Git 변경사항 스테이징 취소하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702652573054&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 변경사항 스테이징 취소하기&quot; data-og-description=&quot;[깃, Git] Git 변경사항 스테이징 취소하기 이전 포스팅에서 Git의 변경사항을 폐기하는 방법에 대해서 살펴봤습니다. 실제로, 이 부분은 매우 많이 사용되는 부분입니다. 그러면, 이번에는 기초적&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/899&quot; data-og-url=&quot;https://appia.tistory.com/899&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/3NR3U/hyUL1pEm9h/DRKVHbomsdieo6QGpUnLAK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/buBEW4/hyUL6EwetO/Kclsgx4XyjmkVx48ywRMoK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/lcJ7l/hyULUD4nwx/wH6aG36JqSKIltwSSxTzF0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/899&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/899&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/3NR3U/hyUL1pEm9h/DRKVHbomsdieo6QGpUnLAK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/buBEW4/hyUL6EwetO/Kclsgx4XyjmkVx48ywRMoK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/lcJ7l/hyULUD4nwx/wH6aG36JqSKIltwSSxTzF0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 변경사항 스테이징 취소하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 변경사항 스테이징 취소하기 이전 포스팅에서 Git의 변경사항을 폐기하는 방법에 대해서 살펴봤습니다. 실제로, 이 부분은 매우 많이 사용되는 부분입니다. 그러면, 이번에는 기초적&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;제가 커밋(commit)을 취소할 2가지 명령어는 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git reset&lt;/li&gt;
&lt;li&gt;git revert&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1) git reset&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, git reset 명령어를 통해서 알아보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702652790858&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git reset &amp;lt;commit-hash&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 간단한 예시를 통해서 한번 살펴보도록 하겠습니다. 먼저 이전에 사용한 간단한 repository를 재활용하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 현재 사용하는 repository에 현재 commit 상황에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3Bjmo/btsB7mrzGQv/z7xKMk23YG9M0UFJDZrcF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3Bjmo/btsB7mrzGQv/z7xKMk23YG9M0UFJDZrcF0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_002.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3Bjmo/btsB7mrzGQv/z7xKMk23YG9M0UFJDZrcF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3Bjmo%2FbtsB7mrzGQv%2Fz7xKMk23YG9M0UFJDZrcF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YIorK/btsB7d2s7EH/0QXFGeKKQWBS8QN3nNcoT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YIorK/btsB7d2s7EH/0QXFGeKKQWBS8QN3nNcoT0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_003.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YIorK/btsB7d2s7EH/0QXFGeKKQWBS8QN3nNcoT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYIorK%2FbtsB7d2s7EH%2F0QXFGeKKQWBS8QN3nNcoT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git log --oneline을 이용한 commit 상황 확인와 git status 명령어를 상황확인&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 부분을 참고했을 경우 현재 repository에는 변경사항이 없고, 다수의 commit들이 존재합니다. 그러면 commit 하나를 취소해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702653197092&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git reset 162cd5b&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의명령어를&amp;nbsp; 실행하니, 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_004.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brKH5J/btsB3viMDQX/KKgKtHGsi6MVPKTKupTUI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brKH5J/btsB3viMDQX/KKgKtHGsi6MVPKTKupTUI1/img.png&quot; data-alt=&quot;git reset 명령어&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brKH5J/btsB3viMDQX/KKgKtHGsi6MVPKTKupTUI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrKH5J%2FbtsB3viMDQX%2FKKgKtHGsi6MVPKTKupTUI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_004.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git reset 명령어&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고나서, git log --oneline과 git status를 진행해보니, 다음과 같은 화면을 확인할 수 있습니다. 즉, 커밋(commit)은 취소가 되었으나, 그 커밋(commit)과정에서 수정한 파일의 변경사항에 대해서는 수정되지 않은 상태입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uxZx6/btsB7UBBj7A/9nn9X4cKRvfhRnOdqtJnT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uxZx6/btsB7UBBj7A/9nn9X4cKRvfhRnOdqtJnT0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_005.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uxZx6/btsB7UBBj7A/9nn9X4cKRvfhRnOdqtJnT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuxZx6%2FbtsB7UBBj7A%2F9nn9X4cKRvfhRnOdqtJnT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by6JMh/btsB5yTQ1MK/ql6KUEbPyITQ5g9EmIEZ1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by6JMh/btsB5yTQ1MK/ql6KUEbPyITQ5g9EmIEZ1K/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_006.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by6JMh/btsB5yTQ1MK/ql6KUEbPyITQ5g9EmIEZ1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby6JMh%2FbtsB5yTQ1MK%2Fql6KUEbPyITQ5g9EmIEZ1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git reset 결과&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저는 위와 변경사항들도 폐기하고 싶어, 이전 포스팅에서 배웠던 checkout 명령어를 통해서, 변경사항을 폐기하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_007.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MSWtM/btsB19gcklp/homFPWv7fsjBLwzdGSebK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MSWtM/btsB19gcklp/homFPWv7fsjBLwzdGSebK0/img.png&quot; data-alt=&quot;git checkout을 통한 변경사항 폐기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MSWtM/btsB19gcklp/homFPWv7fsjBLwzdGSebK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMSWtM%2FbtsB19gcklp%2FhomFPWv7fsjBLwzdGSebK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_007.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout을 통한 변경사항 폐기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 나서 git status / git log --oneline을 입력하시면 다음과 같은 화면이나타날 것이니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_008.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kzRfY/btsB3rUZzPk/IKLXsE8zmJuXV6C4xsCU70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kzRfY/btsB3rUZzPk/IKLXsE8zmJuXV6C4xsCU70/img.png&quot; data-alt=&quot;git log --oneline을 통한 현재 커밋(commit) 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kzRfY/btsB3rUZzPk/IKLXsE8zmJuXV6C4xsCU70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkzRfY%2FbtsB3rUZzPk%2FIKLXsE8zmJuXV6C4xsCU70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_008.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log --oneline을 통한 현재 커밋(commit) 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서는 커밋(commit)이 취소되면서, 그 커밋(commit)과정에서 사용된 변경사항에 대해서는 폐기 되지 않았습니다. 그러면 이번에는 커밋(commit)이 취소되면서, 함께 변경사항도 폐기하는 방법에 대해서 알아보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702654587304&quot; class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ git reset --hard &amp;lt;commit-hash&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서와 같이 commit hash을 입력하기에 앞서서, &quot;--hard&quot; 옵션을 넣어주는 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위의 예제를 바탕으로 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_009.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0pZ9c/btsB2wicd6m/JRn3jY2cOHgLLv6dTlv4gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0pZ9c/btsB2wicd6m/JRn3jY2cOHgLLv6dTlv4gk/img.png&quot; data-alt=&quot;git reset --hard 명령어의 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0pZ9c/btsB2wicd6m/JRn3jY2cOHgLLv6dTlv4gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0pZ9c%2FbtsB2wicd6m%2FJRn3jY2cOHgLLv6dTlv4gk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_009.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git reset --hard 명령어의 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 다시한번 git log --oneline 과 git status&amp;nbsp; 입력하여 결과를 확인하였습니다. 이전과 차이가 있음을 알 수 있습니다. 즉, --hard 옵션을 넣음으로, 커밋(commit)취소와 함께 변경사항도 함께 폐기가 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfRLKK/btsB6j9YgaE/1AVkkSZTpWKYsS8w5oS9j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfRLKK/btsB6j9YgaE/1AVkkSZTpWKYsS8w5oS9j0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_010.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfRLKK/btsB6j9YgaE/1AVkkSZTpWKYsS8w5oS9j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfRLKK%2FbtsB6j9YgaE%2F1AVkkSZTpWKYsS8w5oS9j0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baEVE7/btsB7kN4tTX/knrMyV7Bjf1g2hHpqD233K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baEVE7/btsB7kN4tTX/knrMyV7Bjf1g2hHpqD233K/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_011.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baEVE7/btsB7kN4tTX/knrMyV7Bjf1g2hHpqD233K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaEVE7%2FbtsB7kN4tTX%2FknrMyV7Bjf1g2hHpqD233K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt; git log --oneline 과 git status&amp;nbsp; 입력하여 결과를 확인 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2) git revert&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git의 경우, 혼자 작업 하는 경우도 있지만, 다수의 사람과 함께 작업을 하는 경우도 매우 많습니다. 그럴 경우 함부로 commit을 취소해버릴 경우, 협업 하는 다른 사람들에게는 이 부분들이 충돌의 소지가 될수도 있고, 다른 다양한 문제를 발생할 수 있습니다. 그래서, 이럴 경우을 대비해서, git revert라는 기능을 사용합니다. 즉, revert는 커밋(commit)을 취소하면서, 별도의 commit을 생성하는 것입니다. 그러면, 먼저 간단한 예제를 생성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 파일 하나를 수정을 하겠습니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_012.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGAMkC/btsB7mSEdj6/LD4ZXmNUPLEMb2PIoVD9Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGAMkC/btsB7mSEdj6/LD4ZXmNUPLEMb2PIoVD9Pk/img.png&quot; data-alt=&quot;git revert를 사용하기 위한 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGAMkC/btsB7mSEdj6/LD4ZXmNUPLEMb2PIoVD9Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGAMkC%2FbtsB7mSEdj6%2FLD4ZXmNUPLEMb2PIoVD9Pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;580&quot; data-filename=&quot;git_commit 취소하기_012.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git revert를 사용하기 위한 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 변경사항이 있음을 확인하고, 이 부분을 stage에 add하고 나서, 바로 commit을 진행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMn4f1/btsB6gyCH6f/iOI3tkYCu3iDMLkUjroHg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMn4f1/btsB6gyCH6f/iOI3tkYCu3iDMLkUjroHg1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_013.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMn4f1/btsB6gyCH6f/iOI3tkYCu3iDMLkUjroHg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMn4f1%2FbtsB6gyCH6f%2FiOI3tkYCu3iDMLkUjroHg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yFvDi/btsB2Pof0LC/S59A2pheE5resReSMykABK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yFvDi/btsB2Pof0LC/S59A2pheE5resReSMykABK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_014.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yFvDi/btsB2Pof0LC/S59A2pheE5resReSMykABK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyFvDi%2FbtsB2Pof0LC%2FS59A2pheE5resReSMykABK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;파일 수정 및 commit 진행&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, git log --oneline을 이용하여 현재 commit 상황을 확인하도록 하겠습니다. 그러면 다음과 같은 명령어를 사용하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702655728621&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git revert &amp;lt;commit-hash&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_015.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d5UV1N/btsB2QU25ke/V3yf6kr8Pmnn9wACo2JSx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d5UV1N/btsB2QU25ke/V3yf6kr8Pmnn9wACo2JSx1/img.png&quot; data-alt=&quot;git revert 명령어 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d5UV1N/btsB2QU25ke/V3yf6kr8Pmnn9wACo2JSx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd5UV1N%2FbtsB2QU25ke%2FV3yf6kr8Pmnn9wACo2JSx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_015.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git revert 명령어 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 실행할 경우, 원래라면 다음과 같이 기본 edit에서 해당 commit 메시지를 입력하는 editor 창이 나타납니다. 여기에서 저장하시면, 위와 같이 revert관련해서 commit이 진행이 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_016.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A1mHo/btsB5GK9PiE/x8KrYRieKjhOQw0YHdzW90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A1mHo/btsB5GK9PiE/x8KrYRieKjhOQw0YHdzW90/img.png&quot; data-alt=&quot;revert 메시지 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A1mHo/btsB5GK9PiE/x8KrYRieKjhOQw0YHdzW90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA1mHo%2FbtsB5GK9PiE%2Fx8KrYRieKjhOQw0YHdzW90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;580&quot; data-filename=&quot;git_commit 취소하기_016.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;revert 메시지 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, git log --oneline을 통해서 현재 커밋(commit)을 확인해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_commit 취소하기_017.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCgkXZ/btsB7VmXVEj/hR4EYECyNaz7uW7umE59L1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCgkXZ/btsB7VmXVEj/hR4EYECyNaz7uW7umE59L1/img.png&quot; data-alt=&quot;git revert 이후 git log --oneline결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCgkXZ/btsB7VmXVEj/hR4EYECyNaz7uW7umE59L1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCgkXZ%2FbtsB7VmXVEj%2FhR4EYECyNaz7uW7umE59L1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;552&quot; data-filename=&quot;git_commit 취소하기_017.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git revert 이후 git log --oneline결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;기존의 부분들은 그대로 있고, 이 부분에 대해서 수정을 하는 revert 관련 commit이 생성이 됩니다. 이와 같은 방법으로 git revert를 진행할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/868&quot;&gt;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1702656043695&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)&quot; data-og-description=&quot;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기) 이전 포스팅에서는 Git공식 문서 및 Pro Git 책 내용 보기라는 주제로, Reference Manual를 보는 방법과 Pro git 이라는 책을 온라인상에서 보는 방법&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/868&quot; data-og-url=&quot;https://appia.tistory.com/868&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/NxtPw/hyUL05m43A/ZstT4n0hwEFr5VQivwLNh0/img.png?width=799&amp;amp;height=798&amp;amp;face=0_0_799_798,https://scrap.kakaocdn.net/dn/c1ZYxp/hyUL4UdpoQ/r1jXKK8VQUb5HAqzSbJyoK/img.png?width=799&amp;amp;height=798&amp;amp;face=0_0_799_798,https://scrap.kakaocdn.net/dn/b1Y4UO/hyUL7jc6re/kPDl6dzq5kvYaAg0dBPhIk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/868&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/868&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/NxtPw/hyUL05m43A/ZstT4n0hwEFr5VQivwLNh0/img.png?width=799&amp;amp;height=798&amp;amp;face=0_0_799_798,https://scrap.kakaocdn.net/dn/c1ZYxp/hyUL4UdpoQ/r1jXKK8VQUb5HAqzSbJyoK/img.png?width=799&amp;amp;height=798&amp;amp;face=0_0_799_798,https://scrap.kakaocdn.net/dn/b1Y4UO/hyUL7jc6re/kPDl6dzq5kvYaAg0dBPhIk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기) 이전 포스팅에서는 Git공식 문서 및 Pro Git 책 내용 보기라는 주제로, Reference Manual를 보는 방법과 Pro git 이라는 책을 온라인상에서 보는 방법&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git 커밋(commit) 취소하기 feat. git reset, git revert라는 주제로 포스팅을 해봤습니다. git관련해서는 대부분의 내용에 대해서 포스팅을 통해서 알아봤습니다. 이제는 web서비스(github)와 함께 하는 부분에 대해서도 포스팅을 진행해보고자 합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>commit취소하기</category>
      <category>git</category>
      <category>git reset</category>
      <category>git revert</category>
      <category>git기본사용</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/901</guid>
      <comments>https://appia.tistory.com/901#entry901comment</comments>
      <pubDate>Sat, 16 Dec 2023 07:01:18 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 변경사항 스테이징 취소하기</title>
      <link>https://appia.tistory.com/899</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;변경사항&amp;nbsp;스테이징&amp;nbsp;취소하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T5RB8/btsBUCOMGI2/DGPuiVuLZqJAwheyRpSYFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T5RB8/btsBUCOMGI2/DGPuiVuLZqJAwheyRpSYFK/img.png&quot; data-alt=&quot;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;변경사항&amp;amp;nbsp;스테이징&amp;amp;nbsp;취소하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T5RB8/btsBUCOMGI2/DGPuiVuLZqJAwheyRpSYFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT5RB8%2FbtsBUCOMGI2%2FDGPuiVuLZqJAwheyRpSYFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;798&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;변경사항&amp;nbsp;스테이징&amp;nbsp;취소하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서 Git의 변경사항을 폐기하는 방법에 대해서 살펴봤습니다. 실제로, 이 부분은 매우 많이 사용되는 부분입니다. 그러면, 이번에는 기초적인 부분인 git에서 변경사항에 대해서 stage에 올라온 변경사항에 대해서, 취소하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/897&quot;&gt;[깃, Git] Git 변경사항 폐기하기(with Checkout, restore)&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1702392625101&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 변경사항 폐기하기(with Checkout, restore)&quot; data-og-description=&quot;[깃, Git] Git 변경사항 폐기하기(with Checkout, restore) 이전 포스팅에서는 Git에서 자주 사용하는 HEAD~를 사용하는 방법에 대해서 이야기를 했었습니다. 앞선 포스팅에서 익힌 HEAD~ 부분은 git에서 매우 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/897&quot; data-og-url=&quot;https://appia.tistory.com/897&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gYUob/hyULXmkby4/5TEFxM6icKJgYfHvOeUDR1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/bbMF2W/hyUItAoywi/hfZklUN9MEMWKk5dEIPrq1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/i7kJF/hyUIE20AEx/WFoZFiNkKZ8HIpEdrL5TsK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/897&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/897&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gYUob/hyULXmkby4/5TEFxM6icKJgYfHvOeUDR1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/bbMF2W/hyUItAoywi/hfZklUN9MEMWKk5dEIPrq1/img.png?width=769&amp;amp;height=769&amp;amp;face=0_0_769_769,https://scrap.kakaocdn.net/dn/i7kJF/hyUIE20AEx/WFoZFiNkKZ8HIpEdrL5TsK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 변경사항 폐기하기(with Checkout, restore)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 변경사항 폐기하기(with Checkout, restore) 이전 포스팅에서는 Git에서 자주 사용하는 HEAD~를 사용하는 방법에 대해서 이야기를 했었습니다. 앞선 포스팅에서 익힌 HEAD~ 부분은 git에서 매우&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 간단한 변경사항이 있는 repository에 한 예시를 살펴보도록 하겠습니다. 이 부 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;분에 대해서 다음 명령어를 통해서 상태를 확인해보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1702392667342&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m4iaZ/btsBRPVElS7/cFHCM6qdjCmGo5ahs2gvJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m4iaZ/btsBRPVElS7/cFHCM6qdjCmGo5ahs2gvJK/img.png&quot; data-alt=&quot;예시용으로 만들 변경사항&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m4iaZ/btsBRPVElS7/cFHCM6qdjCmGo5ahs2gvJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm4iaZ%2FbtsBRPVElS7%2FcFHCM6qdjCmGo5ahs2gvJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시용으로 만들 변경사항&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이는 바와 같이 두가지 파일이 보일 것입니다. 여기에서, 한 파일을 git add명령어를 통해서 stage에 올리도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702392766687&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add Character.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NkiLU/btsBRP9cGRY/9Pzk9Gkn2iJoRY6KVb7nlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NkiLU/btsBRP9cGRY/9Pzk9Gkn2iJoRY6KVb7nlK/img.png&quot; data-alt=&quot;변경사항이 있는 파일 stage에 add&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NkiLU/btsBRP9cGRY/9Pzk9Gkn2iJoRY6KVb7nlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNkiLU%2FbtsBRP9cGRY%2F9Pzk9Gkn2iJoRY6KVb7nlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;변경사항이 있는 파일 stage에 add&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, git status 명령어를 통해서 다시 한번 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7lW5j/btsBHQhiQoV/Xj0MT62x3Cm8Jx3UahNVvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7lW5j/btsBHQhiQoV/Xj0MT62x3Cm8Jx3UahNVvK/img.png&quot; data-alt=&quot;위의 예제 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7lW5j/btsBHQhiQoV/Xj0MT62x3Cm8Jx3UahNVvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7lW5j%2FbtsBHQhiQoV%2FXj0MT62x3Cm8Jx3UahNVvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;위의 예제 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 한개의 파일은 현재 stage에 올라와 있고, 한개의 파일은 변경사항에 대해서 stage에 올라오지 않은 상태라는 것을 알 수 있습니다. 위에서는 보이는 바와 같이 다음 명령어를 사용하면, 스테이징에서 변경사항을 폐기할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702392900940&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git restore --staged &amp;lt;file&amp;gt;...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위의 명령어를 기반으로 한번 예시를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvoolP/btsBMQngSPF/e3ljGYdg8JvgyBN2TQ3aMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvoolP/btsBMQngSPF/e3ljGYdg8JvgyBN2TQ3aMk/img.png&quot; data-alt=&quot;스테이징 취소하기 (git restore --staged 사용)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvoolP/btsBMQngSPF/e3ljGYdg8JvgyBN2TQ3aMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvoolP%2FbtsBMQngSPF%2Fe3ljGYdg8JvgyBN2TQ3aMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스테이징 취소하기 (git restore --staged 사용)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의명령어를 실행하고 다시 git status를 진행해보도록 하겠습니다. 보이는 바와 같이 앞서서, stage에 add한 파일이 취소한 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caJ4CX/btsBHQIntqG/V8kbKR0Y0NrAoPOcaKuuz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caJ4CX/btsBHQIntqG/V8kbKR0Y0NrAoPOcaKuuz0/img.png&quot; data-alt=&quot;스테이징 취소하기 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caJ4CX/btsBHQIntqG/V8kbKR0Y0NrAoPOcaKuuz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaJ4CX%2FbtsBHQIntqG%2FV8kbKR0Y0NrAoPOcaKuuz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스테이징 취소하기 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 다음 명령어를 통해서, 변경사항이 있는 모든 파일을 stage에 add하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702393030502&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add .&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUMjP0/btsBRSrkvzk/IE2vuLVkdLgBW8TT7UIx90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUMjP0/btsBRSrkvzk/IE2vuLVkdLgBW8TT7UIx90/img.png&quot; data-alt=&quot;변경사항 모두 add하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUMjP0/btsBRSrkvzk/IE2vuLVkdLgBW8TT7UIx90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUMjP0%2FbtsBRSrkvzk%2FIE2vuLVkdLgBW8TT7UIx90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;변경사항 모두 add하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 위의 반대되게 스테이지에 add된 것을 취소하도록 해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702393069184&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git restore --staged .&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uc2k6/btsBQocV43m/ckSbcIlm6hPiKXSeqCNzJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uc2k6/btsBQocV43m/ckSbcIlm6hPiKXSeqCNzJk/img.png&quot; data-alt=&quot;stage에 add 된 모든 파일 취소하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uc2k6/btsBQocV43m/ckSbcIlm6hPiKXSeqCNzJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fuc2k6%2FbtsBQocV43m%2FckSbcIlm6hPiKXSeqCNzJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_restore를 이용하여 스테이징 취소하기_008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;stage에 add 된 모든 파일 취소하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방식으로 스테이징을 취소할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/895&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702393148717&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git에서 HEAD~를 사용하는 방법&quot; data-og-description=&quot;[깃, Git] Git에서 HEAD~를 사용하는 방법 이전 포스팅에서, git에서 commit한 이전 내용에 대해서 확인하고, 원래대로 돌아오는 방법에 대해서 포스팅을 봤습니다.이 부분을 통해서, 이전 commit 내용을 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/895&quot; data-og-url=&quot;https://appia.tistory.com/895&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vKQSA/hyULRTWTWi/wekEGpGyfgnUT2YbpKfErK/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/s7WKq/hyUIrvQZ1Y/fzQ7wfEPs5SMxfYT5PaaC0/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/BET2c/hyUIrP87bc/mOQ1E3TIflDQIFVdNcMZxK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/895&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/895&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vKQSA/hyULRTWTWi/wekEGpGyfgnUT2YbpKfErK/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/s7WKq/hyUIrvQZ1Y/fzQ7wfEPs5SMxfYT5PaaC0/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/BET2c/hyUIrP87bc/mOQ1E3TIflDQIFVdNcMZxK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법 이전 포스팅에서, git에서 commit한 이전 내용에 대해서 확인하고, 원래대로 돌아오는 방법에 대해서 포스팅을 봤습니다.이 부분을 통해서, 이전 commit 내용을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git 변경사항 스테이징 취소하기라는 주제로 포스팅을 해봤습니다. 실제, 자주 사용되는 부분이기 때문에 이 부분을 활용하시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git add</category>
      <category>git restore</category>
      <category>git 변경사항취소</category>
      <category>gitTutorial</category>
      <category>git기초</category>
      <category>git명령어</category>
      <category>git스테이징취소</category>
      <category>개발자도구</category>
      <category>버전관리</category>
      <category>코딩팁</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/899</guid>
      <comments>https://appia.tistory.com/899#entry899comment</comments>
      <pubDate>Wed, 13 Dec 2023 07:01:15 +0900</pubDate>
    </item>
    <item>
      <title>다양한 주제의 고품질 이미지를 무료로! 인기 무료 이미지 제공 사이트 10선</title>
      <link>https://appia.tistory.com/898</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;다양한&amp;nbsp;주제의&amp;nbsp;고품질&amp;nbsp;이미지를&amp;nbsp;무료로!&amp;nbsp;인기&amp;nbsp;무료&amp;nbsp;이미지&amp;nbsp;제공&amp;nbsp;사이트&amp;nbsp;10선&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;750&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sokmn/btsBQwVCSLp/ncm3w6EwcVdmhFrtTEy8kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sokmn/btsBQwVCSLp/ncm3w6EwcVdmhFrtTEy8kK/img.png&quot; data-alt=&quot;다양한 주제의 고품질 이미지를 무료로! 인기 무료 이미지 제공 사이트 10선&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sokmn/btsBQwVCSLp/ncm3w6EwcVdmhFrtTEy8kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsokmn%2FbtsBQwVCSLp%2Fncm3w6EwcVdmhFrtTEy8kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;750&quot; data-filename=&quot;무료이미지사이트10선_001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;750&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;다양한 주제의 고품질 이미지를 무료로! 인기 무료 이미지 제공 사이트 10선&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그 및 다양한 작업에서 이미지는 매우 중요한 역할을 합니다. 저의 경우에도 다양한 곳에서 이미지를 사용하고 있는데, 때론 저작권등에 구설에 휩싸이고 합니다. 그런 부분을 방지하기 위해서, 다음과 같이 무료로 이미지를 제공하는 사이트에 대해서 소개를 하고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Unsplash&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고품질의 다양한 주제의 무료 이미지를 제공하는 커뮤니티입니다.&lt;/li&gt;
&lt;li&gt;장점: 고품질 이미지, 큰 커뮤니티, 다양한 주제의 사진&lt;/li&gt;
&lt;li&gt;단점: 일부 주제에서는 다른 사이트에 비해 적은 수의 이미지 제공&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://unsplash.com/&quot;&gt;Unsplash 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303669987&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;아름다운 무료 이미지 및 사진 | Unsplash&quot; data-og-description=&quot;어떤 프로젝트를 위해서든 다운로드 및 사용할 수 있는 아름다운 무료 이미지 및 사진입니다. 어떤 로열티 프리 또는 스톡 사진보다 좋습니다.&quot; data-og-host=&quot;unsplash.com&quot; data-og-source-url=&quot;https://unsplash.com/&quot; data-og-url=&quot;https://unsplash.com/ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dnGFUW/hyUL2OwcR2/ZqMWvHbSKwkmbnS9wLhaAk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bc811d/hyULZK1wnv/sSXSLJmF7lOGEhj91ibXsk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/c9OE8S/hyUIGfj2Ga/RCwd5KShzM2RS0tNSk10QK/img.png?width=560&amp;amp;height=312&amp;amp;face=0_0_560_312&quot;&gt;&lt;a href=&quot;https://unsplash.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://unsplash.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dnGFUW/hyUL2OwcR2/ZqMWvHbSKwkmbnS9wLhaAk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bc811d/hyULZK1wnv/sSXSLJmF7lOGEhj91ibXsk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/c9OE8S/hyUIGfj2Ga/RCwd5KShzM2RS0tNSk10QK/img.png?width=560&amp;amp;height=312&amp;amp;face=0_0_560_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;아름다운 무료 이미지 및 사진 | Unsplash&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;어떤 프로젝트를 위해서든 다운로드 및 사용할 수 있는 아름다운 무료 이미지 및 사진입니다. 어떤 로열티 프리 또는 스톡 사진보다 좋습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;unsplash.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_002.png&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;925&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dJMHdZ/btsBRQzkGud/5E3c9iGfCcuSMqYIVzYe9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dJMHdZ/btsBRQzkGud/5E3c9iGfCcuSMqYIVzYe9K/img.png&quot; data-alt=&quot;Unsplash사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dJMHdZ/btsBRQzkGud/5E3c9iGfCcuSMqYIVzYe9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJMHdZ%2FbtsBRQzkGud%2F5E3c9iGfCcuSMqYIVzYe9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;925&quot; data-filename=&quot;무료이미지사이트10선_002.png&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;925&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Unsplash사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Pexels&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;높은 해상도와 다양한 주제의 무료 이미지 및 동영상을 찾을 수 있는 픽셀스입니다.&lt;/li&gt;
&lt;li&gt;장점: 다양한 주제, 높은 해상도, 무료 동영상도 제공&lt;/li&gt;
&lt;li&gt;단점: 일부 이미지는 다른 사이트에서도 볼 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.pexels.com/&quot;&gt;Pexels 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_003.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;981&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgFcqg/btsBJbEwo8D/5LkpEOSTqC7cGltGyDWPok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgFcqg/btsBJbEwo8D/5LkpEOSTqC7cGltGyDWPok/img.png&quot; data-alt=&quot;Pexels 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgFcqg/btsBJbEwo8D/5LkpEOSTqC7cGltGyDWPok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgFcqg%2FbtsBJbEwo8D%2F5LkpEOSTqC7cGltGyDWPok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1222&quot; height=&quot;981&quot; data-filename=&quot;무료이미지사이트10선_003.png&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;981&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Pexels 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Pixabay&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;다양한 디자인 자원을 무료로 제공하는 Freepik은 일러스트 및 벡터 이미지도 포함돼 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 거대한 이미지 데이터베이스, 일러스트 및 벡터도 제공&lt;/li&gt;
&lt;li&gt;단점: 어떤 이미지는 다른 사이트에서도 사용 중&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://www.freepik.com/&quot;&gt;Freepik 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702304023253&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Freepik: Download Free Videos, Vectors, Photos, and PSD&quot; data-og-description=&quot;Millions of Free Graphic Resources. ✓ Videos ✓Vectors ✓ Photos ✓ PSD ✓ Icons. All that you need for your Creative Projects. #freepik&quot; data-og-host=&quot;www.freepik.com&quot; data-og-source-url=&quot;https://www.freepik.com/&quot; data-og-url=&quot;https://www.freepik.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gKNq6/hyUIE9AEwc/71cyCL6NgrN7VpQgA0k571/img.png?width=1200&amp;amp;height=676&amp;amp;face=0_0_1200_676,https://scrap.kakaocdn.net/dn/dATzt9/hyULTYmDv1/AxlonL8ChKSQTvrWkaZ5GK/img.jpg?width=626&amp;amp;height=471&amp;amp;face=205_159_402_268,https://scrap.kakaocdn.net/dn/goUVY/hyUIy2FovG/AhHQdKXkD8TmnKZnOBlxB0/img.jpg?width=626&amp;amp;height=420&amp;amp;face=0_0_626_420&quot;&gt;&lt;a href=&quot;https://www.freepik.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.freepik.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gKNq6/hyUIE9AEwc/71cyCL6NgrN7VpQgA0k571/img.png?width=1200&amp;amp;height=676&amp;amp;face=0_0_1200_676,https://scrap.kakaocdn.net/dn/dATzt9/hyULTYmDv1/AxlonL8ChKSQTvrWkaZ5GK/img.jpg?width=626&amp;amp;height=471&amp;amp;face=205_159_402_268,https://scrap.kakaocdn.net/dn/goUVY/hyUIy2FovG/AhHQdKXkD8TmnKZnOBlxB0/img.jpg?width=626&amp;amp;height=420&amp;amp;face=0_0_626_420');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Freepik: Download Free Videos, Vectors, Photos, and PSD&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Millions of Free Graphic Resources. ✓ Videos ✓Vectors ✓ Photos ✓ PSD ✓ Icons. All that you need for your Creative Projects. #freepik&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.freepik.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_004.png&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LRMFD/btsBGpw1Uxf/EXIIcB8DT6I0XacZ3TNG11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LRMFD/btsBGpw1Uxf/EXIIcB8DT6I0XacZ3TNG11/img.png&quot; data-alt=&quot;Pixabay 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LRMFD/btsBGpw1Uxf/EXIIcB8DT6I0XacZ3TNG11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLRMFD%2FbtsBGpw1Uxf%2FEXIIcB8DT6I0XacZ3TNG11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;1000&quot; data-filename=&quot;무료이미지사이트10선_004.png&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Pixabay 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. Burst by Shopify&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;비즈니스와 커머스를 위한 고품질 이미지를 무료로 다운로드할 수 있는 Burst입니다&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 커머스 및 비즈니스 테마에 특화된 이미지, 무료 고해상도 다운로드&lt;/li&gt;
&lt;li&gt;단점: 주제가 한정적일 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://burst.shopify.com/&quot;&gt;Burst 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702304000570&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;20,000+ Free Stock Photos and Royalty-Free Images&quot; data-og-description=&quot;Browse thousands of beautiful copyright-free images. All our pictures are free to download for personal and commercial use, no attribution required.&quot; data-og-host=&quot;www.shopify.com&quot; data-og-source-url=&quot;https://burst.shopify.com/&quot; data-og-url=&quot;https://www.shopify.com/stock-photos&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/IxF5P/hyULSrBPM5/dgvq3azzXfDKrH55GUNCZ1/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/g8dNk/hyUIxbyKW2/tLakep9k4qgbdHD6b5Ec5k/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/dcBamR/hyUIsuyBRI/ZEdIaE6LyaArUdljkrgeRk/img.jpg?width=1000&amp;amp;height=1498&amp;amp;face=0_0_1000_1498&quot;&gt;&lt;a href=&quot;https://burst.shopify.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://burst.shopify.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/IxF5P/hyULSrBPM5/dgvq3azzXfDKrH55GUNCZ1/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/g8dNk/hyUIxbyKW2/tLakep9k4qgbdHD6b5Ec5k/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/dcBamR/hyUIsuyBRI/ZEdIaE6LyaArUdljkrgeRk/img.jpg?width=1000&amp;amp;height=1498&amp;amp;face=0_0_1000_1498');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;20,000+ Free Stock Photos and Royalty-Free Images&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Browse thousands of beautiful copyright-free images. All our pictures are free to download for personal and commercial use, no attribution required.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.shopify.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZO3j2/btsBQwnNQM0/NvqChrLk9qPnu3Jb08BEC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZO3j2/btsBQwnNQM0/NvqChrLk9qPnu3Jb08BEC0/img.png&quot; data-alt=&quot;Burst by Shopify 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZO3j2/btsBQwnNQM0/NvqChrLk9qPnu3Jb08BEC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZO3j2%2FbtsBQwnNQM0%2FNvqChrLk9qPnu3Jb08BEC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1000&quot; data-filename=&quot;무료이미지사이트10선_005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Burst by Shopify 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. Freepik&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;다양한 디자인 자원을 무료로 제공하는 Freepik은 일러스트 및 벡터 이미지도 포함돼 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 벡터 및 일러스트 포함, 많은 리소스 제공&lt;/li&gt;
&lt;li&gt;단점: 일부 이미지는 유료로 구매해야 함&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://www.freepik.com/&quot;&gt;Freepik 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303990212&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Freepik: Download Free Videos, Vectors, Photos, and PSD&quot; data-og-description=&quot;Millions of Free Graphic Resources. ✓ Videos ✓Vectors ✓ Photos ✓ PSD ✓ Icons. All that you need for your Creative Projects. #freepik&quot; data-og-host=&quot;www.freepik.com&quot; data-og-source-url=&quot;https://www.freepik.com/&quot; data-og-url=&quot;https://www.freepik.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gKNq6/hyUIE9AEwc/71cyCL6NgrN7VpQgA0k571/img.png?width=1200&amp;amp;height=676&amp;amp;face=0_0_1200_676,https://scrap.kakaocdn.net/dn/dATzt9/hyULTYmDv1/AxlonL8ChKSQTvrWkaZ5GK/img.jpg?width=626&amp;amp;height=471&amp;amp;face=205_159_402_268,https://scrap.kakaocdn.net/dn/goUVY/hyUIy2FovG/AhHQdKXkD8TmnKZnOBlxB0/img.jpg?width=626&amp;amp;height=420&amp;amp;face=0_0_626_420&quot;&gt;&lt;a href=&quot;https://www.freepik.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.freepik.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gKNq6/hyUIE9AEwc/71cyCL6NgrN7VpQgA0k571/img.png?width=1200&amp;amp;height=676&amp;amp;face=0_0_1200_676,https://scrap.kakaocdn.net/dn/dATzt9/hyULTYmDv1/AxlonL8ChKSQTvrWkaZ5GK/img.jpg?width=626&amp;amp;height=471&amp;amp;face=205_159_402_268,https://scrap.kakaocdn.net/dn/goUVY/hyUIy2FovG/AhHQdKXkD8TmnKZnOBlxB0/img.jpg?width=626&amp;amp;height=420&amp;amp;face=0_0_626_420');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Freepik: Download Free Videos, Vectors, Photos, and PSD&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Millions of Free Graphic Resources. ✓ Videos ✓Vectors ✓ Photos ✓ PSD ✓ Icons. All that you need for your Creative Projects. #freepik&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.freepik.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;989&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxi4FH/btsBGV90O1v/4q0hPPmA73nVpHieaHwcZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxi4FH/btsBGV90O1v/4q0hPPmA73nVpHieaHwcZK/img.png&quot; data-alt=&quot;Freepik 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxi4FH/btsBGV90O1v/4q0hPPmA73nVpHieaHwcZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbxi4FH%2FbtsBGV90O1v%2F4q0hPPmA73nVpHieaHwcZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;989&quot; data-filename=&quot;무료이미지사이트10선_006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;989&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Freepik 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. PicJumbo&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;독특한 주제와 스타일의 무료 이미지를 제공하는 PicJumbo는 창의적인 프로젝트에 적합합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 독특한 주제와 스타일의 이미지, 무료로 다운로드 가능&lt;/li&gt;
&lt;li&gt;단점: 이미지가 다소 제한적일 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://picjumbo.com/&quot;&gt;PicJumbo 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303966029&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free Stock Photos &amp;bull; picjumbo&quot; data-og-description=&quot;Free stock photos and images for your websites, blogs or designs.️ Beautiful 100% free high-resolution stock images with no watermark.&quot; data-og-host=&quot;picjumbo.com&quot; data-og-source-url=&quot;https://picjumbo.com/&quot; data-og-url=&quot;https://picjumbo.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/czQ0RW/hyUL1viV32/PDc03m7d3ZSOL8QYA8Jqi1/img.jpg?width=1600&amp;amp;height=841&amp;amp;face=0_0_1600_841,https://scrap.kakaocdn.net/dn/EZ2ME/hyUIqKim3Q/IK2ZvziG83Loz9nD0kHtrk/img.jpg?width=600&amp;amp;height=399&amp;amp;face=0_0_600_399,https://scrap.kakaocdn.net/dn/cmlOLP/hyUL7h1ogH/4fKmpHZaHkcyYuh9TxQVh1/img.jpg?width=600&amp;amp;height=400&amp;amp;face=0_0_600_400&quot;&gt;&lt;a href=&quot;https://picjumbo.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://picjumbo.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/czQ0RW/hyUL1viV32/PDc03m7d3ZSOL8QYA8Jqi1/img.jpg?width=1600&amp;amp;height=841&amp;amp;face=0_0_1600_841,https://scrap.kakaocdn.net/dn/EZ2ME/hyUIqKim3Q/IK2ZvziG83Loz9nD0kHtrk/img.jpg?width=600&amp;amp;height=399&amp;amp;face=0_0_600_399,https://scrap.kakaocdn.net/dn/cmlOLP/hyUL7h1ogH/4fKmpHZaHkcyYuh9TxQVh1/img.jpg?width=600&amp;amp;height=400&amp;amp;face=0_0_600_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free Stock Photos &amp;bull; picjumbo&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free stock photos and images for your websites, blogs or designs.️ Beautiful 100% free high-resolution stock images with no watermark.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;picjumbo.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1011&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dVdDok/btsBJc4vVPg/Td0zTPQFLJhF7mNFpK6XKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dVdDok/btsBJc4vVPg/Td0zTPQFLJhF7mNFpK6XKk/img.png&quot; data-alt=&quot;PicJumbo 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVdDok/btsBJc4vVPg/Td0zTPQFLJhF7mNFpK6XKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVdDok%2FbtsBJc4vVPg%2FTd0zTPQFLJhF7mNFpK6XKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1011&quot; data-filename=&quot;무료이미지사이트10선_007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1011&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PicJumbo 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7. SplitShire&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;SplitShire는 예술적이고 창의적인 이미지를 무료로 제공합니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 예술적이고 창의적인 이미지 제공&lt;/li&gt;
&lt;li&gt;단점: 이미지 수가 다른 사이트에 비해 적을 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://www.splitshire.com/&quot;&gt;SplitShire 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303951408&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free Stock Photos - SplitShire&quot; data-og-description=&quot;The best free stock images &amp;amp; videos that are absolutely without any copyright restrictions (CC0) - free and legal - no attribution needed.&quot; data-og-host=&quot;www.splitshire.com&quot; data-og-source-url=&quot;https://www.splitshire.com/&quot; data-og-url=&quot;https://www.splitshire.com/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.splitshire.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.splitshire.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free Stock Photos - SplitShire&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The best free stock images &amp;amp; videos that are absolutely without any copyright restrictions (CC0) - free and legal - no attribution needed.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.splitshire.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_008.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;951&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwyuLA/btsBOgMiOpc/HmTAyh4xm6hJn5YexykfkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwyuLA/btsBOgMiOpc/HmTAyh4xm6hJn5YexykfkK/img.png&quot; data-alt=&quot;SplitShire 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwyuLA/btsBOgMiOpc/HmTAyh4xm6hJn5YexykfkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwyuLA%2FbtsBOgMiOpc%2FHmTAyh4xm6hJn5YexykfkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;951&quot; data-filename=&quot;무료이미지사이트10선_008.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;951&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SplitShire 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;8. Reshot&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;Reshot은 고품질이고 독특한 이미지를 제공하며, 창의적인 프로젝트에 적합합니다&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 다양한 스타일의 고품질 이미지, 독특한 컬렉션 포함&lt;/li&gt;
&lt;li&gt;단점: 이미지 수가 일부 다른 사이트보다 적을 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://www.reshot.com/&quot;&gt;Reshot 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303937668&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Reshot | Free icons &amp;amp; illustrations&quot; data-og-description=&quot;Design freely with instant downloads of curated SVG icons and vector illustrations. All free with commercial licensing. No attribution required.&quot; data-og-host=&quot;www.reshot.com&quot; data-og-source-url=&quot;https://www.reshot.com/&quot; data-og-url=&quot;https://www.reshot.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cVzcRi/hyUICKIg5m/nHNgUeeaE58MLihO5ZXZAK/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254,https://scrap.kakaocdn.net/dn/dVmJki/hyULZ5kq6w/L9fv272rdvN0xuKkkBnfJK/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254,https://scrap.kakaocdn.net/dn/4jj9a/hyUIBSznRX/nh6J5IalZMiyZhLumVXdnK/img.png?width=415&amp;amp;height=350&amp;amp;face=0_0_415_350&quot;&gt;&lt;a href=&quot;https://www.reshot.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.reshot.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cVzcRi/hyUICKIg5m/nHNgUeeaE58MLihO5ZXZAK/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254,https://scrap.kakaocdn.net/dn/dVmJki/hyULZ5kq6w/L9fv272rdvN0xuKkkBnfJK/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254,https://scrap.kakaocdn.net/dn/4jj9a/hyUIBSznRX/nh6J5IalZMiyZhLumVXdnK/img.png?width=415&amp;amp;height=350&amp;amp;face=0_0_415_350');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Reshot | Free icons &amp;amp; illustrations&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Design freely with instant downloads of curated SVG icons and vector illustrations. All free with commercial licensing. No attribution required.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.reshot.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_009.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ujCaY/btsBR7gIp0O/rgLOmwpc2F54waYcbpy6lK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ujCaY/btsBR7gIp0O/rgLOmwpc2F54waYcbpy6lK/img.png&quot; data-alt=&quot;Reshot 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ujCaY/btsBR7gIp0O/rgLOmwpc2F54waYcbpy6lK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FujCaY%2FbtsBR7gIp0O%2FrgLOmwpc2F54waYcbpy6lK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;무료이미지사이트10선_009.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Reshot 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;9. ISO Republic&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;고품질의 무료 이미지를 제공하는 ISO Republic은 다양한 주제를 다룹니다&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 고품질의 무료 이미지, 다양한 주제 다룸&lt;/li&gt;
&lt;li&gt;단점: 커뮤니티 크기가 다른 몇몇 사이트에 비해 작을 수 있음&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://isorepublic.com/&quot;&gt;ISO Republic 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303920313&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Best Free High Resolution Stock Photos &amp;amp; Videos | ISO Republic&quot; data-og-description=&quot;ISO Republic offers over 7,000 of the best high-resolution stock images &amp;amp; videos, all free for personal and commercial use. Download your favorites today.&quot; data-og-host=&quot;isorepublic.com&quot; data-og-source-url=&quot;https://isorepublic.com/&quot; data-og-url=&quot;https://isorepublic.com/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://isorepublic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://isorepublic.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Best Free High Resolution Stock Photos &amp;amp; Videos | ISO Republic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;ISO Republic offers over 7,000 of the best high-resolution stock images &amp;amp; videos, all free for personal and commercial use. Download your favorites today.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;isorepublic.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_010.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QXSGD/btsBQtYSBaq/8UtL2jYV9PtwWkSh8cGUK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QXSGD/btsBQtYSBaq/8UtL2jYV9PtwWkSh8cGUK0/img.png&quot; data-alt=&quot;ISO Republic 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QXSGD/btsBQtYSBaq/8UtL2jYV9PtwWkSh8cGUK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQXSGD%2FbtsBQtYSBaq%2F8UtL2jYV9PtwWkSh8cGUK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;무료이미지사이트10선_010.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ISO Republic 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;10. LibreStock&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;여러 무료 이미지 사이트를 한 곳에서 검색하여 찾을 수 있는 편리한 LibreStock입니다&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;장점: 다양한 이미지를 한 곳에서 검색 가능&lt;/li&gt;
&lt;li&gt;단점: 직접 이미지를 호스팅하지 않고, 다른 사이트에서 가져오는 역할을 함&lt;/li&gt;
&lt;li&gt;&lt;a style=&quot;color: #000000; text-align: left;&quot; href=&quot;https://librestock.com/&quot;&gt;LibreStock 바로가기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1702303887665&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Librestock Photos - Free Stock Photo Search Engine&quot; data-og-description=&quot;Search 6,111 CC0-Licensed Photos We scan and index the best free photos from the top stock sites, so that you can find that perfect image much, much quicker. Special Offer Get 10 Free Images from Shutterstock&quot; data-og-host=&quot;librestock.com&quot; data-og-source-url=&quot;https://librestock.com/&quot; data-og-url=&quot;https://librestock.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dPv8Qh/hyUIBLOYOh/pXqFNra4CheIzhBaZ2UvlK/img.jpg?width=750&amp;amp;height=500&amp;amp;face=0_0_750_500,https://scrap.kakaocdn.net/dn/i5uSL/hyUL0XtonC/puB9qkmF7DPgoeAYfVKKY1/img.jpg?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/bCl324/hyUL1viVwc/gbTAW0UJx7BhSkVtCKtD4K/img.jpg?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500&quot;&gt;&lt;a href=&quot;https://librestock.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://librestock.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dPv8Qh/hyUIBLOYOh/pXqFNra4CheIzhBaZ2UvlK/img.jpg?width=750&amp;amp;height=500&amp;amp;face=0_0_750_500,https://scrap.kakaocdn.net/dn/i5uSL/hyUL0XtonC/puB9qkmF7DPgoeAYfVKKY1/img.jpg?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/bCl324/hyUL1viVwc/gbTAW0UJx7BhSkVtCKtD4K/img.jpg?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Librestock Photos - Free Stock Photo Search Engine&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Search 6,111 CC0-Licensed Photos We scan and index the best free photos from the top stock sites, so that you can find that perfect image much, much quicker. Special Offer Get 10 Free Images from Shutterstock&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;librestock.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;무료이미지사이트10선_011.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxaQkd/btsBKknWzoz/SJKKI0krqenVvkvwZi9b9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxaQkd/btsBKknWzoz/SJKKI0krqenVvkvwZi9b9K/img.png&quot; data-alt=&quot;LibreStock 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxaQkd/btsBKknWzoz/SJKKI0krqenVvkvwZi9b9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxaQkd%2FbtsBKknWzoz%2FSJKKI0krqenVvkvwZi9b9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;무료이미지사이트10선_011.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;LibreStock 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #000000;&quot; data-testid=&quot;conversation-turn-9&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div data-message-id=&quot;27d0d805-d893-403b-bc6e-6c100f8f8a01&quot; data-message-author-role=&quot;assistant&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 다양한 주제의 고품질 이미지를 무료로! 인기 무료 이미지 제공 사이트 10선라는 주제로 10개의 사이트에 대해서 살펴봤습니다. 각 사이트의 이용 약관을 확인하고 출처를 명시하는 것을 잊지 마세요. 혹 궁금하신 점이나 무의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>IT_OS_ETC..</category>
      <category>LibreStock</category>
      <category>디자이너</category>
      <category>디자인자원</category>
      <category>무료사진</category>
      <category>무료이미지</category>
      <category>블로그</category>
      <category>웹디자인</category>
      <category>이미지자원</category>
      <category>창의성</category>
      <category>프로젝트</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/898</guid>
      <comments>https://appia.tistory.com/898#entry898comment</comments>
      <pubDate>Tue, 12 Dec 2023 07:16:50 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 변경사항 폐기하기(with Checkout, restore)</title>
      <link>https://appia.tistory.com/897</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;변경사항&amp;nbsp;폐기하기(with&amp;nbsp;Checkout,&amp;nbsp;restore)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btGbCA/btsBG7aMZ9p/tBR1xNdQQ5dYjb0qKebg0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btGbCA/btsBG7aMZ9p/tBR1xNdQQ5dYjb0qKebg0K/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;Git&amp;amp;amp;nbsp;변경사항&amp;amp;amp;nbsp;폐기하기(with&amp;amp;amp;nbsp;Checkout,&amp;amp;amp;nbsp;restore)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btGbCA/btsBG7aMZ9p/tBR1xNdQQ5dYjb0qKebg0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtGbCA%2FbtsBG7aMZ9p%2FtBR1xNdQQ5dYjb0qKebg0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;769&quot; data-filename=&quot;Git_변경사항_폐기하기001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;변경사항&amp;amp;nbsp;폐기하기(with&amp;amp;nbsp;Checkout,&amp;amp;nbsp;restore)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 Git에서 자주 사용하는 HEAD~를 사용하는 방법에 대해서 이야기를 했었습니다. 앞선 포스팅에서 익힌 HEAD~ 부분은 git에서 매우 많은 곳에서 잘 사용이 됩니다. 그래서 이번 포스팅에서는 이 부분을 활용하는 부분중 하나로,&amp;nbsp; 변경사항에 대해서 없애는 즉, 변경사항을 폐기하는 방법에 대해서에 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/895&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702222526754&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git에서 HEAD~를 사용하는 방법&quot; data-og-description=&quot;[깃, Git] Git에서 HEAD~를 사용하는 방법 이전 포스팅에서, git에서 commit한 이전 내용에 대해서 확인하고, 원래대로 돌아오는 방법에 대해서 포스팅을 봤습니다.이 부분을 통해서, 이전 commit 내용을 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/895&quot; data-og-url=&quot;https://appia.tistory.com/895&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Zx0Ua/hyUL1BUvzh/458bOgmPdPfgPPSwLpTJak/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/cgEWqh/hyULZc1Zxh/pJbkvhD2UidjsR8K6SQrI0/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/6SHEj/hyULXfc0rY/eJMumBXDe1cDOvHKrKKcik/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/895&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/895&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Zx0Ua/hyUL1BUvzh/458bOgmPdPfgPPSwLpTJak/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/cgEWqh/hyULZc1Zxh/pJbkvhD2UidjsR8K6SQrI0/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/6SHEj/hyULXfc0rY/eJMumBXDe1cDOvHKrKKcik/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법 이전 포스팅에서, git에서 commit한 이전 내용에 대해서 확인하고, 원래대로 돌아오는 방법에 대해서 포스팅을 봤습니다.이 부분을 통해서, 이전 commit 내용을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 여러 포스팅에서 사용한 예시 Repository를 활용하도록 하겠습니다. 그리고 추가로 여기에 파일을 생성하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702222762041&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch b_change.txt v_change.txt # 예제 파일 생성&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uIrji/btsBGwIJQwc/lkCDOSJkcjNSr3Z7zJDR8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uIrji/btsBGwIJQwc/lkCDOSJkcjNSr3Z7zJDR8k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기002.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uIrji/btsBGwIJQwc/lkCDOSJkcjNSr3Z7zJDR8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuIrji%2FbtsBGwIJQwc%2FlkCDOSJkcjNSr3Z7zJDR8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkx6GY/btsBKdIk2wK/9YMvgkwRwNJpuKJqmF1Sc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkx6GY/btsBKdIk2wK/9YMvgkwRwNJpuKJqmF1Sc0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기003.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkx6GY/btsBKdIk2wK/9YMvgkwRwNJpuKJqmF1Sc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdkx6GY%2FbtsBKdIk2wK%2F9YMvgkwRwNJpuKJqmF1Sc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;예제로 사용한 repository와 파일 생성&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 토대로, &quot;git status&quot; 명령어로 확인해보면, 현재 2개의 파일이 생성된 것을 알 수 있습니다. 이렇게 생성한 파일을 git add / commit을 하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkcDqW/btsBJbDRBea/ge7k9HCDmoSudRdNbg6jr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkcDqW/btsBJbDRBea/ge7k9HCDmoSudRdNbg6jr0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기004.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkcDqW/btsBJbDRBea/ge7k9HCDmoSudRdNbg6jr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkcDqW%2FbtsBJbDRBea%2Fge7k9HCDmoSudRdNbg6jr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nRJnc/btsBGjCNWAb/3k776Dq6TF1OrM8njKIhW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nRJnc/btsBGjCNWAb/3k776Dq6TF1OrM8njKIhW1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기005.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nRJnc/btsBGjCNWAb/3k776Dq6TF1OrM8njKIhW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnRJnc%2FbtsBGjCNWAb%2F3k776Dq6TF1OrM8njKIhW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;예제로 사용할 파일 commit 완료&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;현재까지 commit을 한 파일에 약간의 파일을 수정하도록 하겠습니다. 그리고 나서, 각 파일을 저장해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기006.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bG34H5/btsBFHqvzEp/OIUz3eFYVGnv7ZHFrhkIHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bG34H5/btsBFHqvzEp/OIUz3eFYVGnv7ZHFrhkIHk/img.png&quot; data-alt=&quot;예제 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bG34H5/btsBFHqvzEp/OIUz3eFYVGnv7ZHFrhkIHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbG34H5%2FbtsBFHqvzEp%2FOIUz3eFYVGnv7ZHFrhkIHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;580&quot; data-filename=&quot;Git_변경사항_폐기하기006.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 &quot;git status&quot; 명령어를 통해서 현재 변경사항을 git에서 추적이 되고 있는 것을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HeTB0/btsBF2Vr92u/1IgPKqqIp74vHHXen8Er20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HeTB0/btsBF2Vr92u/1IgPKqqIp74vHHXen8Er20/img.png&quot; data-alt=&quot;git status로 현재 수정 파일 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HeTB0/btsBF2Vr92u/1IgPKqqIp74vHHXen8Er20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHeTB0%2FbtsBF2Vr92u%2F1IgPKqqIp74vHHXen8Er20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status로 현재 수정 파일 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 여기에서 수정사항을 폐기하는 방법에 대해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702222878745&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout HEAD &amp;lt;파일이름&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 바탕으로, 예제로 생성한 b_change.txt와 v_change.txt 파일 원복하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DCwfO/btsBF1hVUw2/L0GN7PdEUqkUW4pyiUbLaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DCwfO/btsBF1hVUw2/L0GN7PdEUqkUW4pyiUbLaK/img.png&quot; data-alt=&quot;git checkout을 통한 파일 변경사항 폐기하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DCwfO/btsBF1hVUw2/L0GN7PdEUqkUW4pyiUbLaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDCwfO%2FbtsBF1hVUw2%2FL0GN7PdEUqkUW4pyiUbLaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout을 통한 파일 변경사항 폐기하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고나서, 현재 변경사항을 폐기한 부분을 열어 보면 다음과 같이 파일을 생성해서, 바로 add/commit을 한 그 상태로 돌아갑니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기009.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YONfm/btsBJiiFZDm/9AKgCkH8z4IO4e36cLr8jK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YONfm/btsBJiiFZDm/9AKgCkH8z4IO4e36cLr8jK/img.png&quot; data-alt=&quot;원복된 변경사항 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YONfm/btsBJiiFZDm/9AKgCkH8z4IO4e36cLr8jK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYONfm%2FbtsBJiiFZDm%2F9AKgCkH8z4IO4e36cLr8jK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;580&quot; data-filename=&quot;Git_변경사항_폐기하기009.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원복된 변경사항 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 다시 한번 git status를 통해서, 현재&amp;nbsp; branch(브랜치)의 변경사항을 보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GLt6d/btsBMVgqw7V/HKlzY9s4AKrC7wct3WNofk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GLt6d/btsBMVgqw7V/HKlzY9s4AKrC7wct3WNofk/img.png&quot; data-alt=&quot;git status로 변경사항 폐기 여부 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GLt6d/btsBMVgqw7V/HKlzY9s4AKrC7wct3WNofk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGLt6d%2FbtsBMVgqw7V%2FHKlzY9s4AKrC7wct3WNofk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status로 변경사항 폐기 여부 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 이제는 restore를 통해서 변경사항을 폐기하는 방법에 대해서 보도록 하겠습니다. 여기에서 임의적으로 변경사항을 만들고 몇번의 commit을 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/burSEI/btsBHQ7H0Gh/r1VzfcRcW8gopUcnvXzE7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/burSEI/btsBHQ7H0Gh/r1VzfcRcW8gopUcnvXzE7K/img.png&quot; data-alt=&quot;변경사항 반영 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/burSEI/btsBHQ7H0Gh/r1VzfcRcW8gopUcnvXzE7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FburSEI%2FbtsBHQ7H0Gh%2Fr1VzfcRcW8gopUcnvXzE7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;변경사항 반영 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이상태에서 파일을 임의적으로 변경을 하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KjToH/btsBMWl6Yth/4NI5jTXJnBw6x92a5R3avK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KjToH/btsBMWl6Yth/4NI5jTXJnBw6x92a5R3avK/img.png&quot; data-alt=&quot;임의로변경사항 만들기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KjToH/btsBMWl6Yth/4NI5jTXJnBw6x92a5R3avK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKjToH%2FbtsBMWl6Yth%2F4NI5jTXJnBw6x92a5R3avK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;임의로변경사항 만들기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제는 변경사항을 폐기해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702223410879&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git restore &amp;lt;파일이름&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같이 입력을 할 경우 해당 파일에 가장 최신의 commit 기준으로 복원이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bucMuF/btsBGVarykx/H2h9dXkafNGYEaxM2xaBgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bucMuF/btsBGVarykx/H2h9dXkafNGYEaxM2xaBgk/img.png&quot; data-alt=&quot;git restore 로 변경사항 폐기한 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bucMuF/btsBGVarykx/H2h9dXkafNGYEaxM2xaBgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbucMuF%2FbtsBGVarykx%2FH2h9dXkafNGYEaxM2xaBgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;Git_변경사항_폐기하기013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git restore 로 변경사항 폐기한 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 2번째 또는 특정 commit 기준으로 파일을 변경하는 방법이 있습니다. 바로 다음과 같은 형태로 작성하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1702223678475&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git restore --soruce HEAD~n/Commit Hash &amp;lt;파일이름&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서 HEAD~ 를 통해서 이전 몇번째 commit 기준으로 작성하던지 아니면, commit hash를 통해서 해당 commit을 직접 지정할 수 있습니다. 그 기준으로 선택한 파일을 돌릴 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L2W9x/btsBGnkVGx3/5Qg28ecs4kBkfXbXgOiyR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L2W9x/btsBGnkVGx3/5Qg28ecs4kBkfXbXgOiyR0/img.png&quot; data-alt=&quot;2번째 이전 commit으로 파일 변경하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L2W9x/btsBGnkVGx3/5Qg28ecs4kBkfXbXgOiyR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL2W9x%2FbtsBGnkVGx3%2F5Qg28ecs4kBkfXbXgOiyR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;314&quot; data-filename=&quot;Git_변경사항_폐기하기015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2번째 이전 commit으로 파일 변경하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 예시에서 제가 2번째 이전 파일로 파일을 돌리고 나서, 다시 한번 git status를 입력하여 상태를 확인합니다. 이전 commit과 차이가 발생할 경우, 이전 commit 기준으로 수정이 되었다고 나타낼 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Git_변경사항_폐기하기017.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brTXP0/btsBHr71xZO/SnaagYPibtlvWckY3YAkw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brTXP0/btsBHr71xZO/SnaagYPibtlvWckY3YAkw1/img.png&quot; data-alt=&quot;2번째 이전 commit으로 파일 돌릴 후, git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brTXP0/btsBHr71xZO/SnaagYPibtlvWckY3YAkw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrTXP0%2FbtsBHr71xZO%2FSnaagYPibtlvWckY3YAkw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;314&quot; data-filename=&quot;Git_변경사항_폐기하기017.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2번째 이전 commit으로 파일 돌릴 후, git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 경우에 그냥 git restore를 통해서 바로 이전commit으로 파일을 원복할 수 있습니다. 이와 같은 방식으로 git에서 파일의 변경사항에 대해서 폐기할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/886&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1702223246765&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&quot; data-og-description=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/886&quot; data-og-url=&quot;https://appia.tistory.com/886&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/qtLg8/hyULTKD9Yh/0CaMxtMEoAubcJihhHI4u0/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/bm9Bgg/hyULUv1QCm/HZmjkeecXFKaaC8pdxCxUK/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/J6FfG/hyUIsunHe5/k65tnM8q5yPMT1OfRUVtzK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/886&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/886&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/qtLg8/hyULTKD9Yh/0CaMxtMEoAubcJihhHI4u0/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/bm9Bgg/hyULUv1QCm/HZmjkeecXFKaaC8pdxCxUK/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/J6FfG/hyUIsunHe5/k65tnM8q5yPMT1OfRUVtzK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git 변경사항 폐기하기(with Checkout, restore)라는 주제로 포스팅을 해봤습니다. 실제, 이 부분이 매우 유용하게 사용될 수 있는 부분이라고 생각합니다. 물론, 여기에서 Ctrl+z를 이용해서 파일에서 직접 수정을 원복할 수도 있지만, 이전 commit 기준 및 다양한 시점으로 본인이 원하는 지점으로 변경사항을 되돌릴수 있습니다. 혹 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git checkout HEAD</category>
      <category>git restore</category>
      <category>깃</category>
      <category>수정사항폐기하기</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/897</guid>
      <comments>https://appia.tistory.com/897#entry897comment</comments>
      <pubDate>Mon, 11 Dec 2023 07:58:23 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git에서 HEAD~를 사용하는 방법</title>
      <link>https://appia.tistory.com/895</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GIT_HEAD~사용방법_001.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s6wRO/btsBCv3MDMu/sWFR9lKQI1aPCSwy7nD3e1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s6wRO/btsBCv3MDMu/sWFR9lKQI1aPCSwy7nD3e1/img.png&quot; data-alt=&quot;[깃, Git] Git에서 HEAD~를 사용하는 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s6wRO/btsBCv3MDMu/sWFR9lKQI1aPCSwy7nD3e1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs6wRO%2FbtsBCv3MDMu%2FsWFR9lKQI1aPCSwy7nD3e1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;780&quot; height=&quot;781&quot; data-filename=&quot;GIT_HEAD~사용방법_001.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git에서 HEAD~를 사용하는 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서, git에서 commit한 이전 내용에 대해서 확인하고, 원래대로 돌아오는 방법에 대해서 포스팅을 봤습니다.이 부분을 통해서, 이전 commit 내용을 확인할 수 있었고, 이를 통해서 다양하게 활용할 수 있습니다. 이 부분은 실제로 많이 사용이 될 것입니다. 그 과정에서 저는&amp;nbsp; commit hash를 이용하였습니다. 물론, 이전까지 대부분의 포스팅에서 commit hash를 사용하였습니다. 하지만, commit hash를 사용하다보면, 은근 귀찮은 일이 많습니다. 그래서 git log를 통해서 commit hash를 확인하여 사용하지 않더라도 이전 commit을 찾아갈 수 있는 방법이 있습니다. 그 방법에 대해서 오늘 포스팅에서 다루어보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/892&quot;&gt;[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701994985093&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내&quot; data-og-description=&quot;[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내 이전 포스팅에서는 git의 변경사항들에 대해서 임시저장을 할 수 있는 기능인 git stash에 대해서 사용하는 방법에 대해서 이야기했&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/892&quot; data-og-url=&quot;https://appia.tistory.com/892&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/75cSe/hyUIAFnxmO/hSICp8loBEASmZtTrZxDW1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/nIAzc/hyUIq3RUis/Dtl7XhlkgLKNKkkhbK0bm0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/cSOOI8/hyUIq3RUkI/viccw8PoJSDwqRpJQsCi1K/img.png?width=1237&amp;amp;height=793&amp;amp;face=0_0_1237_793&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/892&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/892&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/75cSe/hyUIAFnxmO/hSICp8loBEASmZtTrZxDW1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/nIAzc/hyUIq3RUis/Dtl7XhlkgLKNKkkhbK0bm0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/cSOOI8/hyUIq3RUkI/viccw8PoJSDwqRpJQsCi1K/img.png?width=1237&amp;amp;height=793&amp;amp;face=0_0_1237_793');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내 이전 포스팅에서는 git의 변경사항들에 대해서 임시저장을 할 수 있는 기능인 git stash에 대해서 사용하는 방법에 대해서 이야기했&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 다음과 같은 부분을 많이 봐오셨을 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701995014718&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout HEAD~1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 부분에서 ~ 부분을 가장 쉽게 생각하면 -라고 생각하시면 됩니다. 즉, HEAD~1은 현재 HEAD 기준에서 -1 번째 commit으로 생각하고, HEAD~2는 HEAD 기준에서 -2번째 commit을 지칭한다고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GIT_HEAD~사용방법_002.png&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDAI6m/btsBzv4zaTw/e7Rje0VYqi9DIouT2wD1KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDAI6m/btsBzv4zaTw/e7Rje0VYqi9DIouT2wD1KK/img.png&quot; data-alt=&quot;HEAD~ 의 의미&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDAI6m/btsBzv4zaTw/e7Rje0VYqi9DIouT2wD1KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDAI6m%2FbtsBzv4zaTw%2Fe7Rje0VYqi9DIouT2wD1KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;203&quot; data-filename=&quot;GIT_HEAD~사용방법_002.png&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;HEAD~ 의 의미&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 이 부분을 토대로, 한번 git에서 직접 실행을 해보도록 하겠습니다. 먼저, 현재 repository에서의 다음 명령어를 통해서, 'git log --oneline'을 통해서 현재의 git commit의 상태를 검토해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GIT_HEAD~사용방법_003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjAQLS/btsBxTLS3o6/uKcJi7rCk6WuRRAn4tJfS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjAQLS/btsBxTLS3o6/uKcJi7rCk6WuRRAn4tJfS1/img.png&quot; data-alt=&quot;git log --oneline의 결과를 통한 commit&amp;amp;amp;nbsp; 상태 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjAQLS/btsBxTLS3o6/uKcJi7rCk6WuRRAn4tJfS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjAQLS%2FbtsBxTLS3o6%2FuKcJi7rCk6WuRRAn4tJfS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;GIT_HEAD~사용방법_003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log --oneline의 결과를 통한 commit&amp;amp;nbsp; 상태 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 이전 포스팅에서 봈던 git checkout을 통해서 commit hash가 아니라, HEAD~를 통해서 이전 commit 의 내용을 확인해보도록 하겠습니다.&amp;nbsp; 다음 명령어를 통해서, 다음 부분을 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701995614063&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout HEAD~2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 실행하면, 이전 포스팅에서 했던 부분과 같이 git checkout이 실행된 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GIT_HEAD~사용방법_004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sav57/btsBCnxTJBF/k8kV24MMibvq05Y6ph27yK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sav57/btsBCnxTJBF/k8kV24MMibvq05Y6ph27yK/img.png&quot; data-alt=&quot;git checkout HEAD~2 실행결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sav57/btsBCnxTJBF/k8kV24MMibvq05Y6ph27yK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSav57%2FbtsBCnxTJBF%2Fk8kV24MMibvq05Y6ph27yK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;GIT_HEAD~사용방법_004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout HEAD~2 실행결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 토대로, 다시한번 &quot;git log --oneline&quot;명령어를 실행해보도록 하겠습니다. 이전에서 본것와 같이 2개 전의 commit에 HEAD가 있음을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GIT_HEAD~사용방법_005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnhq3G/btsBCl08slF/yfUz5xFlr8u8Z1FrGnki31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnhq3G/btsBCl08slF/yfUz5xFlr8u8Z1FrGnki31/img.png&quot; data-alt=&quot;git checkout HEAD~2 실행 후 git log --oneline 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnhq3G/btsBCl08slF/yfUz5xFlr8u8Z1FrGnki31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcnhq3G%2FbtsBCl08slF%2FyfUz5xFlr8u8Z1FrGnki31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;GIT_HEAD~사용방법_005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout HEAD~2 실행 후 git log --oneline 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 commit hash를 사용하지 않고, HEAD~를 이용하여 이전 commit을 찾아갈 수 있었습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/886&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701996396902&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&quot; data-og-description=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/886&quot; data-og-url=&quot;https://appia.tistory.com/886&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/hayEq/hyUIrIsYpu/ijlwMkqr2kyM4z7JSU2rVk/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/d1bjkV/hyUIrBIeVR/V8NhQOP2JEKKVmKG8Besgk/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/OO0YA/hyUIyt293z/7HFzp2iTJSnCYpjuKxVST0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/886&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/886&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/hayEq/hyUIrIsYpu/ijlwMkqr2kyM4z7JSU2rVk/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/d1bjkV/hyUIrBIeVR/V8NhQOP2JEKKVmKG8Besgk/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/OO0YA/hyUIyt293z/7HFzp2iTJSnCYpjuKxVST0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;이번 포스팅에서는 [깃, Git] Git에서 HEAD~를 사용하는 방법에 대해 다뤘습니다. commit hash를 사용하는 것과 비교하여 더 간편한 방법으로 이전 commit을 참조할 수 있습니다. 물론, 어떤 방법을 선택하든 원하는 방식으로 사용하면 됩니다. 물론, 이러한 약간의 디테일이 외부에 보여지기에, 파워유저로 보일수 있을 수 있는 매력적인 기능이라고 생각합니다. Git은 유연한 사용법을 허용하므로 사용자의 편의에 맞게 선택하면 됩니다. 작업하시다가 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>Git사용법</category>
      <category>HEAD~</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/895</guid>
      <comments>https://appia.tistory.com/895#entry895comment</comments>
      <pubDate>Sun, 10 Dec 2023 07:06:42 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지</title>
      <link>https://appia.tistory.com/894</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[윈도우10/11&amp;nbsp;Windows10/11]윈도우&amp;nbsp;사용자를&amp;nbsp;위한&amp;nbsp;필수&amp;nbsp;프로그램&amp;nbsp;10가지&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;윈도우 필수 프로그램10가지.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F4XaI/btsBBPn4mGa/cSLIeD4w5MYeUP9tBmO4RK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F4XaI/btsBBPn4mGa/cSLIeD4w5MYeUP9tBmO4RK/img.png&quot; data-alt=&quot;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F4XaI/btsBBPn4mGa/cSLIeD4w5MYeUP9tBmO4RK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF4XaI%2FbtsBBPn4mGa%2FcSLIeD4w5MYeUP9tBmO4RK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;770&quot; data-filename=&quot;윈도우 필수 프로그램10가지.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;윈도우를 사용하다보면, 기본 프로그램 외에도 다양한 프로그램들이 필요로 합니다. 그래서, 이번 포스팅에서는 윈도우를 사용하면서 반드시 필요로 하다고 생각되는 프로그램 10가지에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/173&quot;&gt;[윈도우10 Windows10] 컴퓨터/호스트 이름 확인 및 변경하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701962392441&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] 컴퓨터/호스트 이름 확인 및 변경하기&quot; data-og-description=&quot;이번 포스팅은 컴퓨터/호스트 이름을 확인하고 변경하는 방법에 대해서 살펴보고자 합니다. 제가 전에 MAC Address를 변경하는 주소하는 방법에 대해서 다음 링크에서와 같이 살펴봤습니다. 링크 :&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/173&quot; data-og-url=&quot;https://appia.tistory.com/173&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/caIb2s/hyUIBRJlA8/41wGozkZlPIdmjO6LsAtAK/img.png?width=452&amp;amp;height=678&amp;amp;face=0_0_452_678,https://scrap.kakaocdn.net/dn/WbTdh/hyUICwlFKJ/NuUVZ03AWi7WAmWzKDjJt0/img.png?width=452&amp;amp;height=678&amp;amp;face=0_0_452_678,https://scrap.kakaocdn.net/dn/DeeKa/hyUIASRaqg/229VkMkSQ3Sy3FmkpQX3Gk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/173&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/173&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/caIb2s/hyUIBRJlA8/41wGozkZlPIdmjO6LsAtAK/img.png?width=452&amp;amp;height=678&amp;amp;face=0_0_452_678,https://scrap.kakaocdn.net/dn/WbTdh/hyUICwlFKJ/NuUVZ03AWi7WAmWzKDjJt0/img.png?width=452&amp;amp;height=678&amp;amp;face=0_0_452_678,https://scrap.kakaocdn.net/dn/DeeKa/hyUIASRaqg/229VkMkSQ3Sy3FmkpQX3Gk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] 컴퓨터/호스트 이름 확인 및 변경하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이번 포스팅은 컴퓨터/호스트 이름을 확인하고 변경하는 방법에 대해서 살펴보고자 합니다. 제가 전에 MAC Address를 변경하는 주소하는 방법에 대해서 다음 링크에서와 같이 살펴봤습니다. 링크 :&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;1. &lt;b&gt;Google Chrome 또는 Mozilla Firefox (웹 브라우저)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 인터넷을 빠르고 안정적으로 탐험할 수 있는 Google Chrome 또는 Mozilla Firefox를 선택하세요. 이 브라우저는 강력한 성능과 다양한 확장 기능을 제공하여 웹 경험을 더욱 풍부하게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.google.com/chrome/&quot;&gt;Google Chrome&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.mozilla.org/firefox/&quot;&gt;Mozilla Firefox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;2. &lt;b&gt;Microsoft Office 또는 LibreOffice (오피스 스위트)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 업무 및 문서 작업을 위해 Microsoft Office 또는 무료 대안인 LibreOffice를 선택하세요. 이 두 오피스 스위트는 각각의 장점을 가지고 있어, 사용자의 필요에 맞게 선택할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.microsoft.com/office/&quot;&gt;Microsoft Office&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.libreoffice.org/&quot;&gt;LibreOffice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;3. &lt;b&gt;안티바이러스 프로그램 (Windows Defender)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 컴퓨터를 안전하게 유지하기 위해 Windows Defender와 같은 안티바이러스 프로그램을 활용하세요. 이 프로그램은 실시간 보호와 악성 소프트웨어 탐지 기능을 제공하여 컴퓨터를 보호합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.microsoft.com/windows/security&quot;&gt;Windows Defender&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;4. &lt;b&gt;Adobe Acrobat Reader 또는 Foxit Reader (PDF 리더)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; PDF 문서를 열고 읽는 데 필수인 Adobe Acrobat Reader 또는 가벼운 대안인 Foxit Reader를 설치하세요. 두 프로그램은 사용이 간편하며 안정성이 뛰어납니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://get.adobe.com/reader/&quot;&gt;Adobe Acrobat Reader&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.foxitsoftware.com/pdf-reader/&quot;&gt;Foxit Reader&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;5. &lt;b&gt;7-Zip 또는 WinRAR (압축 프로그램)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 파일 압축 및 해제를 위해 7-Zip 또는 WinRAR을 선택하세요. 두 프로그램은 다양한 압축 형식을 지원하며 빠른 성능을 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.7-zip.org/&quot;&gt;7-Zip&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.win-rar.com/&quot;&gt;WinRAR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;6. &lt;b&gt;VLC 미디어 플레이어 (미디어 플레이어)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; VLC 미디어 플레이어는 다양한 미디어 파일을 지원하며 간편한 사용법으로 인기를 얻고 있습니다. 음악 및 동영상 재생을 위한 최적의 선택입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.videolan.org/vlc/&quot;&gt;VLC 미디어 플레이어&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;7. &lt;b&gt;GIMP 또는 Paint.NET (이미지 편집 소프트웨어)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; GIMP 또는 Paint.NET을 활용하여 간단한 이미지 편집 작업을 수행하세요. 두 프로그램은 무료로 제공되며 다양한 편집 기능을 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.gimp.org/&quot;&gt;GIMP&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.getpaint.net/&quot;&gt;Paint.NET&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;8. &lt;b&gt;Dropbox, Google Drive, 또는 OneDrive (클라우드 스토리지)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 파일을 안전하게 보관하고 여러 기기 간에 쉽게 공유하기 위해 Dropbox, Google Drive 또는 OneDrive를 사용하세요. 이 클라우드 스토리지 서비스는 편리한 작업을 지원합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.dropbox.com/&quot;&gt;Dropbox&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://drive.google.com/&quot;&gt;Google Drive&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://onedrive.live.com/&quot;&gt;OneDrive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;9. &lt;b&gt;LastPass 또는 1Password (비밀번호 관리자)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 개인 정보를 안전하게 보호하기 위해 LastPass 또는 1Password와 같은 비밀번호 관리자를 사용하세요. 이 도구는 강력한 보안을 제공하며 다양한 계정을 효과적으로 관리할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.lastpass.com/&quot;&gt;LastPass&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://1password.com/&quot;&gt;1Password&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;10. &lt;b&gt;CCleaner 또는 Glary Utilities (컴퓨터 최적화 도구)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;소개:&lt;/b&gt; 시스템 정리 및 최적화를 위해 CCleaner 또는 Glary Utilities를 사용하세요. 이러한 도구는 불필요한 파일을 정리하고 컴퓨터 성능을 최적화하는 데 도움을 줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드:&lt;/b&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.ccleaner.com/&quot;&gt;CCleaner&lt;/a&gt; | &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.glarysoft.com/&quot;&gt;Glary Utilities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/180&quot;&gt;[윈도우10 Windows10] 브라우저 크롬(Chrome) (온라인)설치하기&amp;amp;다운로드 받기(오프라인 다운로드 설치)&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701962629202&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] 브라우저 크롬(Chrome) (온라인)설치하기&amp;amp;다운로드 받기(오프라인 다운로드 설치&quot; data-og-description=&quot;윈도우 10은 사용자 분들은 다 아시겠지만, 엣지 브라우저를 기본 제공합니다. 하지만, 인터넷 익스플로러와 비슷하면서도 다릅니다. 그리고 많은 사람들은 기존과 비슷하게 구글에서 제공하는 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/180&quot; data-og-url=&quot;https://appia.tistory.com/180&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r7Xyl/hyUIraxsdO/e2TKYkT1rXrqn8PASLMnI1/img.png?width=800&amp;amp;height=568&amp;amp;face=0_0_800_568,https://scrap.kakaocdn.net/dn/ckRwFs/hyUIrhku4U/Jk7kx0IzvNcepYGqotOn0k/img.png?width=800&amp;amp;height=568&amp;amp;face=0_0_800_568,https://scrap.kakaocdn.net/dn/b99d3s/hyUItlR1HC/2ekiwW32lsXEpcr7TZjp2k/img.png?width=1280&amp;amp;height=909&amp;amp;face=0_0_1280_909&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/180&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/180&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r7Xyl/hyUIraxsdO/e2TKYkT1rXrqn8PASLMnI1/img.png?width=800&amp;amp;height=568&amp;amp;face=0_0_800_568,https://scrap.kakaocdn.net/dn/ckRwFs/hyUIrhku4U/Jk7kx0IzvNcepYGqotOn0k/img.png?width=800&amp;amp;height=568&amp;amp;face=0_0_800_568,https://scrap.kakaocdn.net/dn/b99d3s/hyUItlR1HC/2ekiwW32lsXEpcr7TZjp2k/img.png?width=1280&amp;amp;height=909&amp;amp;face=0_0_1280_909');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] 브라우저 크롬(Chrome) (온라인)설치하기&amp;amp;다운로드 받기(오프라인 다운로드 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;윈도우 10은 사용자 분들은 다 아시겠지만, 엣지 브라우저를 기본 제공합니다. 하지만, 인터넷 익스플로러와 비슷하면서도 다릅니다. 그리고 많은 사람들은 기존과 비슷하게 구글에서 제공하는&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [윈도우10/11 Windows10/11]윈도우 사용자를 위한 필수 프로그램 10가지 라는 주제로 포스팅을 하였습니다. 오늘 소개한 프로그램들은 각자의 특징과 장점을 가지고 있으며, 사용자의 선호에 따라 선택할 수 있습니다. 이 부분은 제 개인적인 선호 및 다양한 곳에서의 정보를 토대로 만들었습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>CCleaner</category>
      <category>dropbox</category>
      <category>GIMP</category>
      <category>lastpass</category>
      <category>windows</category>
      <category>윈도우</category>
      <category>윈도우필수프로그램</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/894</guid>
      <comments>https://appia.tistory.com/894#entry894comment</comments>
      <pubDate>Fri, 8 Dec 2023 07:24:49 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] Git 자동화를 위한 파이썬 모듈 소개 및 비교</title>
      <link>https://appia.tistory.com/893</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python]&amp;nbsp;Git&amp;nbsp;자동화를&amp;nbsp;위한&amp;nbsp;파이썬&amp;nbsp;모듈&amp;nbsp;소개&amp;nbsp;및&amp;nbsp;비교&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;파이썬_Git관련 모듈.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwre2p/btsBtIjo5Df/duURCBHkHrKo2gTmP2ntXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwre2p/btsBtIjo5Df/duURCBHkHrKo2gTmP2ntXk/img.png&quot; data-alt=&quot;파이썬[Python]&amp;amp;amp;nbsp;Git&amp;amp;amp;nbsp;자동화를&amp;amp;amp;nbsp;위한&amp;amp;amp;nbsp;파이썬&amp;amp;amp;nbsp;모듈&amp;amp;amp;nbsp;소개&amp;amp;amp;nbsp;및&amp;amp;amp;nbsp;비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwre2p/btsBtIjo5Df/duURCBHkHrKo2gTmP2ntXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcwre2p%2FbtsBtIjo5Df%2FduURCBHkHrKo2gTmP2ntXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;780&quot; data-filename=&quot;파이썬_Git관련 모듈.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python]&amp;amp;nbsp;Git&amp;amp;nbsp;자동화를&amp;amp;nbsp;위한&amp;amp;nbsp;파이썬&amp;amp;nbsp;모듈&amp;amp;nbsp;소개&amp;amp;nbsp;및&amp;amp;nbsp;비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;Git은 현대적인 소프트웨어 개발에서 핵심적인 역할을 하는 도구 중 하나입니다. 코드의 버전을 관리하고 협업을 용이하게 하기 위해 Git을 사용하는 것은 거의 필수적입니다. 이러한 Git 작업을 자동화하고 효율적으로 처리하기 위해 파이썬에는 여러 가지 모듈과 도구가 있습니다. 여기에서는 GitPython, GitCommand, sh, 그리고 invoke 네 가지를 살펴보고, 각각의 특징과 장단점을 비교해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/862&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701877674660&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&quot; data-og-description=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/862&quot; data-og-url=&quot;https://appia.tistory.com/862&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/m18a3/hyUID9xbUN/UPphacDS5Xclh6pVIlupuk/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/dLMr9z/hyUICv0ylS/bzxW5ETDyD8gkKDkgZ9vD1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/tr8uw/hyUIudGR4m/HiH3AWdWhHKJSfik0HYfLK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/862&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/862&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/m18a3/hyUID9xbUN/UPphacDS5Xclh6pVIlupuk/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/dLMr9z/hyUICv0ylS/bzxW5ETDyD8gkKDkgZ9vD1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/tr8uw/hyUIudGR4m/HiH3AWdWhHKJSfik0HYfLK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1.&amp;nbsp;GitPython&lt;/b&gt; &lt;br /&gt;GitPython은 파이썬으로 Git 리포지토리를 조작하기 위한 풍부한 기능을 제공하는 모듈입니다. 객체 지향적인 디자인을 통해 Git 작업을 직접 다룰 수 있습니다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치 :&lt;/p&gt;
&lt;pre id=&quot;code_1701876811522&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install gitpython&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용예제&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701876830559&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import git

# Git 리포지토리 열기
repo = git.Repo('/path/to/repository')

# 변경사항 스테이징
repo.index.add(['file1.txt', 'file2.txt'])

# 커밋 만들기
repo.index.commit('Commit message')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. GitCommand&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;GitCommand는 파이썬에서 Git 명령을 직접 실행할 수 있게 해주는 간단한 모듈입니다. Git 명령을 그대로 사용할 수 있어 익숙한 사용자에게 적합합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;설치 :&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701876884056&quot; class=&quot;cmake&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;pip install gitpython&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용예제&lt;/p&gt;
&lt;pre id=&quot;code_1701876915550&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from git import Repo

# Git 명령 실행
Repo.git.execute(['git', 'commit', '-m', 'Commit message'])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. &lt;b&gt;sh&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;sh 모듈은 쉘 명령을 파이썬 코드에서 직접 실행할 수 있게 해주는 모듈입니다. 쉘 명령을 직접 사용하는 간단한 구문을 제공합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: left;&quot;&gt;설치 :&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701876956676&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용예제&lt;/p&gt;
&lt;pre id=&quot;code_1701876985419&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sh

# Git 명령 실행
sh.git.commit('-m', 'Commit message')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. invoke:&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #374151; text-align: start;&quot;&gt;Invoke는 작업 실행 및 스크립트를 효과적으로 자동화하기 위한 파이썬 패키지입니다. 작업 별로 파라미터 및 설정을 손쉽게 관리할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치:&lt;/p&gt;
&lt;pre id=&quot;code_1701877049145&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install invoke&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사용예제&lt;/p&gt;
&lt;pre id=&quot;code_1701877064360&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from invoke import task

@task
def commit(c):
    c.run(&quot;git add .&quot;)
    c.run(&quot;git commit -m 'Commit message'&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;장단점 비교&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 4가지 모듈에 대해서 장단점에 대해서 비교를 해보도록 하겠습니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.5425%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 44.6125%;&quot;&gt;장점&lt;/td&gt;
&lt;td style=&quot;width: 39.8449%;&quot;&gt;단점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.5425%;&quot;&gt;GitPython&lt;/td&gt;
&lt;td style=&quot;width: 44.6125%;&quot;&gt;&lt;span&gt;객체 지향적 디자인으로 Git 리포지토리를 다양한 측면에서 조작 가능.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Python 코드에서 Git 작업을 직접 수행할 수 있음.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.8449%;&quot;&gt;&lt;span&gt;몇 가지 작업에서는 Git 명령보다 느릴 수 있음.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;다소 복잡한 인터페이스.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.5425%;&quot;&gt;GitCommand&lt;/td&gt;
&lt;td style=&quot;width: 44.6125%;&quot;&gt;&lt;span&gt;간단한 인터페이스로 Git 명령을 직접 실행할 수 있음.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;기존에 익숙한 사용자에게 적합.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.8449%;&quot;&gt;&lt;span&gt;좀 더 복잡한 작업을 처리하기에는 제한적일 수 있음.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;명령어 직접 사용은 보안 문제 일으킬 수 있음.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.5425%;&quot;&gt;sh&lt;/td&gt;
&lt;td style=&quot;width: 44.6125%;&quot;&gt;&lt;span&gt;쉘 명령을 직접 실행할 수 있는 간단한 구문을 제공.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;명령어 실행 결과를 파이썬 변수에 할당할 수 있음.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.8449%;&quot;&gt;&lt;span&gt;파이썬 3.x에서는 작동하지 않을 수 있음.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;쉘 명령을 직접 실행하는 것은 보안 문제 발생 가능.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.5425%;&quot;&gt;invoke&lt;/td&gt;
&lt;td style=&quot;width: 44.6125%;&quot;&gt;&lt;span&gt;작업 실행 및 스크립트 자동화에 용이.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;파라미터 및 설정 관리가 간편.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.8449%;&quot;&gt;&lt;span&gt;Git 명령을 직접 다루는 것보다는 추상화된 인터페이스를 제공하여 몇 가지 작업에서는 덜 직관적일 수 있음.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;추가적인 의존성 필요.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;각 모듈은 자체적인 특징과 장단점을 가지고 있습니다. GitPython은 유연성이 있지만 몇몇 작업에서는 느릴 수 있습니다. GitCommand와 sh는 간단하게 명령을 실행할 수 있지만, 더 복잡한 작업에는 제한적일 수 있습니다. invoke는 작업 실행 및 관리에 용이하지만 추상화로 인해 몇몇 작업에서는 직관성이 부족할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;프로젝트의 요구사항과 사용자의 개인적인 취향에 따라 선택해야 합니다. 단일 모듈이 아닌 상황에 따라 여러 모듈을 혼합하여 사용하는 것도 고려할 만합니다. Git 자동화를 위해 최적의 도구를 선택하면 개발 프로세스를 효과적으로 관리할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/890&quot;&gt;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701877640079&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&quot; data-og-description=&quot;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개 최근 git 관련된 포스팅 및 ChapGPT관련된 포스팅을 시작하면서, 파이썬[Python]관련된 포스팅을 못한 지 오래 된 것 같습니다. 그래서, 이&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/890&quot; data-og-url=&quot;https://appia.tistory.com/890&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Jc0OG/hyUIDBHuEQ/GsIu3vn1vWpREC6WgKTDn1/img.png?width=740&amp;amp;height=741&amp;amp;face=0_0_740_741,https://scrap.kakaocdn.net/dn/cSanuE/hyUIr2linH/30utSOD9gHmPsG49dNaj91/img.png?width=740&amp;amp;height=741&amp;amp;face=0_0_740_741,https://scrap.kakaocdn.net/dn/LzDy2/hyUIwJknWY/L4s0mxTp34PlmwQHQKDFy0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/890&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/890&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Jc0OG/hyUIDBHuEQ/GsIu3vn1vWpREC6WgKTDn1/img.png?width=740&amp;amp;height=741&amp;amp;face=0_0_740_741,https://scrap.kakaocdn.net/dn/cSanuE/hyUIr2linH/30utSOD9gHmPsG49dNaj91/img.png?width=740&amp;amp;height=741&amp;amp;face=0_0_740_741,https://scrap.kakaocdn.net/dn/LzDy2/hyUIwJknWY/L4s0mxTp34PlmwQHQKDFy0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개 최근 git 관련된 포스팅 및 ChapGPT관련된 포스팅을 시작하면서, 파이썬[Python]관련된 포스팅을 못한 지 오래 된 것 같습니다. 그래서, 이&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 파이썬[Python] Git 자동화를 위한 파이썬 모듈 소개 및 비교라는 주제로 포스팅을 진행해봤습니다. 실제, 저의 경우 실제 Git자동화를 준비하고 있는 입장이라서, 해당 모듈에 대해서 확인이 필요한 상태이기 때문에 이 부분에 대해서 공유하는 목적으로 포스팅을 진행해 봤습니다. 추가로, 소개했던 모듈 외에도, GitDB, PyGitHub등의 모듈이 추가로 존재합니다.&amp;nbsp; 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 응용</category>
      <category>git</category>
      <category>gitcommand</category>
      <category>gitpython</category>
      <category>Invoke</category>
      <category>python</category>
      <category>SH</category>
      <category>깃</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/893</guid>
      <comments>https://appia.tistory.com/893#entry893comment</comments>
      <pubDate>Thu, 7 Dec 2023 07:50:50 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내</title>
      <link>https://appia.tistory.com/892</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;이전&amp;nbsp;commit&amp;nbsp;확인&amp;nbsp;및&amp;nbsp;되돌아가기:&amp;nbsp;쉽고&amp;nbsp;빠른&amp;nbsp;방법&amp;nbsp;안내&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HMWTo/btsBvn5p7QK/7iYrKMmHJQazCTKB4MeLc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HMWTo/btsBvn5p7QK/7iYrKMmHJQazCTKB4MeLc1/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;Git&amp;amp;amp;nbsp;이전&amp;amp;amp;nbsp;commit&amp;amp;amp;nbsp;확인&amp;amp;amp;nbsp;및&amp;amp;amp;nbsp;되돌아가기:&amp;amp;amp;nbsp;쉽고&amp;amp;amp;nbsp;빠른&amp;amp;amp;nbsp;방법&amp;amp;amp;nbsp;안내&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HMWTo/btsBvn5p7QK/7iYrKMmHJQazCTKB4MeLc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHMWTo%2FbtsBvn5p7QK%2F7iYrKMmHJQazCTKB4MeLc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;799&quot; data-filename=&quot;git_이전commit_확인하기001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;이전&amp;amp;nbsp;commit&amp;amp;nbsp;확인&amp;amp;nbsp;및&amp;amp;nbsp;되돌아가기:&amp;amp;nbsp;쉽고&amp;amp;nbsp;빠른&amp;amp;nbsp;방법&amp;amp;nbsp;안내&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 git의 변경사항들에 대해서 임시저장을 할 수 있는 기능인 git stash에 대해서 사용하는 방법에 대해서 이야기했었습니다. git branch(브랜치)을 전환하는 데 있어서, 변경사항들을 임시로 저장하는 방법은 매우 중요한 기능입니다. 실제 작업을 하면서도 사용빈도도 매우 높은 편입니다. 물론, 가장 핵심인 기능은 바로 git stash / git stash pop이라는 것에 대해서는 다시 한번 강조하고 싶습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/888&quot;&gt;[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701788724233&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)&quot; data-og-description=&quot;[깃, Git] Git stash 다양한 사용법(apply, 다중 stash) 일단, 앞선 포스팅에서, Git Stash를 이용한 변경사항을 커밋하지 않고 branch를 전환하는 방법에 대해서 이야기를 해봤습니다. 실제, 앞선 포스팅에선&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/888&quot; data-og-url=&quot;https://appia.tistory.com/888&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/WakRa/hyUIss8zxy/q3cYjmSr48C2BuCGYUSISk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/gCLVR/hyUE1cUdhd/eLBOzJNpXpxHMZELp2I3tK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dkyLv7/hyUIDIbAzz/QIwDNRE8kbv4JZy2E5w6Bk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/888&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/888&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/WakRa/hyUIss8zxy/q3cYjmSr48C2BuCGYUSISk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/gCLVR/hyUE1cUdhd/eLBOzJNpXpxHMZELp2I3tK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dkyLv7/hyUIDIbAzz/QIwDNRE8kbv4JZy2E5w6Bk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git stash 다양한 사용법(apply, 다중 stash) 일단, 앞선 포스팅에서, Git Stash를 이용한 변경사항을 커밋하지 않고 branch를 전환하는 방법에 대해서 이야기를 해봤습니다. 실제, 앞선 포스팅에선&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 과거 commit에 대해서 확인하고, 현재로 다시 돌아오는 방법에 대해서 한번 살펴보고자 합니다. 이 또한 매우 자주 사용되는 기능입니다. 먼저, 이전에 만들어놓은 Repository 기준으로 다음 표시되는 commit 기준의 항목을 확인을 하고, 다시 현재의 상태로 돌아오는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기002.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btZNsA/btsBtJVMzmd/cchCwJyEd5tXFbeOOKRfFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btZNsA/btsBtJVMzmd/cchCwJyEd5tXFbeOOKRfFK/img.png&quot; data-alt=&quot;확인할 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btZNsA/btsBtJVMzmd/cchCwJyEd5tXFbeOOKRfFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtZNsA%2FbtsBtJVMzmd%2FcchCwJyEd5tXFbeOOKRfFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;git_이전commit_확인하기002.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;확인할 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, commit을 확인하기 위해서는 git checkout을 사용합니다. 물론, 이전에도 언급을 드렸지만, 실제 git checkout의 경우 다양한 기능을 수행합니다. 하지만, 확실히 중요한 명령어인 것은 사실입니다. 먼저, 이 부분을 통해서, 이전 commit 상태로 확인하는 방법을 보면 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701789929689&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout [commit hash]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 위에서 언급된 commit hash를 확인하기 위해서 다음 명령어를 통해서 현재 commit 정보를 확인하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701789969739&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log --oneline&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, git log명령어를 통해서 전체 commit hash를 사용해도 되지만, --oneline 옵션에 사용되는 앞 7자리만 사용하셔도 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eKpKpn/btsBqJ3c2DB/5mYwLKypgmLMdOzlohbehK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eKpKpn/btsBqJ3c2DB/5mYwLKypgmLMdOzlohbehK/img.png&quot; data-alt=&quot;git log --oneline 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eKpKpn/btsBqJ3c2DB/5mYwLKypgmLMdOzlohbehK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeKpKpn%2FbtsBqJ3c2DB%2F5mYwLKypgmLMdOzlohbehK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;git_이전commit_확인하기003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log --oneline 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 다음 명령어를 직접 실행하여 이전 commit을 확인해보도록 하겠습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1701790069357&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout 8531a31&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ca6eeO/btsBqz0FqBT/WVBBqnm6WKi2WiqVKBE0S0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ca6eeO/btsBqz0FqBT/WVBBqnm6WKi2WiqVKBE0S0/img.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;git_이전commit_확인하기004.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ca6eeO/btsBqz0FqBT/WVBBqnm6WKi2WiqVKBE0S0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fca6eeO%2FbtsBqz0FqBT%2FWVBBqnm6WKi2WiqVKBE0S0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc1nPP/btsBrcRBrJe/SHReeCkTkH0Fsnu4L8gZo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc1nPP/btsBrcRBrJe/SHReeCkTkH0Fsnu4L8gZo0/img.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;git_이전commit_확인하기005.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc1nPP/btsBrcRBrJe/SHReeCkTkH0Fsnu4L8gZo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc1nPP%2FbtsBrcRBrJe%2FSHReeCkTkH0Fsnu4L8gZo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git check out [commit hash]결과&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 다시 한번 git log --oneline 명령어를 통해서 현재 commit 상태를 확인을 해보도록 하겠습니다. 하기와 같이 보시는 바와 같이 이전에 목포로 한 부분 이후에 commit된 내용들은 안보입니다. 단, 현재 repository 디렉토리 옆에 보이는 부분과 HEAD 표시가 약간 이전과 상이하다는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기006.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdwyiW/btsBvpPG5KC/koC5NZ6wqrnbyuvHava8O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdwyiW/btsBvpPG5KC/koC5NZ6wqrnbyuvHava8O0/img.png&quot; data-alt=&quot;git checkout [commit hash] 이후에 git log --oneline 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdwyiW/btsBvpPG5KC/koC5NZ6wqrnbyuvHava8O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdwyiW%2FbtsBvpPG5KC%2FkoC5NZ6wqrnbyuvHava8O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;728&quot; height=&quot;468&quot; data-filename=&quot;git_이전commit_확인하기006.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout [commit hash] 이후에 git log --oneline 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 GitKraken에서 한번 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기007.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YQfaG/btsBvmZJT1J/wI05hcZXzWpums9kdGtqQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YQfaG/btsBvmZJT1J/wI05hcZXzWpums9kdGtqQ0/img.png&quot; data-alt=&quot;gitkraken에서 본 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YQfaG/btsBvmZJT1J/wI05hcZXzWpums9kdGtqQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYQfaG%2FbtsBvmZJT1J%2FwI05hcZXzWpums9kdGtqQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;git_이전commit_확인하기007.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitkraken에서 본 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아시는 분들은 아시겠지만, 현재 약간 이상함을 느낄 수 있습니다. 바로 다음 그림에서 그 원인에 대해서 이야기를 해보도록 하겠습니다. 원래 HEAD는 각 브랜치의 최신 commit을 가리키고 있습니다. 하지만, git checkout [commit hash] 명령어를 사용할 결과는 다음과 같은 결과를 나타낼 수 있습니다. 즉, 브랜치의&amp;nbsp; 최신 commit이 아니라, 이전 commit을 HEAD가 가리키고 있는 상태입니다. 우리는 이것을 Detached HEAD라고도 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기008.png&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXuaiq/btsBupbAqRJ/F3ckN0WUhMLAOLXUQBUYtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXuaiq/btsBupbAqRJ/F3ckN0WUhMLAOLXUQBUYtK/img.png&quot; data-alt=&quot;Detached HEAD의 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXuaiq/btsBupbAqRJ/F3ckN0WUhMLAOLXUQBUYtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXuaiq%2FbtsBupbAqRJ%2FF3ckN0WUhMLAOLXUQBUYtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;292&quot; data-filename=&quot;git_이전commit_확인하기008.png&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Detached HEAD의 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 Detached HEAD 상태에서, 다시 현재의 branch의 최신 commit으로 HEAD을 돌리기 위해서는 git switch 명령어를 통해서 브랜치를 전환해 주시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;git_이전commit_확인하기010.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kwwKx/btsBrN5cUjD/yKbPZ8CAEXheCA60d5rd21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kwwKx/btsBrN5cUjD/yKbPZ8CAEXheCA60d5rd21/img.png&quot; data-alt=&quot;git switch를 통한 현재로 되돌아가기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kwwKx/btsBrN5cUjD/yKbPZ8CAEXheCA60d5rd21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkwwKx%2FbtsBrN5cUjD%2FyKbPZ8CAEXheCA60d5rd21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;728&quot; height=&quot;468&quot; data-filename=&quot;git_이전commit_확인하기010.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git switch를 통한 현재로 되돌아가기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 위의 보이는 그림과 같이 현재로 되돌아가기가 성공하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/875&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701790711416&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/875&quot; data-og-url=&quot;https://appia.tistory.com/875&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/pHIjS/hyUE5fkrKO/y9nDsHeeKlj2xbvFd7BN3k/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/dhfEO2/hyUE3ofH3k/JCad8mDlJEkvASE2RqmtLK/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/bmWcmL/hyUFb0RjOM/EckDcjcFuwyddt1c6J7lnK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/875&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/875&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/pHIjS/hyUE5fkrKO/y9nDsHeeKlj2xbvFd7BN3k/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/dhfEO2/hyUE3ofH3k/JCad8mDlJEkvASE2RqmtLK/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/bmWcmL/hyUFb0RjOM/EckDcjcFuwyddt1c6J7lnK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내라는 주제로 포스팅을 해봤습니다. 실제로, 이 부분은 매우 많이 사용되는 부분이기 때문에, 이 부분을 토대로 작업하실 때에, 이전 commit등을 확인하실 때에 매우 유용하게 사용하실 수 있을 것이라고 생각합니다. 작업하시다가 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 도움이 되셨다면, 공감 및 소통 부탁드립니다. 감사합니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>깃</category>
      <category>이전commit</category>
      <category>이전커밋확인</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/892</guid>
      <comments>https://appia.tistory.com/892#entry892comment</comments>
      <pubDate>Wed, 6 Dec 2023 07:42:36 +0900</pubDate>
    </item>
    <item>
      <title>파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개</title>
      <link>https://appia.tistory.com/890</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;미국 주식 파이썬 모듈 전격 소개001.png&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;741&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQmsP5/btsBh47zX42/MujNau6PkUGO0M8VzKkLwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQmsP5/btsBh47zX42/MujNau6PkUGO0M8VzKkLwK/img.png&quot; data-alt=&quot;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQmsP5/btsBh47zX42/MujNau6PkUGO0M8VzKkLwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQmsP5%2FbtsBh47zX42%2FMujNau6PkUGO0M8VzKkLwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;740&quot; height=&quot;741&quot; data-filename=&quot;미국 주식 파이썬 모듈 전격 소개001.png&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;741&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;최근 git 관련된 포스팅 및 ChapGPT관련된 포스팅을 시작하면서, 파이썬[Python]관련된 포스팅을 못한 지 오래 된 것 같습니다. 그래서, 이번 포스팅에서 미국 주식 관련된 모듈에 대해서 이야기를 해볼까 합니다. 크게 인기 있는 파이썬 모듈에 대해서 이야기를 해보면, 크게 4가지 정도 되는 것 같습니다. 그 부분에 대해서 이야기를 해볼까 합니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/500&quot;&gt;Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701526294272&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치&quot; data-og-description=&quot;Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치 이전 포스팅에서 국내 주식 정보를 췩득하기 위해서 Pykrx이라는 모듈을 설치하곤 하였습니다. 국내 주식 분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/500&quot; data-og-url=&quot;https://appia.tistory.com/500&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/GfUSH/hyUIGj7gzA/D6Ln9mWeC1hkU4mLeLDbW0/img.png?width=750&amp;amp;height=751&amp;amp;face=0_0_750_751,https://scrap.kakaocdn.net/dn/rTVTJ/hyUFc52vEh/aoJUUQWPB4Dh9y7UJsusG1/img.png?width=750&amp;amp;height=751&amp;amp;face=0_0_750_751,https://scrap.kakaocdn.net/dn/bdKrbW/hyUE8vNSki/1nN6haQX8kWZFbsaYnUOj1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/500&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/500&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/GfUSH/hyUIGj7gzA/D6Ln9mWeC1hkU4mLeLDbW0/img.png?width=750&amp;amp;height=751&amp;amp;face=0_0_750_751,https://scrap.kakaocdn.net/dn/rTVTJ/hyUFc52vEh/aoJUUQWPB4Dh9y7UJsusG1/img.png?width=750&amp;amp;height=751&amp;amp;face=0_0_750_751,https://scrap.kakaocdn.net/dn/bdKrbW/hyUE8vNSki/1nN6haQX8kWZFbsaYnUOj1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Python[파이썬 주식] 국내, 미국 주식 정보 모으기(스크래핑) - FinanceDataReader 모듈 설치 이전 포스팅에서 국내 주식 정보를 췩득하기 위해서 Pykrx이라는 모듈을 설치하곤 하였습니다. 국내 주식 분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 이전에도 FinanceDataReader 모듈을 통해서, 해당 부분에 대해서 읽어오는 방법에 대해서 이야기를 해본적이 있습니다. 하지만, 이 외에도 다양한 모듈들을 사용할 수가 있습니다. 그럼 이야기를 시작해보도록 하겠습니다. 가장 많이 사용되는 모듈들을 이야기 해본다면 다음 4가지 일 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. ccxt&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. yfinance&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. alpha_vantage&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. pandas_datareader&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 각 부분에 대해서 이야기를 해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. ccxt&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;ccxt는 다양한 거래소에서 거래 데이터를 가져오기 위한 라이브러리로, 거래와 관련된 다양한 기능을 지원합니다. 거래소에 따라 다양한 기능을 제공하며, 거래 및 마켓 데이터, 주문 실행 등 다양한 기능을 지원합니다. 100개 이상의 거래소를 지원하며, Binance, Coinbase, Kraken 등이 포함됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;설치 방법 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701526718309&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install ccxt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;간단한 사용 예제를 보면 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701526760246&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import ccxt

# 거래소 객체 생성
exchange = ccxt.binance()  # Binance 예시

# 티커 데이터 가져오기
symbol = 'BTC/USDT'
ticker = exchange.fetch_ticker(symbol)

# 데이터 출력
print(ticker)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. yfinance&amp;nbsp; &lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;yfinance는 Yahoo Finance에서 금융 데이터를 가져오는 데 사용되며, 간편한 인터페이스를 제공합니다. 기본적인 주가 데이터 및 몇 가지 금융 지표에 초점을 두고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;설치 방법 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701526817885&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install yfinance&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;간단한 사용 예제를 보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701526888084&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import yfinance as yf

# 주식 데이터 가져오기
stock_data = yf.download('AAPL', start='2022-01-01', end='2023-01-01')

# 데이터 출력
print(stock_data)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; 3. alpha_vantage&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Alpha Vantage는 자체 API를 통해 금융 데이터를 제공합니다. Alpha Vantage는 무료 계정에서 사용 가능하며, 기본적인 금융 데이터에 대한 무료 액세스를 제공합니다. 다만, 일일 API 쿼터가 제한되어 있습니다. 주가 데이터뿐만 아니라 기술적 지표, 섹터 성과, 환율 등 다양한 종류의 금융 데이터를 지원합니다.Alpha&amp;nbsp;Vantage를&amp;nbsp;사용하려면&amp;nbsp;API&amp;nbsp;키가&amp;nbsp;필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.alphavantage.co/#page-top&quot;&gt;Free Stock APIs in JSON &amp;amp; Excel | Alpha Vantage&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701527011073&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free Stock APIs in JSON &amp;amp; Excel | Alpha Vantage&quot; data-og-description=&quot;Copyright &amp;copy; Alpha Vantage Inc. 2017-2023 | Site last updated: November 2023 | Boston, Massachusetts | Terms of Service | Privacy Policy&quot; data-og-host=&quot;www.alphavantage.co&quot; data-og-source-url=&quot;https://www.alphavantage.co/#page-top&quot; data-og-url=&quot;https://www.alphavantage.co/#page-top&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dInfRW/hyUE2I6fwl/1iA89TYbaRx93MgBPjalhK/img.jpg?width=980&amp;amp;height=1272&amp;amp;face=0_0_980_1272&quot;&gt;&lt;a href=&quot;https://www.alphavantage.co/#page-top&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.alphavantage.co/#page-top&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dInfRW/hyUE2I6fwl/1iA89TYbaRx93MgBPjalhK/img.jpg?width=980&amp;amp;height=1272&amp;amp;face=0_0_980_1272');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free Stock APIs in JSON &amp;amp; Excel | Alpha Vantage&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Copyright &amp;copy; Alpha Vantage Inc. 2017-2023 | Site last updated: November 2023 | Boston, Massachusetts | Terms of Service | Privacy Policy&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.alphavantage.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;설치 방법 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701527072011&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install alpha_vantage&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;사용 예제 :&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701527097367&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from alpha_vantage.timeseries import TimeSeries

# API 키 설정
api_key = 'YOUR_API_KEY'
ts = TimeSeries(key=api_key)

# 주식 데이터 가져오기
symbol = 'AAPL'
data, meta_data = ts.get_daily(symbol=symbol, outputsize='full')

# 데이터 출력
print(data)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. pandas_datareader&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;pandas_datareader는 다양한 데이터 소스에서 금융 데이터를 가져오는 패키지로, 사용자가 특정 데이터 제공업체를 선택할 수 있습니다. Yahoo Finance, Google Finance, FRED 등 다양한 데이터 소스를 지원합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;설치 방법 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701527240567&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pandas_datareader&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;사용 예제 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701527279703&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import pandas_datareader as pdr
import datetime

# 주식 데이터 가져오기
symbol = 'AAPL'
start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2023, 1, 1)

stock_data = pdr.get_data_yahoo(symbol, start_date, end_date)

# 데이터 출력
print(stock_data)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 4가지 모듈에 대한 장단점에 대해서 표로 간단히 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 164px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 31.3566%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 31.589%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.0543%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;단점&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 31.3566%; height: 16px;&quot;&gt;ccxt&lt;/td&gt;
&lt;td style=&quot;width: 31.589%; height: 16px;&quot;&gt;&lt;b&gt;다양한 거래소 지원&lt;/b&gt; &lt;br /&gt;&lt;b&gt;다양한 기능 제공&lt;br /&gt;&lt;b&gt;많은 데이터 소스&lt;/b&gt; &lt;br /&gt;&lt;/b&gt; &lt;b&gt;Pandas와의 통합&lt;/b&gt; &lt;br /&gt;&lt;b&gt;풍부한 문서와 커뮤니티&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.0543%; height: 16px;&quot;&gt;&lt;b&gt;높은 학습의 선행이 요구됨&lt;br /&gt;&lt;b&gt;일부 거래소는 API 변경에 민감&lt;/b&gt; &lt;br /&gt;&lt;b&gt;모든 거래소에서 일관된 데이터 제공 어려움&lt;/b&gt; &lt;br /&gt;&lt;b&gt;무료와 유료 계정의 쿼터 제한&lt;/b&gt; &lt;br /&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 31.3566%; height: 16px;&quot;&gt;yfinance&lt;/td&gt;
&lt;td style=&quot;width: 31.589%; height: 16px;&quot;&gt;&lt;b&gt;데이터의 품질과 완전성&lt;/b&gt; &lt;br /&gt;&lt;b&gt;간편한 사용&lt;/b&gt; &lt;br /&gt;&lt;b&gt;무료&lt;/b&gt; &lt;br /&gt;&lt;b&gt;다양한 금융 지표&lt;/b&gt; &lt;br /&gt;&lt;b&gt;Pandas와의 통합&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.0543%; height: 16px;&quot;&gt;&lt;b&gt;제한된 데이터 소스&lt;/b&gt; &lt;br /&gt;&lt;b&gt;API 변경에 민감&lt;br /&gt;&lt;b&gt;실시간 데이터 제공 어려움&lt;/b&gt; &lt;br /&gt;&lt;b&gt;무료라는 한계&lt;/b&gt; &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 31.3566%; height: 16px;&quot;&gt;alpha_vantage&lt;/td&gt;
&lt;td style=&quot;width: 31.589%; height: 16px;&quot;&gt;&lt;b&gt;무료 계정 제공&lt;/b&gt; &lt;br /&gt;&lt;b&gt;다양한 금융 지표 제공&lt;/b&gt; &lt;br /&gt;&lt;b&gt;간편한 사용&lt;/b&gt; &lt;br /&gt;&lt;b&gt;빠른 업데이트&lt;/b&gt; &lt;br /&gt;&lt;b&gt;사용자 친화적인 API 문서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.0543%; height: 16px;&quot;&gt;&lt;b&gt;무료 쿼터 제한&lt;br /&gt;&lt;b&gt;데이터의 제한된 역사(무료 계정)&lt;br /&gt;&lt;b&gt;유료 플랜의 필요성&lt;/b&gt; &lt;br /&gt;&lt;b&gt;제공되는 데이터 소스 제한&lt;/b&gt; &lt;/b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 100px;&quot;&gt;
&lt;td style=&quot;width: 31.3566%; height: 100px;&quot;&gt;pandas_datareader&lt;/td&gt;
&lt;td style=&quot;width: 31.589%; height: 100px;&quot;&gt;&lt;b&gt;간편한 사용&lt;/b&gt; &lt;br /&gt;&lt;b&gt;다양한 데이터 소스 지원&lt;/b&gt; &lt;br /&gt;&lt;b&gt;Pandas와의 통합&lt;/b&gt; &lt;br /&gt;&lt;b&gt;무료&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.0543%; height: 100px;&quot;&gt;&lt;b&gt;신뢰성 및 안정성(업데이트 빈도 제한)&lt;br /&gt;&lt;b&gt;제한된 데이터 범위&lt;br /&gt;&lt;b&gt;API 변경에 민감&lt;br /&gt;&lt;/b&gt;&lt;b&gt;실시간 데이터 제공 어려움&lt;br /&gt;&lt;b&gt;한계된 데이터 종류&lt;/b&gt; &lt;/b&gt; &lt;/b&gt; &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같이 미국 주식을 지원하는 4가지 파이썬 모듈에 대해서 알아봤습니다. 각자의 장단점이 있기 때문에, 모두 부분을 잘 활용하여, 이용하시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/524&quot;&gt;Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701527877294&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader&quot; data-og-description=&quot;Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기 - FinanceDataReader 앞선 포스팅에서는 FinanceDataReader에서 지원하는 거래소(한국 및 미국 주식)의 관련된 심볼에 대해서 확인하면서 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/524&quot; data-og-url=&quot;https://appia.tistory.com/524&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bwWtaB/hyUIDOspnw/70KsJQBfC1l4VPR2vu4uS0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dspP2D/hyUE23pSS7/bUZvE8wvkjHgajFFFvty6K/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dahcig/hyUE83D8cl/uKaiSZATY1KUiNlBKKTqS1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/524&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/524&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bwWtaB/hyUIDOspnw/70KsJQBfC1l4VPR2vu4uS0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dspP2D/hyUE23pSS7/bUZvE8wvkjHgajFFFvty6K/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dahcig/hyUE83D8cl/uKaiSZATY1KUiNlBKKTqS1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기- FinanceDataReader&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Python[파이썬 주식] 미국 주식 종목(SP500, NASDAQ) 정보 CSV로 추출하기 - FinanceDataReader 앞선 포스팅에서는 FinanceDataReader에서 지원하는 거래소(한국 및 미국 주식)의 관련된 심볼에 대해서 확인하면서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 파이썬[Python] 미국 주식 파이썬 모듈/라이브러리 전격 소개라는 주제로 포스팅을 진행해봤습니다. 이 부분을 토대로, 투자 지표 및 원하시는 투자 데이터를 생성하시는 분들에게 도움이 되시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/Python 응용</category>
      <category>alpha_vantage</category>
      <category>ccxt</category>
      <category>pandas_datreader</category>
      <category>python</category>
      <category>yfinance</category>
      <category>미국주식</category>
      <category>파이썬</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/890</guid>
      <comments>https://appia.tistory.com/890#entry890comment</comments>
      <pubDate>Mon, 4 Dec 2023 07:39:11 +0900</pubDate>
    </item>
    <item>
      <title>[ChatGPT] OpenAI 계정 생성 하기 및 처음 시작하기</title>
      <link>https://appia.tistory.com/889</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[ChatGPT]&amp;nbsp;OpenAI&amp;nbsp;계정&amp;nbsp;생성&amp;nbsp;하기&amp;nbsp;및&amp;nbsp;처음&amp;nbsp;시작하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XChCI/btsBjP2kD22/n9fQymJebKNF0ExRKWIT4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XChCI/btsBjP2kD22/n9fQymJebKNF0ExRKWIT4K/img.png&quot; data-alt=&quot;[ChatGPT] OpenAI 계정 생성 하기 및 처음 시작하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XChCI/btsBjP2kD22/n9fQymJebKNF0ExRKWIT4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXChCI%2FbtsBjP2kD22%2Fn9fQymJebKNF0ExRKWIT4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;720&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[ChatGPT] OpenAI 계정 생성 하기 및 처음 시작하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;요새 ChatGPT에 대한 다양한 이야기가 나오고 있습니다. 물론, 대부분 코딩에서부터 다양한 영역까지 ChatGPT를 활용하는 기술들이 나오는 것에 대해서 매우 다양한 시각들이 존재합니다. 저는 이 시점에서, ChatGPT라는 것에 긍정적인 부분 부정적인 부분을 따지기 전에 반드시 이 부분에 대해서는 알고 있어야 한다고 생각합니다. 그래서 이번 포스팅에서는 ChatGPT를 시작하기 위한 첫걸음인, ChatGPT를 제공하는 OpenAI에 계정을 생성하고, 직접 ChatGPT를 통해서 검색을 해보는 방법에 대해서 포스팅을 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, ChatGPT 관련해서 접근하기 위해서는 하기 링크를 통해서 접근하시거나, 아니면, 구글을 통해서 ChatGPT를 검색하시면됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://chat.openai.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://chat.openai.com/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 다음과 같은 페이지가 나타날 것입니다. 여기에서, 처음 하시는 분들은 아마도, OpenAI계정이 없을 것입니다. 그래서, 이 하기에 보이는 [Sign up]부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LaznG/btsBj6JJww0/5l2wIO8KGANRCjnDIpBn2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LaznG/btsBj6JJww0/5l2wIO8KGANRCjnDIpBn2K/img.png&quot; data-alt=&quot;Chat.openai.com 페이지 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LaznG/btsBj6JJww0/5l2wIO8KGANRCjnDIpBn2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLaznG%2FbtsBj6JJww0%2F5l2wIO8KGANRCjnDIpBn2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Chat.openai.com 페이지 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정을 진행하시면, 다음과 같이 계정에 사용할 Email주소를 입력하도록 합니다. 저의 경우에는 google에서 제공하는 gmail을 바탕으로 진행을 할 예정입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pbOof/btsBj5RzM1M/UjdmA84McVH7kRJJnp7KfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pbOof/btsBj5RzM1M/UjdmA84McVH7kRJJnp7KfK/img.png&quot; data-alt=&quot;계정 이메일 입력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pbOof/btsBj5RzM1M/UjdmA84McVH7kRJJnp7KfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpbOof%2FbtsBj5RzM1M%2FUjdmA84McVH7kRJJnp7KfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;계정 이메일 입력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;사람들마다 다 선호하는 메일이 다르지만, Google의 경우 대부분 사용자들이 사용을 하고 있고, 또한 향후에도 사용이 빈번하기 때문에 없을 경우에, 이참에 생성해보시는 것도 좋을 것 같습니다. ( 하기 링크 참조)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/844&quot;&gt;[윈도우11, windows11] 구글(Google) 계정 생성하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701498392749&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kcYwM/hyUIvbKL3c/KYz8VYORljvsX9B37PS2J0/img.png?width=711&amp;amp;height=711&amp;amp;face=0_0_711_711,https://scrap.kakaocdn.net/dn/oBv2p/hyUE5sfLIH/zGwAgrrEmIoV1tpscrDBF1/img.png?width=711&amp;amp;height=711&amp;amp;face=0_0_711_711,https://scrap.kakaocdn.net/dn/dGiKsY/hyUIy7nXsG/H9zszGzD6ppS8XkuCIJUok/img.png?width=1280&amp;amp;height=1032&amp;amp;face=0_0_1280_1032&quot; data-og-url=&quot;https://appia.tistory.com/844&quot; data-og-source-url=&quot;https://appia.tistory.com/844&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-description=&quot;[윈도우11, windows11] 구글(Google) 계정 생성하기 어느 새 우리의 환경은 구글과 떨어져서 살수 없는 환경이 되어 버린 것 같습니다. 그래서 이번 포스팅에서는 구글에서 가장 기본적인 계정 생성하&quot; data-og-title=&quot;[윈도우11, windows11] 구글(Google) 계정 생성하기&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/844&quot; data-source-url=&quot;https://appia.tistory.com/844&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kcYwM/hyUIvbKL3c/KYz8VYORljvsX9B37PS2J0/img.png?width=711&amp;amp;height=711&amp;amp;face=0_0_711_711,https://scrap.kakaocdn.net/dn/oBv2p/hyUE5sfLIH/zGwAgrrEmIoV1tpscrDBF1/img.png?width=711&amp;amp;height=711&amp;amp;face=0_0_711_711,https://scrap.kakaocdn.net/dn/dGiKsY/hyUIy7nXsG/H9zszGzD6ppS8XkuCIJUok/img.png?width=1280&amp;amp;height=1032&amp;amp;face=0_0_1280_1032');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] 구글(Google) 계정 생성하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] 구글(Google) 계정 생성하기 어느 새 우리의 환경은 구글과 떨어져서 살수 없는 환경이 되어 버린 것 같습니다. 그래서 이번 포스팅에서는 구글에서 가장 기본적인 계정 생성하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 [Continue with Google] 부분을 클릭하고 나면, 다음과 같이 현재로그인 되어 있는 google email이 나타날 것입니다. 이 부분을 선택하시면 됩니다. (로그인이 안되어 있을 경우, 로그인을 하는 화면이 나타납니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3LjjA/btsBhVoW0Ju/bB142cYAGD0m268jYkXya1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3LjjA/btsBhVoW0Ju/bB142cYAGD0m268jYkXya1/img.png&quot; data-alt=&quot;계정으로 사용할 이메일 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3LjjA/btsBhVoW0Ju/bB142cYAGD0m268jYkXya1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3LjjA%2FbtsBhVoW0Ju%2FbB142cYAGD0m268jYkXya1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;계정으로 사용할 이메일 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나면, 이름과 생년월일에 대한 정보를 입력하도록 합니다. 이름의 경우에는 Gmail에 연결된 이름을 자동으로 불러옵니다. 그리고 나서, (선택적으로) 생년월일을 입력하고 [Agree]버튼을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAIw7R/btsBjE0VBt1/aKDsYwwTqCLaSCXW6NYR7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAIw7R/btsBjE0VBt1/aKDsYwwTqCLaSCXW6NYR7k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot; data-filename=&quot;005.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAIw7R/btsBjE0VBt1/aKDsYwwTqCLaSCXW6NYR7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAIw7R%2FbtsBjE0VBt1%2FaKDsYwwTqCLaSCXW6NYR7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YI8nn/btsBj7BQr5F/boXqBMiKJYoC7qQsHuY1N0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YI8nn/btsBj7BQr5F/boXqBMiKJYoC7qQsHuY1N0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot; data-filename=&quot;006.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YI8nn/btsBj7BQr5F/boXqBMiKJYoC7qQsHuY1N0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYI8nn%2FbtsBj7BQr5F%2FboXqBMiKJYoC7qQsHuY1N0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;이름 및 생년월일 입력&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 매크로로 가입을 하는 것인지에 대한 확인을 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EIWOZ/btsBgwbXZKF/ywE95HhQ2qL5bxeMS05Nk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EIWOZ/btsBgwbXZKF/ywE95HhQ2qL5bxeMS05Nk1/img.png&quot; data-alt=&quot;사람이 가입을 시도한 것인지에 대한 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EIWOZ/btsBgwbXZKF/ywE95HhQ2qL5bxeMS05Nk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEIWOZ%2FbtsBgwbXZKF%2FywE95HhQ2qL5bxeMS05Nk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;사람이 가입을 시도한 것인지에 대한 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 정상적인 가입절차가 모두 끝나고 다음과 같은 화면이 나타날 것입니다. 여기에서 가운데 하단에 ChatGPT를 통해서 얻고자 하는 정보를 입력하시면 대답을 얻을 수 있습니다. 그 전에 몇가지 확인을 해보고자 합니다. 먼저 가격 정책입니다. 일단, 좌측 하단에 다음과 같이 보이는 부분에 [Upgrade]라는 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfN2co/btsBimmvqVq/hVIgKpoByK8FKPWGgfUDkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfN2co/btsBimmvqVq/hVIgKpoByK8FKPWGgfUDkk/img.png&quot; data-alt=&quot;가입 완료 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfN2co/btsBimmvqVq/hVIgKpoByK8FKPWGgfUDkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfN2co%2FbtsBimmvqVq%2FhVIgKpoByK8FKPWGgfUDkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가입 완료 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 무료, 유로 정보에 대해서 명시가 되어 있습니다. 일단, 처음 하시는 분들에게 Free 버전도 충분할 것이라고 생각합니다. (저의 경우, 특정 목적이 있어서 향후에 구매 예정입니다.)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qVDVb/btsBiuq6KfO/UU88khX4GASuk8HeYfQhRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qVDVb/btsBiuq6KfO/UU88khX4GASuk8HeYfQhRK/img.png&quot; data-alt=&quot;ChatGPT 가격정책&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qVDVb/btsBiuq6KfO/UU88khX4GASuk8HeYfQhRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqVDVb%2FbtsBiuq6KfO%2FUU88khX4GASuk8HeYfQhRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ChatGPT 가격정책&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 간단히 ChatGPT란 무엇인가요?라는 질문을 한번 남겨보겠습니다. 이랬더니, 다음과 같은 화면의 글과 같이 답변을 주었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3S49k/btsBh4Nb570/IP11XtSKt2HlqPoUGY2RDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3S49k/btsBh4Nb570/IP11XtSKt2HlqPoUGY2RDK/img.png&quot; data-alt=&quot;ChatGPT에 구동 예정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3S49k/btsBh4Nb570/IP11XtSKt2HlqPoUGY2RDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3S49k%2FbtsBh4Nb570%2FIP11XtSKt2HlqPoUGY2RDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ChatGPT에 구동 예정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span&gt;질문 : ChatGPT란 무엇인가요?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;답 :&amp;nbsp;ChatGPT는 OpenAI가 개발한 대화형 인공 지능(AI) 언어 모델 중 하나입니다. GPT은 &quot;Generative Pre-trained Transformer&quot;의 약자이며, 이 모델은 대규모 텍스트 데이터를 학습하여 다양한 자연어 처리 작업에 사용할 수 있는 다목적 언어 모델입니다.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;ChatGPT는 GPT-3.5 아키텍처를 기반으로 하며, 이 모델은 대화형 상황에서 사람과 자연스럽게 대화할 수 있도록 훈련되었습니다. ChatGPT는 사용자의 입력에 대해 응답을 생성하며, 다양한 주제에 대한 정보를 제공하고 다양한 작업을 수행할 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;OpenAI는 GPT 시리즈를 통해 대규모의 텍스트 데이터로 사전 훈련된 모델을 제공함으로써, 다양한 언어 작업에 적용할 수 있는 강력하고 다용도의 언어 모델을 개발하였습니다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #374151; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;물론, 약간의 단점도 있습니다. 바로 데이터의 최신화 여부입니다. 제가 간단히 ChatGPT3.5와 4.0의 차이점에 대해서 문의를 하였으나, 현재 지식 기준은 22년 1월까지라는 점을 명시하고 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;389&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b87K1h/btsBgc5VRv3/L6qusRsbmCyK5kclXjuWDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b87K1h/btsBgc5VRv3/L6qusRsbmCyK5kclXjuWDK/img.png&quot; data-alt=&quot;ChatGPT의 한계 - 데이터의 최신화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b87K1h/btsBgc5VRv3/L6qusRsbmCyK5kclXjuWDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb87K1h%2FbtsBgc5VRv3%2FL6qusRsbmCyK5kclXjuWDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;389&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;389&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ChatGPT의 한계 - 데이터의 최신화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이런 단점을 가지고 있지만, 그럼에도 확연히 매력적인 것이라는 것을 모두가 알고 있습니다. 이와 같은 방법으로 ChatGPT를 사용하기 위한 OpenAI 계정 생성및 간단한 쿼리를 통해서 ChatGPT를 실행해봤습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/837&quot;&gt;[윈도우11, windows11] 넷플릭스 API 사용을 위한 Rapidapi 가입하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701499944683&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11, windows11] 넷플릭스 API 사용을 위한 Rapidapi 가입하기&quot; data-og-description=&quot;[윈도우11, windows11] 넷플릭스 API 사용을 위한 Rapidapi 가입하기 현재 나의 생활에서 넷플릭스는 매우 중요한 영역을 차지하는 것 같습니다. 그래서 종종 넷플릭스(Netflix)의 순위등에 대해서 관심을&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/837&quot; data-og-url=&quot;https://appia.tistory.com/837&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/sGP7z/hyUE9g8fnG/jQKDzWs8vgoyEx6wuL5Dg0/img.png?width=712&amp;amp;height=710&amp;amp;face=0_0_712_710,https://scrap.kakaocdn.net/dn/ttopJ/hyUIGdhAes/LIqzlLvy7Tu7IxK6BTH0Ik/img.png?width=712&amp;amp;height=710&amp;amp;face=0_0_712_710,https://scrap.kakaocdn.net/dn/b8b5Yb/hyUIDARohr/ydS04uW1ADO4EKpjDLs7QK/img.png?width=1280&amp;amp;height=1032&amp;amp;face=0_0_1280_1032&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/837&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/837&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/sGP7z/hyUE9g8fnG/jQKDzWs8vgoyEx6wuL5Dg0/img.png?width=712&amp;amp;height=710&amp;amp;face=0_0_712_710,https://scrap.kakaocdn.net/dn/ttopJ/hyUIGdhAes/LIqzlLvy7Tu7IxK6BTH0Ik/img.png?width=712&amp;amp;height=710&amp;amp;face=0_0_712_710,https://scrap.kakaocdn.net/dn/b8b5Yb/hyUIDARohr/ydS04uW1ADO4EKpjDLs7QK/img.png?width=1280&amp;amp;height=1032&amp;amp;face=0_0_1280_1032');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] 넷플릭스 API 사용을 위한 Rapidapi 가입하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] 넷플릭스 API 사용을 위한 Rapidapi 가입하기 현재 나의 생활에서 넷플릭스는 매우 중요한 영역을 차지하는 것 같습니다. 그래서 종종 넷플릭스(Netflix)의 순위등에 대해서 관심을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [ChatGPT] OpenAI 계정 생성 하기 및 처음 시작하기라는 주제로 이야기를 해봈습니다. 저는 ChatGPT에 대해서 다루어보고 나서, 이 부분을 다른 프로그래밍 언어와 결합해서 다양한 형식에 대해서 포스팅을 지속적으로 진행해보고자 합니다. 혹 진행하시다가 궁금하신점이나 무의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>ChatGPT/Basic</category>
      <category>ChatGPT</category>
      <category>ChatGPT해보기</category>
      <category>OpenAI</category>
      <category>OpenAI계정생성</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/889</guid>
      <comments>https://appia.tistory.com/889#entry889comment</comments>
      <pubDate>Sun, 3 Dec 2023 07:53:19 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)</title>
      <link>https://appia.tistory.com/888</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;stash&amp;nbsp;다양한&amp;nbsp;사용법(apply,&amp;nbsp;다중&amp;nbsp;stash)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YtbFD/btsBindEy3D/EwTziT8RwcRDDrB2ydo9Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YtbFD/btsBindEy3D/EwTziT8RwcRDDrB2ydo9Hk/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;Git&amp;amp;amp;nbsp;stash&amp;amp;amp;nbsp;다양한&amp;amp;amp;nbsp;사용법(apply,&amp;amp;amp;nbsp;다중&amp;amp;amp;nbsp;stash)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YtbFD/btsBindEy3D/EwTziT8RwcRDDrB2ydo9Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYtbFD%2FbtsBindEy3D%2FEwTziT8RwcRDDrB2ydo9Hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;799&quot; data-filename=&quot;0001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;stash&amp;amp;nbsp;다양한&amp;amp;nbsp;사용법(apply,&amp;amp;nbsp;다중&amp;amp;nbsp;stash)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단, 앞선 포스팅에서, Git Stash를 이용한 변경사항을 커밋하지 않고 branch를 전환하는 방법에 대해서 이야기를 해봤습니다. 실제, 앞선 포스팅에선 언급한 내용을 가장 많이 사용하나, 그 외에도 다양한 방법들에 대해서 이야기를 해보고자 합니다. 그래서 이번 포스팅에서는 앞선 포스팅에서 언급하지 않은 다양한 git stash 사용방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/887&quot;&gt;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701409000604&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기&quot; data-og-description=&quot;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기 이전 포스팅에서는 git diff를 이용하여, 다양한 조건에서의 차이점을 비교하는 방법에 대해서 이야기르 해봤습니다. 물론, 여러번 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/887&quot; data-og-url=&quot;https://appia.tistory.com/887&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bxNH6n/hyUE4zPrF9/iWUKev8LJYTMuIwusraCQ1/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/czTTes/hyUE5FuPTA/uJhWofdhg7R6xVrde8sKlK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/ma5iJ/hyUE1iMoDF/XohkAxcPdg8BqVNxCzva0k/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/887&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/887&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bxNH6n/hyUE4zPrF9/iWUKev8LJYTMuIwusraCQ1/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/czTTes/hyUE5FuPTA/uJhWofdhg7R6xVrde8sKlK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/ma5iJ/hyUE1iMoDF/XohkAxcPdg8BqVNxCzva0k/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기 이전 포스팅에서는 git diff를 이용하여, 다양한 조건에서의 차이점을 비교하는 방법에 대해서 이야기르 해봤습니다. 물론, 여러번&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, git stash의 기본 사용법에 대해서는 위에서 언급을 하였습니다. 이 부분을 제외하고 다른 옵션들을 토대로 사용하는 방법에 대해서 이야기를 드리도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;현재 stash된 list 출력하기&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 현재 git stash가 된 리스트를 출력하는 방법에 대해서 살펴보겠습니다. 다음 명령어를 사용하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701447287647&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash list&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 명령어를 입력하면, 현재 git stash로 저장된 기록들이 명시가 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0002.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d5qje1/btsBjOoGkgR/4XJ7K4nduOeVIqIdjPjZ7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d5qje1/btsBjOoGkgR/4XJ7K4nduOeVIqIdjPjZ7k/img.png&quot; data-alt=&quot;git staash list 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d5qje1/btsBjOoGkgR/4XJ7K4nduOeVIqIdjPjZ7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd5qje1%2FbtsBjOoGkgR%2F4XJ7K4nduOeVIqIdjPjZ7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;636&quot; data-filename=&quot;0002.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git staash list 결과&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;stash에서 pop되지 않고, 변경사항 적용하기(option:apply)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 이전 포스팅에서 git stash (save) 이후에 git stash pop을 사용할 경우 이전에 저장된 git stash 항목이 하나씩 사라집니다. 하지만, apply의 경우에는 임시 저장된 git stash에 항목이 사라지지 않습니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0003.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mTqjn/btsBgcrdMG9/RKKQ29H0qElktXbvkuFHz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mTqjn/btsBgcrdMG9/RKKQ29H0qElktXbvkuFHz1/img.png&quot; data-alt=&quot;git stash (save)와 git stash pop의 구동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mTqjn/btsBgcrdMG9/RKKQ29H0qElktXbvkuFHz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmTqjn%2FbtsBgcrdMG9%2FRKKQ29H0qElktXbvkuFHz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;636&quot; data-filename=&quot;0003.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash (save)와 git stash pop의 구동&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 보이는 바와 같은 결과를 나타내는데, git stash apply의 경우에는 git stash 항목들이 사라지지 않습니다. 그러면 다음 예시를 보면서 한번 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0004.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUK718/btsBjoDO4oc/pbfdYbK8bmbeqVJQ9qYAJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUK718/btsBjoDO4oc/pbfdYbK8bmbeqVJQ9qYAJK/img.png&quot; data-alt=&quot;git stash apply 적용 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUK718/btsBjoDO4oc/pbfdYbK8bmbeqVJQ9qYAJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUK718%2FbtsBjoDO4oc%2FpbfdYbK8bmbeqVJQ9qYAJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;636&quot; data-filename=&quot;0004.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash apply 적용 결과&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 보는 바와 같이 git stash apply를 적용하다고 하더라더, git stash에 저장된 항목들에 대해서는 변경이 없습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다중 stash 저장 및 적용&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 본 git stash의 리스트를 보시면, 여러 번의 git stash를 한 것을 알 수 있습니다. 이런 경우가 될 수 있겠죠?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최초에 git stash를 진행후에, 브랜치 변경 한 후 복귀하여 git stash pop 없이 파일을 수정하였거나, 아니면 의도적으로 git stash를 여러개의 임시 저장본을 만드릭 위함이었을 수 있습니다. 실제 git stash 저장은 다음과 같이 변경사항을 만들고, git stash 명령어로 저장을하면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701450319632&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;변경사항 존재 
$ git stash # 변경사항 모두 stash로 
git stash pop없이 변경사항 생성
$ git stash&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 여기에서 git stash list를 통해서 출력되는 항목들이 여러개인 것을 알 수 있습니다. 여기에서, 만약 원하시는 git stash을 적용하고자 하면 다음과 같은 명령어를 입력하면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701450609270&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash apply stash@{N}
$ git stash pop stash@{N}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같은 형태로 적용하시면됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;stash 삭제&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;stash를 삭제하는 방법에는 크게 2가지 형태가 있습니다. 하나는 stash를 한개씩 삭제하는 방법과 모든 stash를 삭제하는 방법으로 나누어집니다.&amp;nbsp; 일단, 한가지씩 부분삭제를 하는 방법에 대해서 살펴보겠습니다. 다음의 명령어를 통해서 삭제를 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701450701513&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash drop stash@{N} # 부분 삭제&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0006.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xWV7Z/btsBje2pjtd/wKl6dp1chG22hKkyGxpVq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xWV7Z/btsBje2pjtd/wKl6dp1chG22hKkyGxpVq1/img.png&quot; data-alt=&quot;단위 stash 삭제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xWV7Z/btsBje2pjtd/wKl6dp1chG22hKkyGxpVq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxWV7Z%2FbtsBje2pjtd%2FwKl6dp1chG22hKkyGxpVq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;636&quot; data-filename=&quot;0006.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;단위 stash 삭제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 이번에는 전체 stash를 삭제하는 방법에 대해서 살펴보겠습니다. 다음 명령어를 실행하면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701451113265&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash clear&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하여 실행해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0007.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qrAvC/btsBj7uWeQQ/SBcrbBiyvYZzgv6xtjutl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qrAvC/btsBj7uWeQQ/SBcrbBiyvYZzgv6xtjutl0/img.png&quot; data-alt=&quot;git stash clear 결과 - stash 전체 삭제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qrAvC/btsBj7uWeQQ/SBcrbBiyvYZzgv6xtjutl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqrAvC%2FbtsBj7uWeQQ%2FSBcrbBiyvYZzgv6xtjutl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;636&quot; data-filename=&quot;0007.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash clear 결과 - stash 전체 삭제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 결과, git stash가 모두 지워진 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/880&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701409112516&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&quot; data-og-description=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/880&quot; data-og-url=&quot;https://appia.tistory.com/880&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jqYQb/hyUFbeFiHz/JH13kCcFxgP5ZuJkvD9tuk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/HrPx7/hyUE9Vqjfe/EkUVufdP2rBFGBSBVa8MaK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/cDgqPL/hyUFdXPYwy/LY41Bh2V8TeJj03vIc9QLk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/880&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jqYQb/hyUFbeFiHz/JH13kCcFxgP5ZuJkvD9tuk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/HrPx7/hyUE9Vqjfe/EkUVufdP2rBFGBSBVa8MaK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/cDgqPL/hyUFdXPYwy/LY41Bh2V8TeJj03vIc9QLk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git stash 다양한 사용법(apply, 다중 stash)라는 주제로 살펴봤습니다. 실제, 이 부분에 대해서는 많이 사용되지는 않지만, 그래도 필요할 때 잘 유용해서 사용할 수 있습니다. (실제 이해가 안되는 부분이 있을 수 있습니다. 그런 분들은 그냥 과감히 스킵하시고, git stash / git stash pop만 잘 사용하셔도 전혀 문제가 없습니다.) 물론, 이러한 부분들이 안생기는 것들이 가장 좋겠지만, 여러 사람들이 작업을 하다보면, 이런 일들이 많이 발생합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git stash</category>
      <category>stash</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/888</guid>
      <comments>https://appia.tistory.com/888#entry888comment</comments>
      <pubDate>Sat, 2 Dec 2023 07:21:05 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기</title>
      <link>https://appia.tistory.com/887</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;stash를&amp;nbsp;이용하여&amp;nbsp;변경사항&amp;nbsp;커밋없이&amp;nbsp;branch&amp;nbsp;전환하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WL7gW/btsBgb5maFu/AlydnquzFuiHawyLypoz0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WL7gW/btsBgb5maFu/AlydnquzFuiHawyLypoz0K/img.png&quot; data-alt=&quot;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WL7gW/btsBgb5maFu/AlydnquzFuiHawyLypoz0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWL7gW%2FbtsBgb5maFu%2FAlydnquzFuiHawyLypoz0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;770&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 git diff를 이용하여, 다양한 조건에서의 차이점을 비교하는 방법에 대해서 이야기르 해봤습니다. 물론, 여러번 말했다시피, git diff는 필수 기능은 아니나, 알고 있으면 다양한 관점에서 매우 유용하게 접근이 가능합니다. 이번에는 branch(브랜치)를 전환할 때, 종종 걷는 문제점에 대해서 해결하는 방법에 대해서 이야기를 해보고자 합니다. 바로 git stash 기능입니다. 실제, 변경사항이 commit 되지 않을 경우에, branch(브랜치) 전환을 할 수 없습니다. 그 부분에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/886&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701360668182&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&quot; data-og-description=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/886&quot; data-og-url=&quot;https://appia.tistory.com/886&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dciOzA/hyUE8Wk9vI/RW3LIoBu0D86k9tV7CGHD0/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/bduM8Z/hyUE4GobgD/hNK0Tt4nCejMDraw6kAPV1/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/eEQIw/hyUE5egyck/okJaku3DvOLo7TiNsPwi1K/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/886&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/886&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dciOzA/hyUE8Wk9vI/RW3LIoBu0D86k9tV7CGHD0/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/bduM8Z/hyUE4GobgD/hNK0Tt4nCejMDraw6kAPV1/img.png?width=770&amp;amp;height=769&amp;amp;face=0_0_770_769,https://scrap.kakaocdn.net/dn/eEQIw/hyUE5egyck/okJaku3DvOLo7TiNsPwi1K/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기 앞선 포스팅에서, git diff를 이용하여, 특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다. 아마도, 많은 분들은 이 부분&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 종종 branch(브랜치) 전환을 시도할 때, 다음과 같은 에러 메시지를 밖는 경험이 있을 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701385332658&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch target1
error: Your local changes to the following files would be overwritten by checkout:
        master_h.txt
Please commit your changes or stash them before you switch branches.
Aborting&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실제, 위와 같은 에러는, 변경사항이 있는데, commit(커밋)없이 branch(브랜치) 전환을 시도할 경우에 발생합니다. 이럴 경우에 git stash을 자주 사용합니다. git stash라는 것은 쉽게 이야기 하면, commit 되지 않은 변경사항에 대해서 임시로 저장해두고, 그 부분에 대해서 원복을 하는 기능이라고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 가장 간단하게 git stash을 사용하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701385698774&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash / git stash save # 변경 사항 임시저장 
$ git stash pop # stash된 저장항목 불러오기&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 간단한 예제를 만들어서 테스트를 해보도록 하겠습니다. 먼저, 임의적으로 변경사항을 만들어서 문제 사항을 만들어보도록 하겠습니다. 파일 하나에 대해서 임의적으로 수정을 해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzvaFD/btsA9Qoc6SY/UnnK7lFQEMBC2WG5fEfW61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzvaFD/btsA9Qoc6SY/UnnK7lFQEMBC2WG5fEfW61/img.png&quot; data-alt=&quot;예제 생성을 위한 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzvaFD/btsA9Qoc6SY/UnnK7lFQEMBC2WG5fEfW61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzvaFD%2FbtsA9Qoc6SY%2FUnnK7lFQEMBC2WG5fEfW61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;580&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 생성을 위한 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런 후에 &quot;git status&quot; 명령어를 통해서, 현재 branch(브랜치)에 대한 상태에 대해서 확인을 해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J8aQt/btsBcbS3KTj/bInqIR5hK1ShGwBzwib9jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J8aQt/btsBcbS3KTj/bInqIR5hK1ShGwBzwib9jk/img.png&quot; data-alt=&quot;git status를 이용한 현재 branch(브랜치)의 상태 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J8aQt/btsBcbS3KTj/bInqIR5hK1ShGwBzwib9jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ8aQt%2FbtsBcbS3KTj%2FbInqIR5hK1ShGwBzwib9jk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status를 이용한 현재 branch(브랜치)의 상태 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서의 결과 변경사항이 있는 것을 확인하였습니다. 그리고 나서, &quot;git switch&quot; 명령어를 이용하여 branch(브랜치)를 이동해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701385931162&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch target1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nYeMy/btsBbGyLZ0m/HOy2a9I8YjEgrBUflqUnkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nYeMy/btsBbGyLZ0m/HOy2a9I8YjEgrBUflqUnkk/img.png&quot; data-alt=&quot;git switch 명령어를 통한 branch(브랜치)전환&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nYeMy/btsBbGyLZ0m/HOy2a9I8YjEgrBUflqUnkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnYeMy%2FbtsBbGyLZ0m%2FHOy2a9I8YjEgrBUflqUnkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git switch 명령어를 통한 branch(브랜치)전환&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서와 같이 문제사항이 발생함을 알 수 있습니다. stash을 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701386127430&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서 변경사항에 대해서 임시 저장해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgLwv0/btsBfyma4e0/bW7s6NSK4v9NSC6id4W3F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgLwv0/btsBfyma4e0/bW7s6NSK4v9NSC6id4W3F1/img.png&quot; data-alt=&quot;git stash 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgLwv0/btsBfyma4e0/bW7s6NSK4v9NSC6id4W3F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgLwv0%2FbtsBfyma4e0%2FbW7s6NSK4v9NSC6id4W3F1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 결과 다음과 같은 결과가 나타나는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701386176587&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash
Saved working directory and index state WIP on master: 651431f change1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 다시 한번 git status 명령어를 통해서 branch(브랜치)의 상태를 확인해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edKTMv/btsA8Oc328z/gndn6fsRpZkn0ujbxWgWlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edKTMv/btsA8Oc328z/gndn6fsRpZkn0ujbxWgWlK/img.png&quot; data-alt=&quot;git stash 이후 git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edKTMv/btsA8Oc328z/gndn6fsRpZkn0ujbxWgWlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedKTMv%2FbtsA8Oc328z%2Fgndn6fsRpZkn0ujbxWgWlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash 이후 git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서와 같이 현재 branch(브랜치)에서 변동사항이 없는 것으로 보여집니다. 그러면 이 부분을 토대로 git switch 명령어를 통해서 branch(브랜치)를 전환해 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9h3mg/btsBbEnqRBg/Z1DxJ6jvLjggeYp4xlo2P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9h3mg/btsBbEnqRBg/Z1DxJ6jvLjggeYp4xlo2P0/img.png&quot; data-alt=&quot;git stash 이후 git switch 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9h3mg/btsBbEnqRBg/Z1DxJ6jvLjggeYp4xlo2P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9h3mg%2FbtsBbEnqRBg%2FZ1DxJ6jvLjggeYp4xlo2P0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash 이후 git switch 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정을 통해서, 정상적으로 target1으로 branch(브랜치)전환을 이루었습니다. 그러면, 다시 master에서 이전에 stash한 변경사항들을 불러오도록 하겠습니다. 먼저, 다시 git switch 명령어를 통해서 master 브랜치로 이동하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701387118456&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서 branch(브랜치)를 전환하고 나서, 다음 명령어를 통해서 git stash에 저장된 임시 저장된 부분을 현재 branch(브랜치)에 적용해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701387194641&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git stash pop&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zfxsQ/btsBaXVjZ87/zkey2qKvSQ9R4MFLXCtZz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zfxsQ/btsBaXVjZ87/zkey2qKvSQ9R4MFLXCtZz0/img.png&quot; data-alt=&quot;git stash pop 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zfxsQ/btsBaXVjZ87/zkey2qKvSQ9R4MFLXCtZz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzfxsQ%2FbtsBaXVjZ87%2Fzkey2qKvSQ9R4MFLXCtZz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash pop 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 결과로 다시 한번 &quot;git status&quot;로 현재 branch(브랜치)의 변경사항에 대해서 확인을 해보도록 하겠습니다. 이전에 변경사항이 없는 것처럼 나왔는데, 다시 변경사항이 생겼습니다. 즉, 임시 저장된 변경사항에 대해서 다시 불러온 것이라고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFijiV/btsBcaNpwvT/YZFIi5xXBrJZodBGoXslVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFijiV/btsBcaNpwvT/YZFIi5xXBrJZodBGoXslVk/img.png&quot; data-alt=&quot;git stash pop후 git status의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFijiV/btsBcaNpwvT/YZFIi5xXBrJZodBGoXslVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFijiV%2FbtsBcaNpwvT%2FYZFIi5xXBrJZodBGoXslVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git stash pop후 git status의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같은 방법으로 가장 쉽게 git stash/git stash pop를 적용할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/880&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701360641529&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&quot; data-og-description=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/880&quot; data-og-url=&quot;https://appia.tistory.com/880&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/puUri/hyUE8ouNXQ/wgjFWveBBRer7GaHbYIlbk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/ASRfd/hyUFeI1nnn/uH6XfWctrxuMG0Fd0hRiPK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/qeDCB/hyUFcdoPST/lEGv74cfQYA9KtevPyOUV0/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/880&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/puUri/hyUE8ouNXQ/wgjFWveBBRer7GaHbYIlbk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/ASRfd/hyUFeI1nnn/uH6XfWctrxuMG0Fd0hRiPK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/qeDCB/hyUFcdoPST/lEGv74cfQYA9KtevPyOUV0/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git stash를 이용하여 변경사항 커밋없이 branch 전환하기라는 주제로 이야기를 해봤습니다. Merge conflict(머지 충돌)만큼이나 자주 사용되는 부분입니다. 물론, git stash도 다양하게 사용이 가능합니다만, 그 모든 기능을 사용하지는 않고, 상기에서 언급한 git stash/git stash pop정도만 사용해도, 충분합니다. 혹 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git stash</category>
      <category>git stash pop</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/887</guid>
      <comments>https://appia.tistory.com/887#entry887comment</comments>
      <pubDate>Fri, 1 Dec 2023 08:38:38 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기</title>
      <link>https://appia.tistory.com/886</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;diff&amp;nbsp;특정&amp;nbsp;branch(브랜치)&amp;nbsp;/&amp;nbsp;특정&amp;nbsp;commit&amp;nbsp;비교하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l34fZ/btsA7MsoQOP/EKRk6gOE7kBXjqfH5GETPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l34fZ/btsA7MsoQOP/EKRk6gOE7kBXjqfH5GETPK/img.png&quot; data-alt=&quot;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l34fZ/btsA7MsoQOP/EKRk6gOE7kBXjqfH5GETPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl34fZ%2FbtsA7MsoQOP%2FEKRk6gOE7kBXjqfH5GETPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;769&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;앞선 포스팅에서&lt;span&gt;, git diff&lt;/span&gt;를 이용하여&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;특정 파일의 변경사항을 확인하는 방법에 대해서 확인을 하였습니다&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;아마도&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;많은 분들은 이 부분에 대해서 인지하고 있었을 것이고 매우 유용하게 사용할 것이라고 생각합니다&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;그러면 이 번에는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;git&lt;/span&gt;에서 가장 핵심적인 요소인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;branch(&lt;/span&gt;브랜치&lt;span&gt;)&lt;/span&gt;간의 차이점와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;commit(&lt;/span&gt;커밋&lt;span&gt;)&lt;/span&gt;간 차이점을 비교하는 방법에 대해서 이야기를 해보고자 합니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt; &lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/885&quot;&gt;[깃, Git] Git diff 특정 파일의 변경사항 확인하기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701270821964&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff 특정 파일의 변경사항 확인하기&quot; data-og-description=&quot;[깃, Git] Git diff 특정 파일의 변경사항 확인하기 이전 포스팅에서, git diff에서 전체, staged에 등록된 것이나, 아니면, 등록되지 않은 항목에 대한 차이를 확인하는 방법에 대해서 포스팅을 해봤습&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/885&quot; data-og-url=&quot;https://appia.tistory.com/885&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bNcSdI/hyUFePqcq2/vTne0qb91erQEA0fxl8wY0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/8UUHz/hyUE0wTmPO/HA0ciSs3kIWnMRfF2whnL0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/go3gS/hyUE1WQWKi/llojK0kMUWL1DnMFfdKSv0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/885&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/885&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bNcSdI/hyUFePqcq2/vTne0qb91erQEA0fxl8wY0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/8UUHz/hyUE0wTmPO/HA0ciSs3kIWnMRfF2whnL0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/go3gS/hyUE1WQWKi/llojK0kMUWL1DnMFfdKSv0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 파일의 변경사항 확인하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 특정 파일의 변경사항 확인하기 이전 포스팅에서, git diff에서 전체, staged에 등록된 것이나, 아니면, 등록되지 않은 항목에 대한 차이를 확인하는 방법에 대해서 포스팅을 해봤습&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;그럼 이번 포스팅에서는 총&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;가지 관점에서 접근을 해보도록 하겠습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&lt;span&gt;1.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt; b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;ranch(&lt;/span&gt;브랜치&lt;span&gt;)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;간의 차이점 확인&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&lt;span&gt;2.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt; c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;ommit(&lt;/span&gt;커밋&lt;span&gt;)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;간의 차이점 확인&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;Branch&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;간의 차이점 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;브랜치 사이에서 많은 파일이 생성될 수도 있고&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;삭제될 수도 있습니다&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;물론&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;이 부분은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;commit&lt;/span&gt;에서도 동일합니다&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;그런 관점에서 한번 살펴보도록 하겠습니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;먼저&lt;span&gt;, branch&lt;/span&gt;간의 비교를 하기 위해서는 다음 명령어를 입력해주시길 바랍니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701270845959&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git diff a_branch..b_branch
git diff a_branch b_branch&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;물론&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;위에서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;직관적으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;보기&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;위해서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;각&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;/span&gt;&lt;span&gt;간의&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;식별하기&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;위한&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;문자를&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;lsquo;..&amp;rsquo;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;나열하였지만&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;이&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;부분을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;공백으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;작성하셔도&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;됩니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt; (실제 작업하실때에는 ..보다는 공백을 더욱 많이 사용합니다.) &lt;/span&gt;&lt;/span&gt;&lt;span&gt;그러면&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;부분에&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;대해서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;간단한&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;예제를&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;통해서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;부분에&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;대해서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;살펴보겠습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;먼저&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;앞선&lt;/span&gt;&lt;span&gt;&lt;span&gt; 포스팅에서 사용한 예제를 그대로 활용할 예정입니다. 저는 여기에서, 일단, 다음 명령어를 통해서 target1이라는 branch(브랜치)를 생성해보도록 하겠습니다. (그런 후에 자동으로 target1으로 branch 전환해줍니다.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1701270931481&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c target1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 다음과 같은 화면이 나타날 것입니다. 저 같은 경우에, 파일 수정을 진행하기 위해서, 윈도우 탐색기를 열 수 있는 &quot;start . &quot;명령어 또한 실행을 시켰습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VcUDR/btsA5iE2qPx/gfgISKh0T7pv7cRVKRXJL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VcUDR/btsA5iE2qPx/gfgISKh0T7pv7cRVKRXJL0/img.png&quot; data-alt=&quot;예제 생성을 위한 branch(브랜치 생성)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VcUDR/btsA5iE2qPx/gfgISKh0T7pv7cRVKRXJL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVcUDR%2FbtsA5iE2qPx%2FgfgISKh0T7pv7cRVKRXJL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 생성을 위한 branch(브랜치 생성)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 여기에서, 최초 number.txt 라는 파일의 열어보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/57yjO/btsBbJ2rdHx/zdX4YIlOiSMvA5Qaq2Ow4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/57yjO/btsBbJ2rdHx/zdX4YIlOiSMvA5Qaq2Ow4K/img.png&quot; data-alt=&quot;수정 후에 number.txt&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/57yjO/btsBbJ2rdHx/zdX4YIlOiSMvA5Qaq2Ow4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F57yjO%2FbtsBbJ2rdHx%2FzdX4YIlOiSMvA5Qaq2Ow4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;349&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;349&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;수정 후에 number.txt&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이는 바와 같이 몇몇 숫자가 빠져 있는 것을 알 수 있습니다. 여기에서 저는 5~7열을 삭제하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQWah0/btsBbPhjSf1/Zi8KI1U21kAbxmYIAQS4g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQWah0/btsBbPhjSf1/Zi8KI1U21kAbxmYIAQS4g1/img.png&quot; data-alt=&quot;수정 후에 number.txt&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQWah0/btsBbPhjSf1/Zi8KI1U21kAbxmYIAQS4g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQWah0%2FbtsBbPhjSf1%2FZi8KI1U21kAbxmYIAQS4g1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;318&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;수정 후에 number.txt&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 위에서 수정한 항목들에 대해서 git add 및 git commit을 진행해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDOXmD/btsBbFsaAA2/TJky9MRSDsrcUdqS99vC8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDOXmD/btsBbFsaAA2/TJky9MRSDsrcUdqS99vC8k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;007.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDOXmD/btsBbFsaAA2/TJky9MRSDsrcUdqS99vC8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDOXmD%2FbtsBbFsaAA2%2FTJky9MRSDsrcUdqS99vC8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTjey7/btsA5h7fcel/MQ47mvV5EOW0Iz36GC0N50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTjey7/btsA5h7fcel/MQ47mvV5EOW0Iz36GC0N50/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;008.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTjey7/btsA5h7fcel/MQ47mvV5EOW0Iz36GC0N50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTjey7%2FbtsA5h7fcel%2FMQ47mvV5EOW0Iz36GC0N50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;수정한 파일에 대한 git add 및 git commit&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 약간의 변화를 더 주기 위해서, 다시 다음명령어를 통해서 mster 브랜치로 전화을 하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701271390564&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 touch명령어를 이용해서, master_h.txt파일을 하나 생성하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701271437555&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch master_h.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KIuHR/btsA8q3IGdb/ZLmqTKXiqIu1rm5HsRVJR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KIuHR/btsA8q3IGdb/ZLmqTKXiqIu1rm5HsRVJR1/img.png&quot; data-alt=&quot;예제 파일 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KIuHR/btsA8q3IGdb/ZLmqTKXiqIu1rm5HsRVJR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKIuHR%2FbtsA8q3IGdb%2FZLmqTKXiqIu1rm5HsRVJR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 파일 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 생성한 master_h.txt 파일을 다음과 같이 수정을 하였습니다. (변경점만 확인하면 되기 떄문에 많은 부분을 입력하기에 앞서, 변경점만 확인하는 목적이기 때문에 간단한 문구만 입력하였습니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;302&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFfsjE/btsBccJ6fXx/urpPueV1imN2SPycSqLjfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFfsjE/btsBccJ6fXx/urpPueV1imN2SPycSqLjfk/img.png&quot; data-alt=&quot;master branch(브랜치)파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFfsjE/btsBccJ6fXx/urpPueV1imN2SPycSqLjfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFfsjE%2FbtsBccJ6fXx%2FurpPueV1imN2SPycSqLjfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;836&quot; height=&quot;302&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;302&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master branch(브랜치)파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, number.txt 부분에서도 마지막에 있는 &quot;ten&quot;이라는 글자을 삭제하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biBHdb/btsBbHXP6zx/R0VwKsTBguV3iwhOztUSNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biBHdb/btsBbHXP6zx/R0VwKsTBguV3iwhOztUSNk/img.png&quot; data-alt=&quot;master branch(브랜치)파일 수정2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biBHdb/btsBbHXP6zx/R0VwKsTBguV3iwhOztUSNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiBHdb%2FbtsBbHXP6zx%2FR0VwKsTBguV3iwhOztUSNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;838&quot; height=&quot;308&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master branch(브랜치)파일 수정2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에까지 수정을 하고 나서, 수정한 부분에 대해서 다음 명령어를 통해서 확인하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701271643629&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 실행하면 다음과 같은 결과를 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bChhq1/btsA7qCQHwd/zFQndsWIGinNsSvzYBxsB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bChhq1/btsA7qCQHwd/zFQndsWIGinNsSvzYBxsB0/img.png&quot; data-alt=&quot;git status을 통한 branch 상황 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bChhq1/btsA7qCQHwd/zFQndsWIGinNsSvzYBxsB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbChhq1%2FbtsA7qCQHwd%2FzFQndsWIGinNsSvzYBxsB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status을 통한 branch 상황 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 위에 파일을 git add 및 git commit을 진행하도록 하겠습니다. 그러면 이제는 master와 target1 branch을 비교해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701271763708&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git diff master..target1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 실행하면 다음과 같은 결과 가 나타나는 것을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo6PHo/btsA6R8z2JM/ovkPep4YLRUJUbMjkwkGsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo6PHo/btsA6R8z2JM/ovkPep4YLRUJUbMjkwkGsk/img.png&quot; data-alt=&quot;git diff 결과 (a = master, b = target1)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo6PHo/btsA6R8z2JM/ovkPep4YLRUJUbMjkwkGsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo6PHo%2FbtsA6R8z2JM%2FovkPep4YLRUJUbMjkwkGsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;566&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 결과 (a = master, b = target1)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이시는 바와 같이 a 기준은 앞서 입력한 master branch(브랜치)이고, b는 나중에 입력한 target1입니다. 그러면 반대로 입력을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p6XyU/btsBbE07RmO/R2xx3enKKTqR6LXcF9CmV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p6XyU/btsBbE07RmO/R2xx3enKKTqR6LXcF9CmV1/img.png&quot; data-alt=&quot;git diff 결과 (a = target1 , b = master)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p6XyU/btsBbE07RmO/R2xx3enKKTqR6LXcF9CmV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp6XyU%2FbtsBbE07RmO%2FR2xx3enKKTqR6LXcF9CmV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;566&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 결과 (a = target1 , b = master)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분에 대해서 결과를 읽는 방법은 이전 포스팅을 참조하시면 될것입니다.(하단에 링크 삽입)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;ommit(커밋&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;간의 차이점 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 위에서 본 branch(브랜치)간의 비교점을 확인하는 것은 매우 중요합니다. 하지만, 이보다 각 commit 사이에서의 차이점도 비교가 필요로 합니다. 그러면 이제는 commit간의 비교하는 방법에 대해서 이야기를 해보겠습니다. 먼저 다음 명령어를 통해서 비교를 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701272280843&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;git diff commit_hash1..commit_hash2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 다음 명령어를 통해서, commit 기록을 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701272146264&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log --oneline&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oezXl/btsA6TL4qv3/GkPC01temBNsQG2e5DGIEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oezXl/btsA6TL4qv3/GkPC01temBNsQG2e5DGIEk/img.png&quot; data-alt=&quot;commit 기록 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oezXl/btsA6TL4qv3/GkPC01temBNsQG2e5DGIEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoezXl%2FbtsA6TL4qv3%2FGkPC01temBNsQG2e5DGIEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;566&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit 기록 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 출력된 앞에 헤시를 통해서 다음과 같이 명령어를 입력할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701272374324&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; git diff 603807c..651431f&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfvfVg/btsBbOW0JUX/UrD4NPloPgcKiKI8pAiSh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfvfVg/btsBbOW0JUX/UrD4NPloPgcKiKI8pAiSh0/img.png&quot; data-alt=&quot;commit간 비교 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfvfVg/btsBbOW0JUX/UrD4NPloPgcKiKI8pAiSh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfvfVg%2FbtsBbOW0JUX%2FUrD4NPloPgcKiKI8pAiSh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;678&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit간 비교 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서와 같이 각 commit 사이에서의 차이점을 비교할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/883&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701272424064&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff의 결과 읽는 방법&quot; data-og-description=&quot;[깃, Git] Git diff의 결과 읽는 방법 앞선 포스팅에서는 git diff명령어에 대해서 매우 간단히 살펴봤습니다. 실제, 개념정도의 의미에서 접근을 해봤습니다. 앞 포스팅에서도 언급을 하였지만, 이 git&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/883&quot; data-og-url=&quot;https://appia.tistory.com/883&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/oaqHX/hyUFafcW2f/bjfeYiz5L1ukhUmKHNklKK/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/kccBE/hyUFdCZXjm/qMS2oagKy26KXasdP3MsZk/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/pqkOQ/hyUE6w7FFN/Ocz9bF7Ceh0V1UEKkVI2P0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/883&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/883&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/oaqHX/hyUFafcW2f/bjfeYiz5L1ukhUmKHNklKK/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/kccBE/hyUFdCZXjm/qMS2oagKy26KXasdP3MsZk/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/pqkOQ/hyUE6w7FFN/Ocz9bF7Ceh0V1UEKkVI2P0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법 앞선 포스팅에서는 git diff명령어에 대해서 매우 간단히 살펴봤습니다. 실제, 개념정도의 의미에서 접근을 해봤습니다. 앞 포스팅에서도 언급을 하였지만, 이 git&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git diff 특정 branch(브랜치) / 특정 commit 비교하기라는 주제로 포스팅을 했습니다. 이번 까지 해서, diff에 대해서는 대부분 다루어봤습니다. gitkraken을 통해서, 해당 부분에 대해서 gui 상으로 차이점을 어떻게 보는지에 대해서도 블로그 포스팅을 진행해볼 요량입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>commit diff</category>
      <category>git</category>
      <category>git diff</category>
      <category>깃</category>
      <category>브랜치 diff</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/886</guid>
      <comments>https://appia.tistory.com/886#entry886comment</comments>
      <pubDate>Thu, 30 Nov 2023 07:42:36 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git diff 특정 파일의 변경사항 확인하기</title>
      <link>https://appia.tistory.com/885</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;diff&amp;nbsp;특정&amp;nbsp;파일의&amp;nbsp;변경사항&amp;nbsp;확인하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1MFJ5/btsA1cSz8Jf/UPFuiz6WEmNtecPICjpyW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1MFJ5/btsA1cSz8Jf/UPFuiz6WEmNtecPICjpyW0/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;Git&amp;amp;amp;nbsp;diff&amp;amp;amp;nbsp;특정&amp;amp;amp;nbsp;파일의&amp;amp;amp;nbsp;변경사항&amp;amp;amp;nbsp;확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1MFJ5/btsA1cSz8Jf/UPFuiz6WEmNtecPICjpyW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1MFJ5%2FbtsA1cSz8Jf%2FUPFuiz6WEmNtecPICjpyW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;800&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;Git&amp;amp;nbsp;diff&amp;amp;nbsp;특정&amp;amp;nbsp;파일의&amp;amp;nbsp;변경사항&amp;amp;nbsp;확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서, git diff에서 전체, staged에 등록된 것이나, 아니면, 등록되지 않은 항목에 대한 차이를 확인하는 방법에 대해서 포스팅을 해봤습니다. git diff에 대해서 왜 이렇게 많은 포스팅을 하냐고 생각하는 분들이 있을 수 있지만, 저는 이 부분을 토대로 향후에 파이썬 및 batch파일을 토대로 자동화를 하는 방법에 대해서 추가 포스팅을 기획하고 있습니다. 그런 점에서 이 부분들을 반드시 필요로 하는 것이라고 생각이 들어서 약간의 설명이 추가 되고 있습니다. 이번 포스팅에서는 앞선 포스팅에 이어서, git diff에서의 특정 파일의 변화를 확인하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/884&quot;&gt;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1701188014820&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기&quot; data-og-description=&quot;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기 이전 포스팅에서, git의 차이점을 확인하는 git diff 명령어에 대해서 살펴봤습니다. 그리고, 이 결과에 대해서 확인하는 방&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/884&quot; data-og-url=&quot;https://appia.tistory.com/884&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/R2Qmd/hyUE1vyoUX/9CgqMWR92qHYTOPbqhEpk0/img.png?width=771&amp;amp;height=769&amp;amp;face=0_0_771_769,https://scrap.kakaocdn.net/dn/brP1d9/hyUFftOIuT/KPR0tXXfdRThPbspwIKzm1/img.png?width=771&amp;amp;height=769&amp;amp;face=0_0_771_769,https://scrap.kakaocdn.net/dn/IF1wh/hyUB3aKMfn/zGsBUWiixJkabfIJV4KzW0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/884&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/884&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/R2Qmd/hyUE1vyoUX/9CgqMWR92qHYTOPbqhEpk0/img.png?width=771&amp;amp;height=769&amp;amp;face=0_0_771_769,https://scrap.kakaocdn.net/dn/brP1d9/hyUFftOIuT/KPR0tXXfdRThPbspwIKzm1/img.png?width=771&amp;amp;height=769&amp;amp;face=0_0_771_769,https://scrap.kakaocdn.net/dn/IF1wh/hyUB3aKMfn/zGsBUWiixJkabfIJV4KzW0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기 이전 포스팅에서, git의 차이점을 확인하는 git diff 명령어에 대해서 살펴봤습니다. 그리고, 이 결과에 대해서 확인하는 방&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 저희는 이전 포스팅에서 이어선 해당 예제를 그대로 사용하도록 하겠습니다. (해당 Repository로 이동하였습니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPviwP/btsA7AEBMkh/w8dFLNrKGiaNAsz3zHK9aK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPviwP/btsA7AEBMkh/w8dFLNrKGiaNAsz3zHK9aK/img.png&quot; data-alt=&quot;예시를 위한 이전 포스팅에서 사용한 repository로 이동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPviwP/btsA7AEBMkh/w8dFLNrKGiaNAsz3zHK9aK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPviwP%2FbtsA7AEBMkh%2Fw8dFLNrKGiaNAsz3zHK9aK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시를 위한 이전 포스팅에서 사용한 repository로 이동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 앞선 포스팅에서 언급된 바와 같이 staged에 등록되거나, 등록되지 않은 변경사항을 확인하기 위해서, 우리는 git diff HEAD 명령어를 이동하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701188212037&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff HEAD&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwsj0b/btsA7zsbaPB/EbaZYTpWI5OoylgOtbS2gK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwsj0b/btsA7zsbaPB/EbaZYTpWI5OoylgOtbS2gK/img.png&quot; data-alt=&quot;git diff HEAD 의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwsj0b/btsA7zsbaPB/EbaZYTpWI5OoylgOtbS2gK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwsj0b%2FbtsA7zsbaPB%2FEbaZYTpWI5OoylgOtbS2gK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;692&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff HEAD 의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서, 한 개의 파일에 대해서 변경사항을 확인하고자 합니다. 그럴 때는 다음과 같은 명령어를 입력해주시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701188290251&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff HEAD [파일이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 예시에서는 저는 color.txt파일만 확인을 해보도록 하겠습니다. 이 부분을 확인하기 위해서 다음과 같은 명령어를 입력하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701188324269&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff HEAD color.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실행 결과 다음과 같이 특정 파일, 즉 color.txt 부분만 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3HInv/btsA27i9VCt/mQfGQmvJ1SKy5fKSFYyZEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3HInv/btsA27i9VCt/mQfGQmvJ1SKy5fKSFYyZEk/img.png&quot; data-alt=&quot;특정 파일의 차이점만 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3HInv/btsA27i9VCt/mQfGQmvJ1SKy5fKSFYyZEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3HInv%2FbtsA27i9VCt%2FmQfGQmvJ1SKy5fKSFYyZEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;692&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;특정 파일의 차이점만 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 앞선 포스팅에서 언급한 git diff / git diff HEAD / git diff --cached / git diff --staged 와 결합해서 사용이 가능합니다. 그럼 먼저, stage에 등록되지 않은 변경 사항중 특정 파일만 확인하고자 할때의 예시를 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLNQos/btsA7CJc4az/pWjCRkl13k0R1p0Oaaw6RK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLNQos/btsA7CJc4az/pWjCRkl13k0R1p0Oaaw6RK/img.png&quot; data-alt=&quot;git diff 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLNQos/btsA7CJc4az/pWjCRkl13k0R1p0Oaaw6RK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLNQos%2FbtsA7CJc4az%2FpWjCRkl13k0R1p0Oaaw6RK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;692&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 git diff의 결과 총 2개의 파일이 변경이 있는 것을 알수 있습니다. number.txt와 only_one.txt입니다. 그럼 여기에서, number 파일의 변경점에 대해서 확인을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701188526999&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff nubmer.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어 실행 결과 다음과 같은 결과가 나타난 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beE6rQ/btsA9RyQ1tK/K0DyjFM53AQTSDUnAhsXn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beE6rQ/btsA9RyQ1tK/K0DyjFM53AQTSDUnAhsXn0/img.png&quot; data-alt=&quot;stage에 등록되지 않은 항목 중, 특정 파일만 비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beE6rQ/btsA9RyQ1tK/K0DyjFM53AQTSDUnAhsXn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeE6rQ%2FbtsA9RyQ1tK%2FK0DyjFM53AQTSDUnAhsXn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;692&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;stage에 등록되지 않은 항목 중, 특정 파일만 비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 이 부분은 stage에 등록된 파일에 적용할 때도 동일하게 다음과 같이 사용하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701188622972&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git diff --cached [filename]
git diff --staged [filename]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서는 1개의 파일만 이야기를 했는데, 만약 2개 이상의 파일을 확인하고 싶을 때는 어떻게 할까요? 간단하게 적용이 가능합니다. 다음과 같이 명령어를 입력하면 됩니다. (git diff HEAD를 예시로 들었으나, 이 부분은 그냥 git diff 또는 git diff --staged, git diff --cached에 동일하게 사용이 가능합니다.)&lt;/p&gt;
&lt;pre id=&quot;code_1701188732319&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git diff HEAD [filename1] [filename2] [filename3] ~~&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방식으로 입력하시다면, 원하시는 특정파일을 한번에 확인이 가능합니다. 물론, 위의 파일이름의 순서를 바꾼다고 하더라도, 출력하는 순서는 차이가 기존과 동일하게 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3FVCM/btsA1cdXl9K/iTlItb21rFWI12AVKufwV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3FVCM/btsA1cdXl9K/iTlItb21rFWI12AVKufwV0/img.png&quot; data-alt=&quot;여러개의 특정파일 비교하는 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3FVCM/btsA1cdXl9K/iTlItb21rFWI12AVKufwV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3FVCM%2FbtsA1cdXl9K%2FiTlItb21rFWI12AVKufwV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;692&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;여러개의 특정파일 비교하는 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 git diff을 이용하여, 특정파일에 대한 변경점에 대해서 확인을 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/882&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701188042302&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&quot; data-og-description=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/882&quot; data-og-url=&quot;https://appia.tistory.com/882&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bl60tE/hyUE64Hn6w/JA8ZpEzByQJZZKEIq1IZM0/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/cJ3ISq/hyUE1bgQlw/BnGZKxukhm9AfkmKQHF091/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/b4wor8/hyUB57n1Jq/HeGjPNWHzLv24EPISLxPKk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/882&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bl60tE/hyUE64Hn6w/JA8ZpEzByQJZZKEIq1IZM0/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/cJ3ISq/hyUE1bgQlw/BnGZKxukhm9AfkmKQHF091/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/b4wor8/hyUB57n1Jq/HeGjPNWHzLv24EPISLxPKk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git diff 특정 파일의 변경사항 확인하기라는 주제로 포스팅을 해봤습니다. 실제, 파일에 대한 비교는 매우 빈번하게 이루어집니다. 저 또한 이 부분에 대해서 실제 업무에서 많이 사용하고 있어서, 이렇게 포스팅을 진행가ㅔ되었습니다. 이번에 포스팅한 부분에 이어서 다음 포스팅에서는 브랜치, 커밋에 대한 변경사항에 대해서 다루어보도록 할 예정입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git diff</category>
      <category>깃</category>
      <category>특정파일git비교</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/885</guid>
      <comments>https://appia.tistory.com/885#entry885comment</comments>
      <pubDate>Wed, 29 Nov 2023 07:29:21 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기</title>
      <link>https://appia.tistory.com/884</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;diff&amp;nbsp;전체,&amp;nbsp;staged에&amp;nbsp;등록된&amp;nbsp;차이,&amp;nbsp;등록되지&amp;nbsp;않은&amp;nbsp;차이&amp;nbsp;확인하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj0bpa/btsA24FPGo2/ItcdDJJIetgosNVFqukd6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj0bpa/btsA24FPGo2/ItcdDJJIetgosNVFqukd6k/img.png&quot; data-alt=&quot;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj0bpa/btsA24FPGo2/ItcdDJJIetgosNVFqukd6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj0bpa%2FbtsA24FPGo2%2FItcdDJJIetgosNVFqukd6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;769&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서, git의 차이점을 확인하는 git diff 명령어에 대해서 살펴봤습니다. 그리고, 이 결과에 대해서 확인하는 방법 또한 살펴봤습니다. 물론, 사람의 대한 차이점들은 있을 수 있겠지만, 기본적으로 git diff의 기본 명령어를 사용하는 사람들 또한 많습니다. (저 또한 git diff명령어만 사용) 하지만, 경우에 따라서, 달라질 수 있습니다. 그래서 이번 포스팅에서는 앞선 포스팅의 연장선으로, stage을 관점으로 stage에 등록된 변경사항에 대해서 확인하는 방법, stage에 등록되지 않는 변경사항을 하는 확인하는 방법 그리고 이 두가지를 다 포함하는 변경사항을 확인하는 방법에 대해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/883&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701100193924&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git diff의 결과 읽는 방법&quot; data-og-description=&quot;[깃, Git] Git diff의 결과 읽는 방법 앞선 포스팅에서는 git diff명령어에 대해서 매우 간단히 살펴봤습니다. 실제, 개념정도의 의미에서 접근을 해봤습니다. 앞 포스팅에서도 언급을 하였지만, 이 git&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/883&quot; data-og-url=&quot;https://appia.tistory.com/883&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Cd9oA/hyUCbM9fcu/a8MFLhKVxHOLQidse4NkO0/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/bXr46E/hyUFdCy7OY/gRGqE3xk4la0rnQtpoQ8Ik/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/ccZ1Z7/hyUCcywHsp/6fVlSJuXaS7m640PW2RD0K/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/883&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/883&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Cd9oA/hyUCbM9fcu/a8MFLhKVxHOLQidse4NkO0/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/bXr46E/hyUFdCy7OY/gRGqE3xk4la0rnQtpoQ8Ik/img.png?width=749&amp;amp;height=750&amp;amp;face=0_0_749_750,https://scrap.kakaocdn.net/dn/ccZ1Z7/hyUCcywHsp/6fVlSJuXaS7m640PW2RD0K/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git diff의 결과 읽는 방법 앞선 포스팅에서는 git diff명령어에 대해서 매우 간단히 살펴봤습니다. 실제, 개념정도의 의미에서 접근을 해봤습니다. 앞 포스팅에서도 언급을 하였지만, 이 git&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 이전 포스팅에서 사용한 Repository를 그대로 사용하도록 하겠습니다. 먼저 &quot;git status&quot; 명령어를 통해서 현재 브랜치의 상태를 확인해보겠습니다. 확인해 본 결과 총 3가지 파일이 수정이 이루어진 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RUfSM/btsAWi51kT0/oV3tr3VJhIcUd8gFLWKpX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RUfSM/btsAWi51kT0/oV3tr3VJhIcUd8gFLWKpX1/img.png&quot; data-alt=&quot;현재 git의 상태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RUfSM/btsAWi51kT0/oV3tr3VJhIcUd8gFLWKpX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRUfSM%2FbtsAWi51kT0%2FoV3tr3VJhIcUd8gFLWKpX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;현재 git의 상태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 상기에서 언급된 변경사항에 대해서는 아직 staged에 추가가 되지 않았습니다. 이 때, staged에 등록되지 않은 변경점을 확인하는 명령어는 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701100320412&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff # stage에 등록되지 않은 변경사항 확인&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전에서 포스팅에서 봤던 내용입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtjPJi/btsA2tZ3N8E/QKsmO2WzzHt2kUALlDvxDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtjPJi/btsA2tZ3N8E/QKsmO2WzzHt2kUALlDvxDK/img.png&quot; data-alt=&quot;git diff 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtjPJi/btsA2tZ3N8E/QKsmO2WzzHt2kUALlDvxDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtjPJi%2FbtsA2tZ3N8E%2FQKsmO2WzzHt2kUALlDvxDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 여기에서 stage에 등록 여부와 상관없이 전체의 변경 사항에 대해서 확인하기 위한 명령어를 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701100402291&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff HEAD&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;흔히 위의 명령어를 현재 작업 디렉토리에 변경사항을 확인하는 방법이라고도 합니다. 여기에서 말하는 HEAD는 앞서서 아시다시피, 브랜치에 가장 마지막 commit을 참조합니다. 따라서, 마지막 commit을 기준으로 현재 작업 드렉토리에 대해서 변경사항을 확인하는 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhZPEP/btsAXhZ8AQT/dPXmbuhB8oVE7IKtuUsI3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhZPEP/btsAXhZ8AQT/dPXmbuhB8oVE7IKtuUsI3k/img.png&quot; data-alt=&quot;git diff HEAD의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhZPEP/btsAXhZ8AQT/dPXmbuhB8oVE7IKtuUsI3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhZPEP%2FbtsAXhZ8AQT%2FdPXmbuhB8oVE7IKtuUsI3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff HEAD의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 본 명령어를 봤을 때, 현재 그냥 git diff와 동일한다는 것을 알 수 있습니다. 그 이유는 간단합니다. 바로, 현재 stage에 등록된 파일이 아무것도 없기 때문입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 여기에서 stage에 등록된 파일에 대한 변경사항에 대해서 확인하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1701100578856&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff --cached
$ git diff --staged&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 두 명령어 중 어느쪽이든 사용하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mg8vz/btsA2woVo5X/jPhPLNFWlGljopqu8VKAs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mg8vz/btsA2woVo5X/jPhPLNFWlGljopqu8VKAs1/img.png&quot; data-alt=&quot;git diff --cached / git diff staged의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mg8vz/btsA2woVo5X/jPhPLNFWlGljopqu8VKAs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmg8vz%2FbtsA2woVo5X%2FjPhPLNFWlGljopqu8VKAs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;127&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff --cached / git diff staged의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;현재 stage에 등록된 파일이 없으므로, 위와 같이 아무 표시 없이 출력이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 이 부분에 대해서 명확히 보기 위해서, 파일을 하나 stage에 추가해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bazR9U/btsA2uEzJQI/hhwvFgKRwY0mq72o8qDW00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bazR9U/btsA2uEzJQI/hhwvFgKRwY0mq72o8qDW00/img.png&quot; data-alt=&quot;예제 확인을 파일 stage 추가&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bazR9U/btsA2uEzJQI/hhwvFgKRwY0mq72o8qDW00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbazR9U%2FbtsA2uEzJQI%2FhhwvFgKRwY0mq72o8qDW00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 확인을 파일 stage 추가&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서, color.txt 파일을 stage에 추가를 하였습니다. 그 부분을 토대로, 다시 한번 &quot;git diff --cached&quot;&lt;br /&gt;또는 &quot;git diff --staged&quot;을 실행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3jN3m/btsATM7G8oC/P5Vm4BuuUOnhm0Kk9Mq9I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3jN3m/btsATM7G8oC/P5Vm4BuuUOnhm0Kk9Mq9I1/img.png&quot; data-alt=&quot;git diff --cached 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3jN3m/btsATM7G8oC/P5Vm4BuuUOnhm0Kk9Mq9I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3jN3m%2FbtsATM7G8oC%2FP5Vm4BuuUOnhm0Kk9Mq9I1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff --cached 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이는 바와 같이 git diff --cahed를 실행하니, 앞서서&amp;nbsp; stage에 추가한 color.txt파일에 대해서만 변경사항을 확인합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xVbp7/btsATXgV8or/OKBooXMkYD9aYPKkLeCDKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xVbp7/btsATXgV8or/OKBooXMkYD9aYPKkLeCDKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xVbp7/btsATXgV8or/OKBooXMkYD9aYPKkLeCDKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxVbp7%2FbtsATXgV8or%2FOKBooXMkYD9aYPKkLeCDKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;776&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 다시 한번 git diff를 실행해 본 결과는 위에서 보이는 바와 같이 color.txt를 제외한 파일에 대해서 비교를 하는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;쉽게 생각하시면, 이렇게 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&quot;git diff HEAD&quot; = &quot;git diff --cached&quot;&amp;nbsp; + &quot;git diff &quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 형태로 이해하시면 조금더 쉽게 생각을 할 수 있지 않을까요? 이와 같이 stage를 기준으로 등록된, 등록되지 않은, 그리고 모든 변경사항에 대해서 확인하는 방법에 대해서 살펴봤습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/882&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;figure id=&quot;og_1701100205012&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&quot; data-og-description=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/882&quot; data-og-url=&quot;https://appia.tistory.com/882&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHaTp3/hyUB4gb7mj/rKFhXQlVamaPcAouQfUuu0/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/AICQ2/hyUCb0IH3Y/8ZrXa6b8BkvGatCFB3cWiK/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/gZ8gd/hyUE5YPuwz/jjkwNH7xkuGF0xhSm211DK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/882&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHaTp3/hyUB4gb7mj/rKFhXQlVamaPcAouQfUuu0/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/AICQ2/hyUCb0IH3Y/8ZrXa6b8BkvGatCFB3cWiK/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/gZ8gd/hyUE5YPuwz/jjkwNH7xkuGF0xhSm211DK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 [깃, Git] Git diff 전체, staged에 등록된 차이, 등록되지 않은 차이 확인하기라는 주제로 포스팅을 해봤습니다. 많은 사용자들이 GUI툴에 익숙해진 지금 이와 같이 명령어를 입력하여 변경사항을 확인하는 경우는 매우 드문 것이 사실입니다. 하지만, 자동화 및 타 툴과의 통합을 위해서, 실제로 명령어를 입력하는 방법에 대해서 숙지하는 것이 반드시 필요로 합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git diff</category>
      <category>git diff --cached</category>
      <category>git diff --staged</category>
      <category>git diff HEAD</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/884</guid>
      <comments>https://appia.tistory.com/884#entry884comment</comments>
      <pubDate>Tue, 28 Nov 2023 07:04:49 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git diff의 결과 읽는 방법</title>
      <link>https://appia.tistory.com/883</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;diff의&amp;nbsp;결과&amp;nbsp;읽는&amp;nbsp;방법&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-25 23 03 10.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;750&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wKYlu/btsARgt5ktV/ANepqNgSeKxYB1F9k42NI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wKYlu/btsARgt5ktV/ANepqNgSeKxYB1F9k42NI1/img.png&quot; data-alt=&quot;[깃, Git] Git diff의 결과 읽는 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wKYlu/btsARgt5ktV/ANepqNgSeKxYB1F9k42NI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwKYlu%2FbtsARgt5ktV%2FANepqNgSeKxYB1F9k42NI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;750&quot; data-filename=&quot;2023-11-25 23 03 10.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;750&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git diff의 결과 읽는 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞선 포스팅에서는 git diff명령어에 대해서 매우 간단히 살펴봤습니다. 실제, 개념정도의 의미에서 접근을 해봤습니다. 앞 포스팅에서도 언급을 하였지만, 이 git diff의 경우 git repository에 아무런 영향을 끼치지 않습니다. 단, 순수하게 정보만 출력하는 명령어입니다. 이렇게 정보를 출력하는 명령어에서 가장 중요한 것을 결과를 읽는 방법입니다. 그래서 이번 포스팅에서는 git diff의 결과를 읽는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/882&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1701034465752&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&quot; data-og-description=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/882&quot; data-og-url=&quot;https://appia.tistory.com/882&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bEKivJ/hyUChGtlU9/c0sIrTqfRPgvJFgiekQky1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/rJV4H/hyUE8HQ29T/k7Y9jZ04rNfWVSz5ra6uE1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/Bjei5/hyUFaZYykd/XtkKa5fG50xIUcecpmZvZK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/882&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/882&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bEKivJ/hyUChGtlU9/c0sIrTqfRPgvJFgiekQky1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/rJV4H/hyUE8HQ29T/k7Y9jZ04rNfWVSz5ra6uE1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/Bjei5/hyUFaZYykd/XtkKa5fG50xIUcecpmZvZK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 간단한 예시를 한번 보도록 하겠습니다. git diff의 명령어를 실행하면 다음 화면과 같은 결과를 볼 수 있을 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-25 23 03 10 (2).png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s4byU/btsATPhHWt2/oE0kbfFtfugY1YG6s3xMd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s4byU/btsATPhHWt2/oE0kbfFtfugY1YG6s3xMd1/img.png&quot; data-alt=&quot;git diff 명령어 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s4byU/btsATPhHWt2/oE0kbfFtfugY1YG6s3xMd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs4byU%2FbtsATPhHWt2%2FoE0kbfFtfugY1YG6s3xMd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;608&quot; data-filename=&quot;2023-11-25 23 03 10 (2).png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 명령어 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서의 결과를 보면, 다양한 단어들이 사용하고 있습니다. 가장 쉽게, +, -, @@등과 같은 이상한 단어를 사용하고 있다는 것을 알 고 있습니다. 그리고 -기호에는 빨간색 글씨, +기호에는 녹색 신호입니다. 실제 이 부분만 가지고 정확하게 git diff의 결과를 해석하는데에는 한계가 있습니다.&amp;nbsp; 그럼 위의 명령어를 바탕으로 각 부분에 대해서 이야기를 해봅시다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 가장 먼저 보이는 부분을 보겠습니다. 흔히들 이야기 하는 &quot;diff --git&quot; 부분입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;119&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DDGHU/btsAQCxhXLq/0Bd6sPdOaaNIUCQk219Er0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DDGHU/btsAQCxhXLq/0Bd6sPdOaaNIUCQk219Er0/img.png&quot; data-alt=&quot;git diff 비교 파일 및 각 파일의 헤시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DDGHU/btsAQCxhXLq/0Bd6sPdOaaNIUCQk219Er0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDDGHU%2FbtsAQCxhXLq%2F0Bd6sPdOaaNIUCQk219Er0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;119&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;119&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 비교 파일 및 각 파일의 헤시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 가장 먼저 나오는 부분은 비교할 파일을 명시하고 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700921473684&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;diff -- git [비교할 파일]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;대체로 비교할 파일은 동일한 파일을 입니다. 깃에서는 이 파일에 대해서 a, b라고 부릅니다.&amp;nbsp; 첫번째 줄은 항상 비교할 두파일에 대해서 명시를 하고 있습니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 두번째 라인은 크게 중요하지 않지만, 각 파일에 대한 헤시입니다. 원래 git에서는 commit에 대한 헤시를 가지고 있는데, 각 파일에 대한 헤시도 가지고 있다고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 다음 표시는 2줄로 표시가 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;277&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rM1mW/btsATP9QwcN/EoCEZcJoP9wMQv2KHbRDXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rM1mW/btsATP9QwcN/EoCEZcJoP9wMQv2KHbRDXK/img.png&quot; data-alt=&quot;비교 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rM1mW/btsATP9QwcN/EoCEZcJoP9wMQv2KHbRDXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrM1mW%2FbtsATP9QwcN%2FEoCEZcJoP9wMQv2KHbRDXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;277&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;277&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;비교 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 첫번째 줄에 명시한, 비교할 파일에 대해서 어떤 기호를 가질 것인지에 대해서 명시를 하고 있습니다. -부호일 경우에, a파일이 변경이 되었음 나타내고, +부호일 경우 b파일이 변경이 되었음을 나타냅니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 이제는 chunk 에 대해서 보고자 합니다. chunk를 보기에 앞서서 가장 먼저 확인해야할 것이 chunk header입니다. chunk header는 다음과&amp;nbsp; 같은 부분입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tpQso/btsAQeJ2YC4/3tEpCHH4caGQBkMkoQMVBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tpQso/btsAQeJ2YC4/3tEpCHH4caGQBkMkoQMVBK/img.png&quot; data-alt=&quot;chunk 헤더&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tpQso/btsAQeJ2YC4/3tEpCHH4caGQBkMkoQMVBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtpQso%2FbtsAQeJ2YC4%2F3tEpCHH4caGQBkMkoQMVBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;258&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;chunk 헤더&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;chunk header의 경우 @@ 로 시작해서, @@로 끝납니다. 간단히 보면, 다음과 같은 형태입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700922374920&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@@ -1,4 +1,5 @@&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 보이는 -, +는 음수 양수가 아닙니다. 그냥 -는 a부분을 나타내고, +부분은 양수 부분을 나타냅니다. 그러면 위의 예시를 바탕으로 살펴보면, -1,4의 경우는 a는 1번째 줄 부터 4번째 줄까지 표시를 하고 +1,5부분은 b는 1번째 줄 부터 5번째 줄까지 표시를 한다는 것입니다. 그리고 종종 chunk header을 끝내는 @@ 뒤에 텍스트가 붙는 경우가 있는 데, 이 부분은 무시하셔도 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;chunk 예시를 간단히 들면서 한번 이야기를 해보도록 하겠습니다. 다음 보이는 빨간 상자가&amp;nbsp; chunk라고 보시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mJbge/btsASV3M9DS/SonL6mH1ogpiKapsZf2lhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mJbge/btsASV3M9DS/SonL6mH1ogpiKapsZf2lhk/img.png&quot; data-alt=&quot;chunk 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mJbge/btsASV3M9DS/SonL6mH1ogpiKapsZf2lhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmJbge%2FbtsASV3M9DS%2FSonL6mH1ogpiKapsZf2lhk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;552&quot; height=&quot;207&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;207&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;chunk 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 앞에 -표시가 있고 빨간색 글씨로 되어 있는 부분은 a에는 있던 부분으로 b에서는 삭제된 부부입니다. 긜고, +부분인 ten은 b에서 추가된 것입니다. -기호가 있는 것은 b에는 없고, a에만 있는 것이고 +기호로 되어 있는 것은 a에는 없고 b에만 있는 것으로 보면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보시는 바와 같이 number.txt라는 파일의 전체 내용을 보여주지는 않습니다. 변경점이 있는 부분과 위 아래, 약간씩을 보여주는 것일 일반적입니다. 그리고 최초 그림에서 봤듯이 git diff의 경우 한개의 파일만 보여주지 않고, 여러개의 파일들을 보여줍니다. 다음의 예시를 한번 보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmSa6h/btsATP9QUDr/jFHEsPknmX9LKrgVjOM8Z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmSa6h/btsATP9QUDr/jFHEsPknmX9LKrgVjOM8Z0/img.png&quot; data-alt=&quot;여러개의 파일들이 git diff의 비교 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmSa6h/btsATP9QUDr/jFHEsPknmX9LKrgVjOM8Z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmSa6h%2FbtsATP9QUDr%2FjFHEsPknmX9LKrgVjOM8Z0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;608&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;여러개의 파일들이 git diff의 비교 결과&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;위에서와 같이 여러개의 chunk가 한번에 출력이 될 수 있습니다. 상기에서 보이는 부분과 같이 각 chunk에서는 git diff에서 여러개의 파일에 대해서 차이점을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/873&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1700923327154&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/873&quot; data-og-url=&quot;https://appia.tistory.com/873&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jLd7t/hyUCdX6Oz9/1gH3nhmqWtpQd44OlkYkWk/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/v7yJ8/hyUB65MIvz/kk93GBkVP9JllnBSpeOt5k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bgSEui/hyUCe3LwLt/AHWE3rg6LjkkrZIhbePRi0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/873&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/873&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jLd7t/hyUCdX6Oz9/1gH3nhmqWtpQd44OlkYkWk/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/v7yJ8/hyUB65MIvz/kk93GBkVP9JllnBSpeOt5k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bgSEui/hyUCe3LwLt/AHWE3rg6LjkkrZIhbePRi0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git diff의 결과 읽는 방법라는 주제로 포스팅을 해봤습니다. 실제 git diff를 사용함에 있어서 가장 중요한것을 나온 결과를 해석할 수 있어야 하는 점입니다. 실제 저의 경우에는 이 부분을 자동화에 활용하기 위해서 정확하게 인지할 필요가 있었습니다. 물론 처음부터 완벽할 수 없지만, 계속 하다보면, 이 부분에 대해서 잘 해석할 수 있을 것입니다. 저와 같이 자동화나, 다른 사람들과 같이 다양한 목적으로도 사용이 될 수 있습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>gitdiff</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/883</guid>
      <comments>https://appia.tistory.com/883#entry883comment</comments>
      <pubDate>Mon, 27 Nov 2023 07:52:37 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기</title>
      <link>https://appia.tistory.com/882</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;차이점&amp;nbsp;확인하는&amp;nbsp;diff&amp;nbsp;명령어&amp;nbsp;사용하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1IkT0/btsAId5BQUS/WovJig3YKltuH2c3sDZ5R1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1IkT0/btsAId5BQUS/WovJig3YKltuH2c3sDZ5R1/img.png&quot; data-alt=&quot;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1IkT0/btsAId5BQUS/WovJig3YKltuH2c3sDZ5R1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1IkT0%2FbtsAId5BQUS%2FWovJig3YKltuH2c3sDZ5R1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;780&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서 많은 어려움을 겪을 수도 있습니다. 그래서 앞으로 겪을 문제상황을 해결하는 방법에 대해서 2개의 포스팅을 통해서 실제 각 파일을 열어서 수정하는 방법과 VSCode를 이용해서 해결하는 방법을 살펴봤습니다. 이번&amp;nbsp; 포스팅에서는 git의 필수적인 요소는 아니나, 매우 많이 사용되고 있는 git의 차이점을 확인하는 git diff 명령어에 대해서 살펴보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/878&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700669110188&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&quot; data-og-description=&quot;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge) 앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다. &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/878&quot; data-og-url=&quot;https://appia.tistory.com/878&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/benXnY/hyUyn1rMbA/7Zca6jYbYKZd2An6ksTKf0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/i5CCV/hyUCePiDpF/9mGtPes7nWaPmelFXUrh60/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bVMKMJ/hyUypydwM8/jx0f209IpzBKO5O8CKcixK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/878&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/878&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/benXnY/hyUyn1rMbA/7Zca6jYbYKZd2An6ksTKf0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/i5CCV/hyUCePiDpF/9mGtPes7nWaPmelFXUrh60/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bVMKMJ/hyUypydwM8/jx0f209IpzBKO5O8CKcixK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge) 앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, git diff에 대해서 약간의 추가 설명을 해보고자 합니다. 일단, git diff의 경우 가장 쉽게 생각하시면, git에서의 변경사항을 보여주는 명령어 입니다. git diff를 통해서 확인할 수 있는 변경사항은 다음 4가지의 경우입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;commit&lt;/li&gt;
&lt;li&gt;working directory(작업 폴더)&lt;/li&gt;
&lt;li&gt;두개의 브랜치 간 또는 두개의 파일 사이에의 변경사항&lt;/li&gt;
&lt;li&gt;로컬과 리모트(Remote, 여기에서는 그냥 간단히 github라고 칭하겠습니다.)사이에서의 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git diff명령어는 git add / git commit과는 달리 repository에 어떤 작업도 하지 않습니다. 쉽게 이야기 드리면, git status 와 git log 명령어 처럼 repositoy에 어떤 작업도 하지 않고, repository에 어떠한 영향도 끼치지 않습니다. 그저 변경 사항에 대해서 순수하게 정보를 보여주는 명령어라고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git diff의 명령어를 실행하는 방법은 매우 간단합니다. 다음과 같은 명령어를 git bash 창에 입력하고 실행하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700669161790&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git diff&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 위의 명령어를 간단한 예시로 만들어서 실행을 해보도록 하겠습니다. 일단, git bash를 실행하신 후에, 앞서서 작업을 했던 repository를 열어보도록 하겠습니다. 제가 여기에서 repository를 연다고 했는데, 그냥 해당 repository가 있는 폴더로 이동한다고 생각하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mEkFo/btsAL1JlXfV/33flnaYdCHzeYCQLUlk3u0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mEkFo/btsAL1JlXfV/33flnaYdCHzeYCQLUlk3u0/img.png&quot; data-alt=&quot;예제로 repository로 이동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mEkFo/btsAL1JlXfV/33flnaYdCHzeYCQLUlk3u0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmEkFo%2FbtsAL1JlXfV%2F33flnaYdCHzeYCQLUlk3u0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제로 repository로 이동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런 후에 git diff를 통해서 변경사항을 확인하기 위해서, 해당 repository에 존재하는 파일을 수정을 해보도록 하겠습니다. 저 같은 경우에는 마지막 줄(4번째줄) 에 &quot;print&quot;라는 글자을 추가하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCdqQG/btsAMVWb87r/ProlgRpFYw7m0pQgyVl9Lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCdqQG/btsAMVWb87r/ProlgRpFYw7m0pQgyVl9Lk/img.png&quot; data-alt=&quot;git diff로 변동 사항을 확인하기 위한 예제 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCdqQG/btsAMVWb87r/ProlgRpFYw7m0pQgyVl9Lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCdqQG%2FbtsAMVWb87r%2FProlgRpFYw7m0pQgyVl9Lk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;609&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff로 변동 사항을 확인하기 위한 예제 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런 후에 다른 파일 또한 함께 수정을 해보도록 하겠습니다. 여기에서는 conflict marker 부분만 삭제하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o15xd/btsAJAeTq27/rtIlPScuV9RD3m2LGS2BbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o15xd/btsAJAeTq27/rtIlPScuV9RD3m2LGS2BbK/img.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;609&quot; data-filename=&quot;004.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o15xd/btsAJAeTq27/rtIlPScuV9RD3m2LGS2BbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo15xd%2FbtsAJAeTq27%2FrtIlPScuV9RD3m2LGS2BbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BmMLZ/btsANLMwFxR/pAFF4zcLTfbvIaAjJFKL71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BmMLZ/btsANLMwFxR/pAFF4zcLTfbvIaAjJFKL71/img.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;609&quot; data-filename=&quot;005.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BmMLZ/btsANLMwFxR/pAFF4zcLTfbvIaAjJFKL71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBmMLZ%2FbtsANLMwFxR%2FpAFF4zcLTfbvIaAjJFKL71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git diff로 변동 사항을 확인하기 위한 예제 파일 수정2.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서와 각각 파일을 수정을 하고 나서, 저장을 하도록 하겠습니다. 그리고 나서, git diff를 명령어를 실행해보도록 하겠습니다.&amp;nbsp; 그러 다음과 같이 차이점에 대해서 나타납니다. (물론, 여기에서 git diff를 읽는 방법에 대해서는 무시하셔도 됩니다. 이 부분에 대해서는 다음 포스팅에서 다루도록 하겠습니다. )&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF0hg5/btsAKSe5DAx/CYly5iSMYbF4kCGAt9yLNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF0hg5/btsAKSe5DAx/CYly5iSMYbF4kCGAt9yLNK/img.png&quot; data-alt=&quot;git diff 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF0hg5/btsAKSe5DAx/CYly5iSMYbF4kCGAt9yLNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF0hg5%2FbtsAKSe5DAx%2FCYly5iSMYbF4kCGAt9yLNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;636&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git diff 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;현재 저는 간단히 변경 사항을 만들었지만, 실제로는 엄청 많은 양은 데이터들이 출력이 됩니다. 그럼 여기에서 git status의 경우에는 어떻게 보여지는 지 같이 한번 살펴보겠습니다. git status를 실행하면, 변경사항에 대해서는 나타나지 않지만, 실제 어떤 파일들이 변경되었는지 확인이 가능합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1JHKF/btsATCia3ga/s49saIWcpN6K4VpHkkOkS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1JHKF/btsATCia3ga/s49saIWcpN6K4VpHkkOkS1/img.png&quot; data-alt=&quot;git status의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1JHKF/btsATCia3ga/s49saIWcpN6K4VpHkkOkS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1JHKF%2FbtsATCia3ga%2Fs49saIWcpN6K4VpHkkOkS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;594&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;594&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 현재 git의 변경 사항에 대해서 파악을 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/880&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1700840719597&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&quot; data-og-description=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/880&quot; data-og-url=&quot;https://appia.tistory.com/880&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cEag0V/hyUCgAfcIw/8hGosQgRVK576z8LkmtSO0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/bD4C25/hyUB40Saf5/yQBIiM9av2tZHy8975BjQ1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/JB0uG/hyUB5rX0Sk/aaZJD06YDvPz3Nqx0pHXpK/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/880&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cEag0V/hyUCgAfcIw/8hGosQgRVK576z8LkmtSO0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/bD4C25/hyUB40Saf5/yQBIiM9av2tZHy8975BjQ1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/JB0uG/hyUB5rX0Sk/aaZJD06YDvPz3Nqx0pHXpK/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git 차이점 확인하는 diff 명령어 사용하기라는 주제로 살펴봈습니다. 실제, git의 동작에서는 크게 영향을 끼치지 않지만, 변경사항에 대해서 추적할 때에는 매우 유용하게 사용할 수 있습니다. 하지만, 실제로는 Gitkraken과 같은 GUI 툴을 통해서 변경사항을 확인하기 때문에, 많이 사용되지는 않습니다. 하지만, command 기반으로 사용하는 것을 선호하시는 분들에게는 아직도 매우 널리 사용됩니다. 직접 사용하지 않더라도, 해당 명령어에 대해서 숙지하고 계시길 바랍니다.&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>gitdiff</category>
      <category>깃</category>
      <category>깃허브</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/882</guid>
      <comments>https://appia.tistory.com/882#entry882comment</comments>
      <pubDate>Sun, 26 Nov 2023 07:07:01 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] VSCode를 이용한 쉽게 Git Merge Conflict(머지 충돌) 해결하기</title>
      <link>https://appia.tistory.com/881</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;VSCode를&amp;nbsp;이용한&amp;nbsp;쉽게&amp;nbsp;Git&amp;nbsp;Merge&amp;nbsp;Conflict(머지&amp;nbsp;충돌)&amp;nbsp;해결하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfIN5f/btsAFrui9YN/sPrndDDrhZj3bqFcWBdet1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfIN5f/btsAFrui9YN/sPrndDDrhZj3bqFcWBdet1/img.png&quot; data-alt=&quot;[깃, Git] VSCode를 이용한 쉽게 Git Merge Conflict(머지 충돌) 해결하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfIN5f/btsAFrui9YN/sPrndDDrhZj3bqFcWBdet1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfIN5f%2FbtsAFrui9YN%2FsPrndDDrhZj3bqFcWBdet1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;769&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] VSCode를 이용한 쉽게 Git Merge Conflict(머지 충돌) 해결하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 앞선 포스팅에서는 &lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;Git Merge Conflict(머지 충돌)을 해결하는 방법에 대해서 살펴봤습니다. 실제, 많은 &lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;Merge Conflict(머지 충돌) 이슈가 있고, 이부분에 해결하는 방법에 대해서 단편적으로 봤습니다. 물론, 각 파일을 열어서, 해당 부분에 대한 파일을 수정해서, 진행하는 경우도 많습니다. 하지만, 다양한 에디터 툴에서는 이런한 부분에 대해서 일정부분 자동으로 수정등이 가능한 방법들을 제시하고 있습니다. 그래서 이번 포스팅에서는 VSCode를 바탕으로 &lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;Merge Conflict(머지 충돌)가 발생할 때, 파일을 수정하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/874&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700461780909&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&quot; data-og-description=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/874&quot; data-og-url=&quot;https://appia.tistory.com/874&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHP2AQ/hyUCbEyO0y/IvYvhYRKAR9TNrbxxdj6Rk/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/bCZC5Q/hyUyuTke2d/iSgQtHe5AGrd8B0Hh4bJRk/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/sgGok/hyUB4McqTE/EKI2qzJyjzkqMZPf6nXcYk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/874&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/874&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHP2AQ/hyUCbEyO0y/IvYvhYRKAR9TNrbxxdj6Rk/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/bCZC5Q/hyUyuTke2d/iSgQtHe5AGrd8B0Hh4bJRk/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/sgGok/hyUB4McqTE/EKI2qzJyjzkqMZPf6nXcYk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;&lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;&lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;이번 포스팅에선 Commit 및 환경에 관련된 부분에 대해서 GUI툴인 GitKraken을 활용해서 진행하도록 하겠습니다. 이 부분은 다른 다양한 툴에서도 동일한 방법이나, GitKraken을 설치 하실 분들은 상기 링크를 참조하셔서 설치진행하시면 될듯합니다. 그럼 먼저, 이전 포스팅까지 진행된 repository를 활용해서 진행을 하도록 하겠습니다. 먼저 이전까지 진행된 Repository를 GitKraken으로 열어보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MwGz7/btsAyJJZVLh/tWpdO0PeoCIPoPrhcbpdjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MwGz7/btsAyJJZVLh/tWpdO0PeoCIPoPrhcbpdjK/img.png&quot; data-alt=&quot;이전 포스팅까지 진행된 Git Repository&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MwGz7/btsAyJJZVLh/tWpdO0PeoCIPoPrhcbpdjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMwGz7%2FbtsAyJJZVLh%2FtWpdO0PeoCIPoPrhcbpdjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이전 포스팅까지 진행된 Git Repository&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서, merge_b와 master을 merge하도록 하겠습니다. 일부로 Merge Conflict(머지 충돌)을 만들기 위해서, 저는 sub.txt파일을 각각 다르게 수정을 하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 현재 브랜치인 merge_b에서 sub.txt 파일에 대한 내용을 수정하도록 하겠습니다. 다음과 같이 파일을 수정하고, 파일을 저장합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wcb9Q/btsAxWvEYFQ/muBpbuBUv8bFioRvLTGd41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wcb9Q/btsAxWvEYFQ/muBpbuBUv8bFioRvLTGd41/img.png&quot; data-alt=&quot;merge_b의 sub.txt 수정 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wcb9Q/btsAxWvEYFQ/muBpbuBUv8bFioRvLTGd41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwcb9Q%2FbtsAxWvEYFQ%2FmuBpbuBUv8bFioRvLTGd41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge_b의 sub.txt 수정 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고나서, GitKraken으로 해당 부분에 대해서 Stage에 올립니다. 다음 빨간 상자를 누르면, 모든 수정 부분에 대해서 stage에 올릴 수 있습니다. 물론, 해당 부분에 대해서 선택해서 올릴 수도 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQezTF/btsAD4eS4vB/o2c2w8cIkftvO68rqUMxBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQezTF/btsAD4eS4vB/o2c2w8cIkftvO68rqUMxBK/img.png&quot; data-alt=&quot;merge_b의 sub.txt 수정 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQezTF/btsAD4eS4vB/o2c2w8cIkftvO68rqUMxBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQezTF%2FbtsAD4eS4vB%2Fo2c2w8cIkftvO68rqUMxBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge_b의 sub.txt 수정 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 하기와 같이 commit 메시지를 입력하고 해당 부분에 대해서 commit을 진행하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZ7QNs/btsAF1orrAF/OLrlrvuPCcsNzKJDsIdEXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZ7QNs/btsAF1orrAF/OLrlrvuPCcsNzKJDsIdEXK/img.png&quot; data-alt=&quot;merge_b의 sub.txt 수정 내용에 대한 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZ7QNs/btsAF1orrAF/OLrlrvuPCcsNzKJDsIdEXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZ7QNs%2FbtsAF1orrAF%2FOLrlrvuPCcsNzKJDsIdEXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge_b의 sub.txt 수정 내용에 대한 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계까지 하고 나면, 다음과 같은 화면이 나타날 것입니다. 다음과 같은 화면에서 빨간색 상자에서 보이는 &quot;master&quot;브랜치를 더블 클릭하여 브랜치를 이동하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3c6PZ/btsABCiEqwB/tym1LZUXqInA8zYGKhaa90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3c6PZ/btsABCiEqwB/tym1LZUXqInA8zYGKhaa90/img.png&quot; data-alt=&quot;merge_b의 sub.txt 수정 내용에 대한 commit 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3c6PZ/btsABCiEqwB/tym1LZUXqInA8zYGKhaa90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3c6PZ%2FbtsABCiEqwB%2Ftym1LZUXqInA8zYGKhaa90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge_b의 sub.txt 수정 내용에 대한 commit 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정에서 sub.txt파일을 merge_b에서 수정하였습니다. 저는 일부러 merge conflict를 만들기 위해서, master 브랜치에서도 sub.txt를 merge_b와 다르게 수정하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CcyDa/btsAANSsO9Q/xvLBjadK6EnbO8kqSp1K91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CcyDa/btsAANSsO9Q/xvLBjadK6EnbO8kqSp1K91/img.png&quot; data-alt=&quot;master 브랜치로 브랜치 전환&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CcyDa/btsAANSsO9Q/xvLBjadK6EnbO8kqSp1K91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCcyDa%2FbtsAANSsO9Q%2FxvLBjadK6EnbO8kqSp1K91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master 브랜치로 브랜치 전환&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정에서 master 브랜치로 전환을 하였습니다. 그리고 나서, sub.txt파일을 수정하도록 하겠습니다. 어차피 merge conflict(머지 충돌)을 만드는 것을 중점적으로 보기 위해서이기 때문에, sub.txt파일을 merge_b와 다르게 수정하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9N7Hd/btsAyLA6H5k/P2OXcrHIKGAgg4nhqAA8O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9N7Hd/btsAyLA6H5k/P2OXcrHIKGAgg4nhqAA8O1/img.png&quot; data-alt=&quot;master의 sub.txt파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9N7Hd/btsAyLA6H5k/P2OXcrHIKGAgg4nhqAA8O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9N7Hd%2FbtsAyLA6H5k%2FP2OXcrHIKGAgg4nhqAA8O1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master의 sub.txt파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, sub txt를 stage에 add하고 앞서 merge_b에서 진행한 바와 같이 commit을 진행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rtNna/btsAyKa2Aqc/xsy3CH27sAPV6eF6nxD0kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rtNna/btsAyKa2Aqc/xsy3CH27sAPV6eF6nxD0kK/img.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot; data-filename=&quot;010.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rtNna/btsAyKa2Aqc/xsy3CH27sAPV6eF6nxD0kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrtNna%2FbtsAyKa2Aqc%2Fxsy3CH27sAPV6eF6nxD0kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xP4RR/btsAzatqlt7/pnLX9eHMJHUBJHqcJMQq00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xP4RR/btsAzatqlt7/pnLX9eHMJHUBJHqcJMQq00/img.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot; data-filename=&quot;011.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xP4RR/btsAzatqlt7/pnLX9eHMJHUBJHqcJMQq00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxP4RR%2FbtsAzatqlt7%2FpnLX9eHMJHUBJHqcJMQq00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;master브랜치의 sub.txt파일 수정후 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정까지 진행하면, 다음과 같이 GitKraken에서 명시를 합니다. 그러면, 이제는 master 브랜치에서 merge_b를 merge를 진행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkTDXI/btsAyNlnx5Q/JHmQfe072dBtQ0fP9qwWi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkTDXI/btsAyNlnx5Q/JHmQfe072dBtQ0fP9qwWi1/img.png&quot; data-alt=&quot;commit 후의 GitKraken의 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkTDXI/btsAyNlnx5Q/JHmQfe072dBtQ0fP9qwWi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkTDXI%2FbtsAyNlnx5Q%2FJHmQfe072dBtQ0fP9qwWi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit 후의 GitKraken의 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 merge의 경우 아직까지 익숙한 Git Bash을 이용하도록 하겠습니다. 현재의 브랜치가 master이기 때문에 다음 명령어를 이용하여 merge_b를 merge를 시도하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700489489257&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git merge merge_b&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 앞서서 봐왔던 바와 같이 CONFLICT 화면이 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y2zBP/btsAFZKU0e5/UO8jfgU0K3q0Seiu1mIEk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y2zBP/btsAFZKU0e5/UO8jfgU0K3q0Seiu1mIEk0/img.png&quot; data-alt=&quot;merge 시도 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y2zBP/btsAFZKU0e5/UO8jfgU0K3q0Seiu1mIEk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy2zBP%2FbtsAFZKU0e5%2FUO8jfgU0K3q0Seiu1mIEk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge 시도 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/847&quot;&gt;[윈도우11, windows11] Ms vscode 다운로드 및 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700489644911&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11, windows11] Ms vscode 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11, windows11] MS vscode 다운로드 및 설치하기 파이썬 및 다양한 코딩 프로그램을 사용하기 위해서, 다양한 에디터 프로그램을 사용합니다. 이전에는 각 언어마다, 에디터 프로그램들이 다 달&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/847&quot; data-og-url=&quot;https://appia.tistory.com/847&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/buZrjx/hyUB30VIUj/2GOMKiiY2Njcpj8rBDWcK0/img.png?width=711&amp;amp;height=713&amp;amp;face=0_0_711_713,https://scrap.kakaocdn.net/dn/bGt1zY/hyUypdvxSv/0aEJOSrkAjJaR0EBRabCTK/img.png?width=711&amp;amp;height=713&amp;amp;face=0_0_711_713,https://scrap.kakaocdn.net/dn/wOihz/hyUyxP8N78/dAy6BZSwJwSD9oVxUkby6K/img.png?width=1274&amp;amp;height=1017&amp;amp;face=0_0_1274_1017&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/847&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/847&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/buZrjx/hyUB30VIUj/2GOMKiiY2Njcpj8rBDWcK0/img.png?width=711&amp;amp;height=713&amp;amp;face=0_0_711_713,https://scrap.kakaocdn.net/dn/bGt1zY/hyUypdvxSv/0aEJOSrkAjJaR0EBRabCTK/img.png?width=711&amp;amp;height=713&amp;amp;face=0_0_711_713,https://scrap.kakaocdn.net/dn/wOihz/hyUyxP8N78/dAy6BZSwJwSD9oVxUkby6K/img.png?width=1274&amp;amp;height=1017&amp;amp;face=0_0_1274_1017');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] Ms vscode 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11, windows11] MS vscode 다운로드 및 설치하기 파이썬 및 다양한 코딩 프로그램을 사용하기 위해서, 다양한 에디터 프로그램을 사용합니다. 이전에는 각 언어마다, 에디터 프로그램들이 다 달&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 위에서 충돌이 난 부분을 VSCode를 바탕으로 열어보도록 하겠습니다. VSCode가 설치되지 않은 분들은 위의 링크를 바탕으로 진행하셔도 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 위에서 Merge Conflict(머지 충돌)이 발생한 파일을 열어 보겠습니다. VS Code에서는 빨간색 보이는 부분과 같이 4가지 메뉴를 제공하고 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kLd34/btsAFqCeOVs/fP4Y5erh7p0DABJKVaevy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kLd34/btsAFqCeOVs/fP4Y5erh7p0DABJKVaevy1/img.png&quot; data-alt=&quot;Merge Conflict(머지 충돌) 발생한 파일을 VS Code로 열 경우&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kLd34/btsAFqCeOVs/fP4Y5erh7p0DABJKVaevy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkLd34%2FbtsAFqCeOVs%2FfP4Y5erh7p0DABJKVaevy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge Conflict(머지 충돌) 발생한 파일을 VS Code로 열 경우&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;먼저, 각 메뉴는 클릭할 수 있습니다. 각 부분에 대해서 설명을 하면 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style12&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;메뉴&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Accept Current Change&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;현재 HEAD 기준으로 유지&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Accept Incoming Change&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Merge될 브랜치의 내용으로 전환&amp;nbsp;&lt;br /&gt;* 하기 예시에서는 merge_b의 내용으로 대체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Accept Both Changes&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Conflict Marker를 제외하고 사용&lt;br /&gt;* 즉, HEAD의 내용과 merge될 브랜치의 내용 모두 통합해서 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;Compare Changes&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;충돌난 파일 비교&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단, 다음 부분은 Accept Both Changes를 누른 결과입니다. 보시는 바와 같이 Conflict Marker만 삭제되고, HEAD 부분의 내용과 Merge될 브랜치의 내용이 모두 존재합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/srYiw/btsAyrIZMjo/0RfeSKrSuVScGyzAQcTYck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/srYiw/btsAyrIZMjo/0RfeSKrSuVScGyzAQcTYck/img.png&quot; data-alt=&quot;Accept Both Changes 클릭 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/srYiw/btsAyrIZMjo/0RfeSKrSuVScGyzAQcTYck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsrYiw%2FbtsAyrIZMjo%2F0RfeSKrSuVScGyzAQcTYck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Accept Both Changes 클릭 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 다음 화면은 Compare Changes 부분의 메뉴를 클릭했을 경우입니다. 여기에서 compare 툴 같이 사용이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvnyZw/btsAxYgoD2G/PYB3c7ScRmTv9rA1bZzu5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvnyZw/btsAxYgoD2G/PYB3c7ScRmTv9rA1bZzu5K/img.png&quot; data-alt=&quot;Compare Changes 클리 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvnyZw/btsAxYgoD2G/PYB3c7ScRmTv9rA1bZzu5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvnyZw%2FbtsAxYgoD2G%2FPYB3c7ScRmTv9rA1bZzu5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Compare Changes 클리 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단, 위의 방식 중 하나를 선택하여 merge conflict를 해결하여 commit을 진행하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9fjFo/btsAxXg2NEe/K6bI7Uj98JuwNNAn5hAPO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9fjFo/btsAxXg2NEe/K6bI7Uj98JuwNNAn5hAPO0/img.png&quot; data-alt=&quot;Merge Conflict 해결 후 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9fjFo/btsAxXg2NEe/K6bI7Uj98JuwNNAn5hAPO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9fjFo%2FbtsAxXg2NEe%2FK6bI7Uj98JuwNNAn5hAPO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge Conflict 해결 후 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 VSCode를 통해서 Merge Conflict(머지 충돌)을 해결할 수 있었습니다. 물론, 이와 같은 방법을 사용하시면 보다 쉽게 Merge Conflict(머지 충돌)을 해결할 수 있습니다. (그럼에도 사람이 직접해야하는 부분이 있습니다. 그런 부분에 대해서는 피할 수 없는 부분입니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/880&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700839547262&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&quot; data-og-description=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/880&quot; data-og-url=&quot;https://appia.tistory.com/880&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cEag0V/hyUCgAfcIw/8hGosQgRVK576z8LkmtSO0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/bD4C25/hyUB40Saf5/yQBIiM9av2tZHy8975BjQ1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/JB0uG/hyUB5rX0Sk/aaZJD06YDvPz3Nqx0pHXpK/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/880&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cEag0V/hyUCgAfcIw/8hGosQgRVK576z8LkmtSO0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/bD4C25/hyUB40Saf5/yQBIiM9av2tZHy8975BjQ1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/JB0uG/hyUB5rX0Sk/aaZJD06YDvPz3Nqx0pHXpK/img.png?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법 이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] VSCode를 이용한 쉽게 Git Merge Conflict(머지 충돌) 해결하기라는 방법에 대해서 이야기를 해봤습니다. 이 부분과 앞선 포스팅을 바탕으로 Git Merge시에 발생하는 문제에 대해서 잘 피해가시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>Merge</category>
      <category>Merge Conflict</category>
      <category>머지</category>
      <category>머지충돌</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/881</guid>
      <comments>https://appia.tistory.com/881#entry881comment</comments>
      <pubDate>Sat, 25 Nov 2023 07:55:01 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법</title>
      <link>https://appia.tistory.com/880</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;Merge&amp;nbsp;Conflict(머지&amp;nbsp;충돌)&amp;nbsp;해결하는&amp;nbsp;방법&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blfdks/btsABzscKyu/Scv0Zg5vtafONLERA7itUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blfdks/btsABzscKyu/Scv0Zg5vtafONLERA7itUk/img.png&quot; data-alt=&quot;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blfdks/btsABzscKyu/Scv0Zg5vtafONLERA7itUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblfdks%2FbtsABzscKyu%2FScv0Zg5vtafONLERA7itUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;801&quot; height=&quot;799&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서, Git Merge commit이 생성되는 경우에 대해서 살펴봤습니다. 물론, 모든 merge의 경우 아무런 문제가 없다면 매우 이상적인 상황일 것입니다. 하지만, 실제로는 Merge시에 생각치 않은 이슈에 직면하게 됩니다. 그중 가장 큰 것이 바로 Merge conflict(머지 충돌)라는 부분입니다. 오늘 포스팅에서는 이 Merge conflict(머지 충돌)이 발생할 경우에 해결하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/879&quot;&gt;[깃, Git] Git Merge commit 생성되는 경우&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700754617454&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Merge commit 생성되는 경우&quot; data-og-description=&quot;[깃, Git] Git Merge commit 생성되는 경우 이전 포스팅에서 우리는 Git Merge에 대해서 이야기를 했습니다. 여기에서, Fast-Forward Merge를 기반으로 Merge에 대해서 이야기를 했었습니다. 물론, 앞선 포스팅에&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/879&quot; data-og-url=&quot;https://appia.tistory.com/879&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/thVI6/hyUB6cYl2a/Nux8g7B8RJC3bHEZVHW3l0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/J1M26/hyUB56bEpv/EGNrNX2FoEtD2gH0xzJbaK/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/bj3Cvg/hyUB6xgP8A/sqUY8k8uSykwV0tSR4WSd1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/879&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/879&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/thVI6/hyUB6cYl2a/Nux8g7B8RJC3bHEZVHW3l0/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/J1M26/hyUB56bEpv/EGNrNX2FoEtD2gH0xzJbaK/img.png?width=799&amp;amp;height=800&amp;amp;face=0_0_799_800,https://scrap.kakaocdn.net/dn/bj3Cvg/hyUB6xgP8A/sqUY8k8uSykwV0tSR4WSd1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge commit 생성되는 경우&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Merge commit 생성되는 경우 이전 포스팅에서 우리는 Git Merge에 대해서 이야기를 했습니다. 여기에서, Fast-Forward Merge를 기반으로 Merge에 대해서 이야기를 했었습니다. 물론, 앞선 포스팅에&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단, Merge conflict(머지 충돌)에 대해서 간단히 이야기를 해보도록 하겠습니다. 이 부분은 쉽게 이야기 하면, Merge시에 동일한 한개의 파일에 대해서 각 브랜치에서 수정한 내용이 상이할 경우에 발생합니다. 예를 들면, 저희는 Merge할 A와 B라는 각 브랜치에서 동일한 한개의 파일에 대해서 각 수정한 내용이 다를 경우에 발생합니다. 이 부분은 해당 파일을 수정해서 다시 한번 git add / git commit을 진행해야합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;간단히 Merge conflict(머지 충돌)를 해결하는 방법은 다음과 같습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;merge시 충돌한 파일 열기 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;Merge conflict(머지 충돌)&lt;/span&gt; &amp;nbsp;부분 수정하기 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제거 하기 &quot; conflict markers&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 변화를 add 하고 commit 만들기 &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 간단한 예시를 함께 살펴보도록 하겠습니다. 이 예시에서는 일부로, &lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;Merge conflict(머지 충돌)이 발생하게 하고 이 부분을 수정하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;일단, 별도의 폴더를 만들어서 하나 만들고, 해당 폴더에 git init을 통해서 repository를 초기화 하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700439605968&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ mkdir mergeT
$ cd mergeT
$ git init
# 파일 생성 후 commit
$ touch main.txt
$ git add main.txt
$ git commit -m &quot;add main file&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, 다음과 같이 repository를 하나 생성하고, 하나의 commit을 생성하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rcmoj/btsAxJb03Tc/7aHJP84mImTtfHj4vVIjkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rcmoj/btsAxJb03Tc/7aHJP84mImTtfHj4vVIjkK/img.png&quot; data-alt=&quot;예제 commit 생성1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rcmoj/btsAxJb03Tc/7aHJP84mImTtfHj4vVIjkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRcmoj%2FbtsAxJb03Tc%2F7aHJP84mImTtfHj4vVIjkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 commit 생성1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, 추가 commit을 하나 더 생성합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700441523486&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 파일 생성 후 commit
$ touch sub.txt
$ git add sub.txt
$ git commit -m &quot;add sub file&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lHEjH/btsAvsaN9wj/8oTKEkpDvisZThNE3K1Pw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lHEjH/btsAvsaN9wj/8oTKEkpDvisZThNE3K1Pw1/img.png&quot; data-alt=&quot;예제. 추가 commit 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lHEjH/btsAvsaN9wj/8oTKEkpDvisZThNE3K1Pw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlHEjH%2FbtsAvsaN9wj%2F8oTKEkpDvisZThNE3K1Pw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제. 추가 commit 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저희는 이제 2개의 브랜치를 만들어보겠습니다. 앞선 포스팅에서 나왔던, git switch -c 명령어를 사용해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700441600260&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 브랜치 생성
$ git switch -c sub&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, 브랜치가 생성 되었고 바로 전환되었음을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n0spa/btsAD1BY8qe/K7qQwHTNQSDje6TDE72kMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n0spa/btsAD1BY8qe/K7qQwHTNQSDje6TDE72kMK/img.png&quot; data-alt=&quot;sub 브랜치 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n0spa/btsAD1BY8qe/K7qQwHTNQSDje6TDE72kMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn0spa%2FbtsAD1BY8qe%2FK7qQwHTNQSDje6TDE72kMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sub 브랜치 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;추가로 t_sub라는 브랜치 또한 생성을 해보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700441681744&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c t_sub&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6EDMP/btsAxX18jap/LAaGbv36mYtpNx2eRS87AK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6EDMP/btsAxX18jap/LAaGbv36mYtpNx2eRS87AK/img.png&quot; data-alt=&quot;t_sub 브랜치 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6EDMP/btsAxX18jap/LAaGbv36mYtpNx2eRS87AK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6EDMP%2FbtsAxX18jap%2FLAaGbv36mYtpNx2eRS87AK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;t_sub 브랜치 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 앞선 과정에서 생성한 main.txt에 내용을 추가해보도록 하겠습니다. 이 내용은 t_sub 브랜치에 국한됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kQ1OS/btsAxZyUYhU/5urKdvjGjOakFQ2QxBkDU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kQ1OS/btsAxZyUYhU/5urKdvjGjOakFQ2QxBkDU0/img.png&quot; data-alt=&quot;t_sub의 main.txt 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kQ1OS/btsAxZyUYhU/5urKdvjGjOakFQ2QxBkDU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkQ1OS%2FbtsAxZyUYhU%2F5urKdvjGjOakFQ2QxBkDU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;t_sub의 main.txt 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 해당 파일에 대해서 git add와 git commit을 진행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700441829932&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add main.txt
$ git commit -m &quot;modified main.txt&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, commit을 진행하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHrjb2/btsAzRGERq8/c7Uh1Y32deE5lCMyiEeank/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHrjb2/btsAzRGERq8/c7Uh1Y32deE5lCMyiEeank/img.png&quot; data-alt=&quot;main.txt 수정 후 commit (t_sub 브랜치)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHrjb2/btsAzRGERq8/c7Uh1Y32deE5lCMyiEeank/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHrjb2%2FbtsAzRGERq8%2Fc7Uh1Y32deE5lCMyiEeank%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;main.txt 수정 후 commit (t_sub 브랜치)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저희는 그런 후에 앞서서 생성한 sub 브랜치로 이동하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700442184488&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch sub&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWpv0F/btsAvWWNZi3/8cKERvhwoDDiGodjsN4RR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWpv0F/btsAvWWNZi3/8cKERvhwoDDiGodjsN4RR1/img.png&quot; data-alt=&quot;sub브랜치로 이동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWpv0F/btsAvWWNZi3/8cKERvhwoDDiGodjsN4RR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWpv0F%2FbtsAvWWNZi3%2F8cKERvhwoDDiGodjsN4RR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sub브랜치로 이동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, &lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;Merge conflict(머지 충돌)를 만들기 위해서, main.txt를 변경하도록 하겠습니다. 물론, 이전에 t_sub 브랜치에서 수정한 내용과 상이하게 만들겠습니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lxCHh/btsAzAZsz6U/wRJYvgQftRwFAEKH1Nk3ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lxCHh/btsAzAZsz6U/wRJYvgQftRwFAEKH1Nk3ek/img.png&quot; data-alt=&quot;sub 브랜치의 Merge conflict(머지 충돌)발생을 위한 main.txt 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lxCHh/btsAzAZsz6U/wRJYvgQftRwFAEKH1Nk3ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlxCHh%2FbtsAzAZsz6U%2FwRJYvgQftRwFAEKH1Nk3ek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sub 브랜치의 Merge conflict(머지 충돌)발생을 위한 main.txt 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 해당 부분에 대해서 git add / git commit을 통해서 commit을 진행하도록 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700442554399&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add main.txt
$ git commit -m &quot;t test&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어릍 토대로 실행하면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m2qyk/btsAyruUYO5/UHbVMkkPWild7SKOKmHigK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m2qyk/btsAyruUYO5/UHbVMkkPWild7SKOKmHigK/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌)을 위한 파일 수정에 대한 commit 진행건&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m2qyk/btsAyruUYO5/UHbVMkkPWild7SKOKmHigK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm2qyk%2FbtsAyruUYO5%2FUHbVMkkPWild7SKOKmHigK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌)을 위한 파일 수정에 대한 commit 진행건&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 저희는 sub 브랜치의 현재 기준으로 하나의 브랜치를 추가로 생성합니다. 물론, 현재 sub 기준으로 바로 merge를 진행해도 되나, 혹 모를 상황을 대비하여, merge_b라는 브랜치를 하나 만들어서 merge를 진행할 예정입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700442724850&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c merge_B&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서 브랜치를 하나 생성하여, 바로 전환하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xotiI/btsAvieKagb/MiKdFsKv1YB5ToVjqK5w0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xotiI/btsAvieKagb/MiKdFsKv1YB5ToVjqK5w0k/img.png&quot; data-alt=&quot;추가 브랜치 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xotiI/btsAvieKagb/MiKdFsKv1YB5ToVjqK5w0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxotiI%2FbtsAvieKagb%2FMiKdFsKv1YB5ToVjqK5w0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;추가 브랜치 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, merge_B에서 git merge 명령어를 통해서 t_sub브랜치와 merge를 시도해보겠습니다. 역시 현재, 해당 부분에 대해서 merge를 진행하니 정상적으로 merge가 안되는 것을 볼 수 있습니다. 다음과 같은 화면에서, &quot;CONFLICT&quot;가 발생한것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5qX9J/btsAyLf5zjm/ILPKfvKchh7heW7qGKqoO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5qX9J/btsAyLf5zjm/ILPKfvKchh7heW7qGKqoO1/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌) 발생화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5qX9J/btsAyLf5zjm/ILPKfvKchh7heW7qGKqoO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5qX9J%2FbtsAyLf5zjm%2FILPKfvKchh7heW7qGKqoO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌) 발생화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 현재 문제가 되는 부분을 열어보도록 하겠습니다. main.txt 부분을 열어보면 다음과 같은 화면이 나타나는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNONxO/btsABCvH6FM/kei2X3xgV2wQKW03iOrtD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNONxO/btsABCvH6FM/kei2X3xgV2wQKW03iOrtD1/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌) 발생후 해당 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNONxO/btsABCvH6FM/kei2X3xgV2wQKW03iOrtD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNONxO%2FbtsABCvH6FM%2Fkei2X3xgV2wQKW03iOrtD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌) 발생후 해당 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 내용을 보면, 약간 이상한 내용이 보입니다. 즉, 이 부분을 conflict Markers라고 하는데, 즉 conflict가 발생한 파일에 대해서 해당 부분에 대해서 표시를 해줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700443814404&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; HEAD
내용.... (HEAD 브랜치 내용)

=======
내용....(Merge할 브랜치 내용)
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Merge할 브랜치 이름&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단, 해당 부분에서 conflict marker를 삭제하고, 해당 파일을 수정하도록 하겠습니가. 그런 후에 저장을 해줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MsjcT/btsAvkwPL2H/nmdy40DfRozeTcsOPqcvM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MsjcT/btsAvkwPL2H/nmdy40DfRozeTcsOPqcvM0/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌)로 발생한 conflict marker 삭제 및 파일 수정 후의 main.txt&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MsjcT/btsAvkwPL2H/nmdy40DfRozeTcsOPqcvM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMsjcT%2FbtsAvkwPL2H%2Fnmdy40DfRozeTcsOPqcvM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌)로 발생한 conflict marker 삭제 및 파일 수정 후의 main.txt&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 해당 파일에 대해서 git add를 진행하고, git commit을 진행하도록 합니다. 그런 후에 git log을 보면, 다음과 같이 정상적으로 merge가 된것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/stJTB/btsAyLmRGGF/qloWDobBieEDRWkMjMCTW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/stJTB/btsAyLmRGGF/qloWDobBieEDRWkMjMCTW1/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌) 해결 후, commit 상태 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/stJTB/btsAyLmRGGF/qloWDobBieEDRWkMjMCTW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FstJTB%2FbtsAyLmRGGF%2FqloWDobBieEDRWkMjMCTW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌) 해결 후, commit 상태 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 부분을 gitkraken으로 확인해보면, 다음과 같은 화면이 나타납니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bze5mg/btsAvX2taBu/gaPyTbDoFYENqqQq1tJut0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bze5mg/btsAvX2taBu/gaPyTbDoFYENqqQq1tJut0/img.png&quot; data-alt=&quot;Merge conflict(머지 충돌) 해결 후, commit 상태 확인 - gitkraken&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bze5mg/btsAvX2taBu/gaPyTbDoFYENqqQq1tJut0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbze5mg%2FbtsAvX2taBu%2FgaPyTbDoFYENqqQq1tJut0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge conflict(머지 충돌) 해결 후, commit 상태 확인 - gitkraken&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 &lt;span style=&quot;text-align: center;&quot;&gt;Merge conflict(머지 충돌)에 대해서 해결하는 방법에 대해서 살펴봤습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/875&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700444528746&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/875&quot; data-og-url=&quot;https://appia.tistory.com/875&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cJwBAO/hyUB6DcI38/ViakksHNveCRjSXuATumI0/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/cf69j1/hyUB73bu97/ZSQxyqVeroEzqsGvhD21qk/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/bOIxNb/hyUCcwEBNz/igtIkGnd70oOhFZCbVpuI1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/875&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/875&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cJwBAO/hyUB6DcI38/ViakksHNveCRjSXuATumI0/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/cf69j1/hyUB73bu97/ZSQxyqVeroEzqsGvhD21qk/img.png?width=750&amp;amp;height=749&amp;amp;face=0_0_750_749,https://scrap.kakaocdn.net/dn/bOIxNb/hyUCcwEBNz/igtIkGnd70oOhFZCbVpuI1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;이번 포스팅에서는 [깃, Git] Git Merge Conflict(머지 충돌) 해결하는 방법라는 주제로 포스팅을 해봤습니다. 실제, 이 부분에 대해서 흔히 접할 수 있습니다. 이와 같은 부분에 대해서 해결하는 방법에 대해서 다양하게 연습을 해보는 것을 권장드립니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>Merge</category>
      <category>Merge Conflict</category>
      <category>깃</category>
      <category>머지충돌</category>
      <category>충돌</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/880</guid>
      <comments>https://appia.tistory.com/880#entry880comment</comments>
      <pubDate>Fri, 24 Nov 2023 07:47:15 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git Merge commit 생성되는 경우</title>
      <link>https://appia.tistory.com/879</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃, Git] Git Merge commit 생성되는 경우&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCKFVn/btsAAPWdBZI/2J1wMUednzvLeW2QbU2tgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCKFVn/btsAAPWdBZI/2J1wMUednzvLeW2QbU2tgK/img.png&quot; data-alt=&quot;[깃, Git] Git Merge commit 생성되는 경우&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCKFVn/btsAAPWdBZI/2J1wMUednzvLeW2QbU2tgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCKFVn%2FbtsAAPWdBZI%2F2J1wMUednzvLeW2QbU2tgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;800&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git Merge commit 생성되는 경우&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서 우리는 Git Merge에 대해서 이야기를 했습니다. 여기에서, Fast-Forward Merge를 기반으로 Merge에 대해서 이야기를 했었습니다. 물론, 앞선 포스팅에서는 Fast-Forward에 대해서 이야기 했지만, 실제 프로젝트를 진행할 경우 Fast-Forward Merge가 아닌 경우가 더욱 많습니다. 이번 포스팅에서는 그런 경우에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/878&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700669094420&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&quot; data-og-description=&quot;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge) 앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다. &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/878&quot; data-og-url=&quot;https://appia.tistory.com/878&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/benXnY/hyUyn1rMbA/7Zca6jYbYKZd2An6ksTKf0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/i5CCV/hyUCePiDpF/9mGtPes7nWaPmelFXUrh60/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bVMKMJ/hyUypydwM8/jx0f209IpzBKO5O8CKcixK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/878&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/878&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/benXnY/hyUyn1rMbA/7Zca6jYbYKZd2An6ksTKf0/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/i5CCV/hyUCePiDpF/9mGtPes7nWaPmelFXUrh60/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bVMKMJ/hyUypydwM8/jx0f209IpzBKO5O8CKcixK/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge) 앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;327&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p0cRX/btsAw5sh2G3/rJG8kyWTjLdUaUoJVWWSzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p0cRX/btsAw5sh2G3/rJG8kyWTjLdUaUoJVWWSzK/img.png&quot; data-alt=&quot;일반적인 Merge의 경우&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p0cRX/btsAw5sh2G3/rJG8kyWTjLdUaUoJVWWSzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp0cRX%2FbtsAw5sh2G3%2FrJG8kyWTjLdUaUoJVWWSzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;327&quot; height=&quot;151&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;327&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;일반적인 Merge의 경우&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;먼저, 위에서 보이는 부분과 같은 경우의 Merge가 가장 많이 발생합니다. 물론 이 과정에서 파일간의 conflict가 많이 발생합니다. 하지만, 여기에서는 이 conflict에 대해서는 이야기는 하지 않고, conflict이 없다는 전제로 이야기를 하겠습니다. 위와 같은 그림의 비슷한 예시로 만들어서 한번 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 하나의 폴더를 (novelExample1) 만들고, git을 초기화 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700378913044&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ mkdir novelExample1
$ cd novelExample1
$ git init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 바탕으로 실행을 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEXDBQ/btsAxZlbmHa/YWcwiQ4soiYklrMHLJ98TK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEXDBQ/btsAxZlbmHa/YWcwiQ4soiYklrMHLJ98TK/img.png&quot; data-alt=&quot;예시를 위한 repository 초기화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEXDBQ/btsAxZlbmHa/YWcwiQ4soiYklrMHLJ98TK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEXDBQ%2FbtsAxZlbmHa%2FYWcwiQ4soiYklrMHLJ98TK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시를 위한 repository 초기화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 나서, 파일을 하나 만들어서 commit을 하도록 하겠습니다. 이러한 과정을 한번 더 해서 총 2개의 commit을 생성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700379059188&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# commit 한 개 생성
$ touch master1.txt
$ git add master1.txt
$ git commit -m &quot; add 1 file&quot;

# 두 번째 commit 생성
$ touch master2.txt
$ git add master2.txt
$ git commit -m &quot; add 2 file&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ch75HU/btsAzCCNtK0/ISADKpqqTLZjqNwtJxOiW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ch75HU/btsAzCCNtK0/ISADKpqqTLZjqNwtJxOiW0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;004.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ch75HU/btsAzCCNtK0/ISADKpqqTLZjqNwtJxOiW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fch75HU%2FbtsAzCCNtK0%2FISADKpqqTLZjqNwtJxOiW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5iA5C/btsAvritYLE/XkvANB7MiQLGdaCSLSQlg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5iA5C/btsAvritYLE/XkvANB7MiQLGdaCSLSQlg0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;005.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5iA5C/btsAvritYLE/XkvANB7MiQLGdaCSLSQlg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5iA5C%2FbtsAvritYLE%2FXkvANB7MiQLGdaCSLSQlg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;예제를 위한 commit 생성&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, switch -c 옵션을 통해서 branch(브랜치)를 생성하면서 전환하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700379114997&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c &quot;merge_B&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서, branch(브랜치)를 생성하면서 전환하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4jGvO/btsAy9AGMee/6i4SHFEWJmKXeR6Rukno8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4jGvO/btsAy9AGMee/6i4SHFEWJmKXeR6Rukno8k/img.png&quot; data-alt=&quot;branch(브랜치) 생성 &amp;amp;amp; 전환&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4jGvO/btsAy9AGMee/6i4SHFEWJmKXeR6Rukno8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4jGvO%2FbtsAy9AGMee%2F6i4SHFEWJmKXeR6Rukno8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;branch(브랜치) 생성 &amp;amp; 전환&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;추가로 전환된 branch(브랜치)에서 파일을 하나 생성해서, commit해보도록 하겠습니다. 이러한 과정을 통해서 총 2개의 commit을 생성해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700379318725&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# commit 한 개 생성
$ touch master_b1.txt
$ git add master_b1.txt
$ git commit -m &quot; merge sample1&quot;

# 두 번째 commit 생성
$ touch master_b2.txt
$ git add master_b2.txt
$ git commit -m &quot; merge sample2&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CQrxD/btsAxdDQes3/zYfH5CmjNx0WTwc9aaQ5kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CQrxD/btsAxdDQes3/zYfH5CmjNx0WTwc9aaQ5kk/img.png&quot; data-alt=&quot;예제를 위한 commit 생성 - branch(브랜치)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CQrxD/btsAxdDQes3/zYfH5CmjNx0WTwc9aaQ5kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCQrxD%2FbtsAxdDQes3%2FzYfH5CmjNx0WTwc9aaQ5kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제를 위한 commit 생성 - branch(브랜치)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 다시 한번 master로 전환해서, 파일을 하나 추가해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700379713829&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch master
$ git touch master3.txt
$ git add master3.txt
$ git commit -m &quot;add master3&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 진행하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LlHe5/btsAwpLBEsf/Nm3pfqxubTsgAB5qhSjHy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LlHe5/btsAwpLBEsf/Nm3pfqxubTsgAB5qhSjHy1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;008.png&quot; style=&quot;width: 43.5849%; margin-right: 10px;&quot; data-widthpercent=&quot;44.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LlHe5/btsAwpLBEsf/Nm3pfqxubTsgAB5qhSjHy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLlHe5%2FbtsAwpLBEsf%2FNm3pfqxubTsgAB5qhSjHy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HHfUZ/btsAxdqkffX/bnB8xwJK54H8HWTeJq5U4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HHfUZ/btsAxdqkffX/bnB8xwJK54H8HWTeJq5U4K/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;320&quot; data-filename=&quot;009.png&quot; style=&quot;width: 55.2523%;&quot; data-widthpercent=&quot;55.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HHfUZ/btsAxdqkffX/bnB8xwJK54H8HWTeJq5U4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHHfUZ%2FbtsAxdqkffX%2FbnB8xwJK54H8HWTeJq5U4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;추가 commit 후 현재 상태&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 여기에서 master에서 다음 명령을 통해서 merge를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700379936160&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git merge merge_B&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 실행하면 다음과 같은 화면이 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfK5KO/btsAxX8KuL2/Apb2xV74kSyYGskkuDrOTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfK5KO/btsAxX8KuL2/Apb2xV74kSyYGskkuDrOTK/img.png&quot; data-alt=&quot;git merge 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfK5KO/btsAxX8KuL2/Apb2xV74kSyYGskkuDrOTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfK5KO%2FbtsAxX8KuL2%2FApb2xV74kSyYGskkuDrOTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git merge 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 여기에서 commit가 같이 메시지를 입력할 수 있게 현재 기본 설정되어 있는 editor 창이 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dVaeoa/btsAyokCal6/FmsBeCPKYfmHJJQ3CvKRfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dVaeoa/btsAyokCal6/FmsBeCPKYfmHJJQ3CvKRfk/img.png&quot; data-alt=&quot;merge 메시지 입력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVaeoa/btsAyokCal6/FmsBeCPKYfmHJJQ3CvKRfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVaeoa%2FbtsAyokCal6%2FFmsBeCPKYfmHJJQ3CvKRfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge 메시지 입력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 상기 화면에서 저장하고 종료하시면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LVuKE/btsAzdQChxg/3YiK8UdckeMu94zcx5G1S0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LVuKE/btsAzdQChxg/3YiK8UdckeMu94zcx5G1S0/img.png&quot; data-alt=&quot;git merge 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LVuKE/btsAzdQChxg/3YiK8UdckeMu94zcx5G1S0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLVuKE%2FbtsAzdQChxg%2F3YiK8UdckeMu94zcx5G1S0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git merge 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 화면으로 merge가 진행됨을 알수 있습니다. 그럼 이 부분을 git log를 통해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QzV43/btsAxJiB9C1/SmBDSHvSink9IIZ1oWVhy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QzV43/btsAxJiB9C1/SmBDSHvSink9IIZ1oWVhy1/img.png&quot; data-alt=&quot;merge 이후 git log 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QzV43/btsAxJiB9C1/SmBDSHvSink9IIZ1oWVhy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQzV43%2FbtsAxJiB9C1%2FSmBDSHvSink9IIZ1oWVhy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;608&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;merge 이후 git log 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이는 바와 같이 Merge가 된 것을 알 수 있습니다. 이 부분 또한 commit으로 생성이 됩니다. 그러면, 이 부분을 gitKraken 을 통해서 한번 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;346&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xGuNs/btsAyWuKhT8/fga0kbvivz7aQnHCKBIVk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xGuNs/btsAyWuKhT8/fga0kbvivz7aQnHCKBIVk1/img.png&quot; data-alt=&quot;gitKraken으로 본 Merge 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xGuNs/btsAyWuKhT8/fga0kbvivz7aQnHCKBIVk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxGuNs%2FbtsAyWuKhT8%2Ffga0kbvivz7aQnHCKBIVk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;636&quot; height=&quot;346&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;346&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitKraken으로 본 Merge 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방식으로 Merge를 commit이 생성이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/874&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700383256342&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&quot; data-og-description=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/874&quot; data-og-url=&quot;https://appia.tistory.com/874&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cqch54/hyUys8HNh3/DzEnhFfkP6OXv3CUTRsh1k/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/H5dsb/hyUyvYDSho/oE9qHty5zQkukOXNwaL0U1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/uDHEt/hyUyxoDpFW/pAt56a9dZ96t5kOZ2fnpw1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/874&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/874&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cqch54/hyUys8HNh3/DzEnhFfkP6OXv3CUTRsh1k/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/H5dsb/hyUyvYDSho/oE9qHty5zQkukOXNwaL0U1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/uDHEt/hyUyxoDpFW/pAt56a9dZ96t5kOZ2fnpw1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git]Merge commit 생성되는 경우라는 주제로 포스팅을 해봤습니다. 실제, Fast-Forward 보다는 이와 같이 Commit이 생성되는 경우가 훨씬 많습니다. 이 부분을 바탕으로, 다양한 경우가 발생할 수 있는 데, 그중 하나가 바로 merge시에 충돌이 발생하는 경우 입니다. 이 부분에 대해서는 다음 포스팅을 통해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>Merge</category>
      <category>Mergecommit</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/879</guid>
      <comments>https://appia.tistory.com/879#entry879comment</comments>
      <pubDate>Thu, 23 Nov 2023 07:41:42 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)</title>
      <link>https://appia.tistory.com/878</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]Git&amp;nbsp;Merge란?&amp;nbsp;(Feat.&amp;nbsp;Fast-Forwarding&amp;nbsp;Merge)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o8eJu/btsAxevUgqf/6yI1akSdEORNdIdgAbidM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o8eJu/btsAxevUgqf/6yI1akSdEORNdIdgAbidM1/img.png&quot; data-alt=&quot;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o8eJu/btsAxevUgqf/6yI1akSdEORNdIdgAbidM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo8eJu%2FbtsAxevUgqf%2F6yI1akSdEORNdIdgAbidM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;799&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다. 이번 포스팅에 앞선 포스팅에 이어서, Merge에 대해서 이야기를 해보고자 합니다. 물론, 이 Merge 또한 브랜치 기준으로 이루어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/873&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700372123086&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/873&quot; data-og-url=&quot;https://appia.tistory.com/873&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/873&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/873&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서, git branch(깃 브랜치)에 대해서 설명을 진행하면서, 여러 사람들이 동시에 병렬적으로 작업을 해야 하는 경우가 있을 수 있다고 이야기를 하였습니다. 이러한 부분들이 결론적으로 한 개의 git branch(브랜치)로 통합이 되어야 합니다. 그래서, 각 2개를 한 개로 합치는 과정을 Mege라고 합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ce239i/btsAvhGFzEI/Ko9p94fuKMA8wkscYtvK71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ce239i/btsAvhGFzEI/Ko9p94fuKMA8wkscYtvK71/img.png&quot; data-alt=&quot;Git Merge Workflow&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ce239i/btsAvhGFzEI/Ko9p94fuKMA8wkscYtvK71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fce239i%2FbtsAvhGFzEI%2FKo9p94fuKMA8wkscYtvK71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;615&quot; height=&quot;209&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;209&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Merge Workflow&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 위의 workflow을 기준으로 간단히 다시 풀어서 이야기를 해보면, 위에서 보이는 그림에는 총 2가지 branch(브랜치)가 존재합니다. 여기에서, A지점에서 우리는 동시 작업을 하기 위해서, 빨간색 branch(브랜치)를 생성하였고, 여러 작업을 하면서 2번의 commit을 진행하였습니다. 그리고 나서, 이 부분을 기존 master branch(브랜치) merge를 진행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 여기에서, Merge를 이야기할 때 주의해야할 점 2가지에 대해서 이야기를 하겠습니다. &lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 커밋이 아니라, 브랜치 병합 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;현재 HEAD브랜치에 병합함&amp;nbsp; 즉,&amp;nbsp; HEAD가 가르키는 위치에 Merge&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;그러면, Mege하는 방법에 대해서 간단히 살펴보겠습니다. 먼저,&amp;nbsp;예를&amp;nbsp;들면,&amp;nbsp;master에&amp;nbsp;Merge하고자&amp;nbsp;한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700325867579&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git switch master 
git merge [병합하고자 하는 브랜치 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 간단한 예시로 다음과 같은 방법으로 진행을 해보고자 합니다. 일단, 특정 시점에서, commit(8531a3)기준으로 브랜치를 하나 생성합니다. external이라는 이름으로 branch(브랜치)를 생성을 합니다. 그리고 external 브랜치에서 파일을 하나 생성하고, commit을 진행합니다. 그리고, 추가로 파일 commit을 하나 더 시킵니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0p0Pl/btsAxZyD4Aq/a1Gz5LwwsVDwx3V7q9Iks1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0p0Pl/btsAxZyD4Aq/a1Gz5LwwsVDwx3V7q9Iks1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;454&quot; data-filename=&quot;003.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0p0Pl/btsAxZyD4Aq/a1Gz5LwwsVDwx3V7q9Iks1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0p0Pl%2FbtsAxZyD4Aq%2Fa1Gz5LwwsVDwx3V7q9Iks1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ymuWN/btsAAObN0BH/gkXuuoPeLMZbTBKBoV2y11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ymuWN/btsAAObN0BH/gkXuuoPeLMZbTBKBoV2y11/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;454&quot; data-filename=&quot;004.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ymuWN/btsAAObN0BH/gkXuuoPeLMZbTBKBoV2y11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FymuWN%2FbtsAAObN0BH%2FgkXuuoPeLMZbTBKBoV2y11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;external이라는 브랜치에 파일 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Av8Oc/btsAuie1nys/ASltC5eREMVMogUxIJJEq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Av8Oc/btsAuie1nys/ASltC5eREMVMogUxIJJEq1/img.png&quot; data-alt=&quot;external이라는 브랜치에 파일 commit2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Av8Oc/btsAuie1nys/ASltC5eREMVMogUxIJJEq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAv8Oc%2FbtsAuie1nys%2FASltC5eREMVMogUxIJJEq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;454&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;external이라는 브랜치에 파일 commit2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정을 진행하고 git log를 통해서, 현재 commit의 상태를 보면 다음과 같은 형태인 것을 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bapLSc/btsAwq4AcRN/BUK30x1Gx7q0eK1oAgrUvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bapLSc/btsAwq4AcRN/BUK30x1Gx7q0eK1oAgrUvk/img.png&quot; data-alt=&quot;git log의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bapLSc/btsAwq4AcRN/BUK30x1Gx7q0eK1oAgrUvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbapLSc%2FbtsAwq4AcRN%2FBUK30x1Gx7q0eK1oAgrUvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;678&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 부분을 바탕으로 현재 도형으로 도식화 해서 보면 다음과 같습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPCAqV/btsAwsH4UK7/PhRrj5qlCvgQOIwXqwh140/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPCAqV/btsAwsH4UK7/PhRrj5qlCvgQOIwXqwh140/img.png&quot; data-alt=&quot;git log의 결과의 도식화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPCAqV/btsAwsH4UK7/PhRrj5qlCvgQOIwXqwh140/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPCAqV%2FbtsAwsH4UK7%2FPhRrj5qlCvgQOIwXqwh140%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;473&quot; height=&quot;269&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log의 결과의 도식화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 위의 부분을 master(녹색)를 바탕으로 external(빨간) branch(브랜치)를 merge할 경우에는 어떨까요? 그럼 일단, git bash 기준으로 보겠습니다. 하기 명령어를 통해서, Merge를 진행하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700327049706&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git switch master
git merge external&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNJ7t7/btsAzA5VSps/pAkh28ACgtarxzBnMSyjcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNJ7t7/btsAzA5VSps/pAkh28ACgtarxzBnMSyjcK/img.png&quot; data-alt=&quot;git merge 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNJ7t7/btsAzA5VSps/pAkh28ACgtarxzBnMSyjcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNJ7t7%2FbtsAzA5VSps%2FpAkh28ACgtarxzBnMSyjcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;678&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git merge 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 부분을 바탕으로 git log를 결과를 보면, head 부분이 바뀐 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yibKN/btsAxZrSduh/WloK4JfDQkJggR36UZH1G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yibKN/btsAxZrSduh/WloK4JfDQkJggR36UZH1G0/img.png&quot; data-alt=&quot;git merge 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yibKN/btsAxZrSduh/WloK4JfDQkJggR36UZH1G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyibKN%2FbtsAxZrSduh%2FWloK4JfDQkJggR36UZH1G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;678&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git merge 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 이 부분을 도식화 해서 다시 보겠습니다. 일단, 이와 같은 구조에서는 보다 조금 더 쉽게 설명하기 위해서, branch(브랜치)에 색깔뿐 아니라 이름까지 명시하였습니다. Merge 이전에는 다음과 같은 구조 입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;341&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEqGzM/btsABBwAD5A/Glwm98C7mwquaJJJOyUluk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEqGzM/btsABBwAD5A/Glwm98C7mwquaJJJOyUluk/img.png&quot; data-alt=&quot;Merge 이전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEqGzM/btsABBwAD5A/Glwm98C7mwquaJJJOyUluk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEqGzM%2FbtsABBwAD5A%2FGlwm98C7mwquaJJJOyUluk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;341&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;341&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge 이전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Merge이후에는 다음과 같이 변경이 됩니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;340&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eVsDzn/btsAyrn0D2v/Cf953gagR4ak3rKzmMk0pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eVsDzn/btsAyrn0D2v/Cf953gagR4ak3rKzmMk0pK/img.png&quot; data-alt=&quot;Merge 이후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eVsDzn/btsAyrn0D2v/Cf953gagR4ak3rKzmMk0pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeVsDzn%2FbtsAyrn0D2v%2FCf953gagR4ak3rKzmMk0pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;340&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;340&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Merge 이후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;구조가 달라지지 않지만, master가 가리키는 commit만 변경이 됩니다. 별다른 추가 작업은 진행이 되지 않습니다. 이럴 경우에 Fast-Forward Merge라고도 합니다. 다른 작업 병합없이 commit 직접을 따라잡기 하여 병합하는 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/869&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700327866930&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&quot; data-og-description=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/869&quot; data-og-url=&quot;https://appia.tistory.com/869&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TabOO/hyUypjG1Az/J071ZrM5KTDPpZo9DwCYJK/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/w060A/hyUylBBVw8/dApyf73194RIUwVmdnSYv1/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/5vzyj/hyUyz0XOrH/sZVHHjqSjTSNApkD5CK2j1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/869&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/869&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TabOO/hyUypjG1Az/J071ZrM5KTDPpZo9DwCYJK/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/w060A/hyUylBBVw8/dApyf73194RIUwVmdnSYv1/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/5vzyj/hyUyz0XOrH/sZVHHjqSjTSNApkD5CK2j1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git]Git Merge란? (Feat. Fast-Forward Merge)라는 주제로 포스팅을 해봤습니다. 생각 보다 Merge가 간단하게 보이지만, 실제로는 많은 이슈들이 있습니다. 이번 포스팅에서는 간단히 Merge 하는 방법과 개념에 대해서 살펴보시고, 다음 포스팅에서는 다양한 Merge시에 문제점에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>fast-forward</category>
      <category>git</category>
      <category>Merge</category>
      <category>깃</category>
      <category>깃merge</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/878</guid>
      <comments>https://appia.tistory.com/878#entry878comment</comments>
      <pubDate>Wed, 22 Nov 2023 07:20:44 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] git branch(깃 브랜치)삭제, 이름 바꾸기</title>
      <link>https://appia.tistory.com/876</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;git&amp;nbsp;branch(깃&amp;nbsp;브랜치)삭제,&amp;nbsp;이름&amp;nbsp;바꾸기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/do2E8M/btsz6lb42uV/23y7MDVTOkwoAaH4ZIYMa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/do2E8M/btsz6lb42uV/23y7MDVTOkwoAaH4ZIYMa1/img.png&quot; data-alt=&quot;[깃, Git] git branch(깃 브랜치)삭제, 이름 바꾸기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/do2E8M/btsz6lb42uV/23y7MDVTOkwoAaH4ZIYMa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdo2E8M%2Fbtsz6lb42uV%2F23y7MDVTOkwoAaH4ZIYMa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;751&quot; height=&quot;749&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] git branch(깃 브랜치)삭제, 이름 바꾸기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서는 git branch(깃 브랜치)의 리스트를 보고, 생성하는 방법, 전환하는 방법에 대해서 이야기를 했습니다. 많은 프로젝트를 하면서 실제로, 브랜치를 삭제하는 생성하는 경우에 비해 삭제하는 경우는 많지는 않습니다. 하지만, 경우에 따라서는 삭제하는 경우도 있을 수 있기 때문에 이번 포스팅에서는 git branch를 삭제하는 방법과 이름 바꾸는 방법에 대해서 살펴보고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/873&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700372106430&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/873&quot; data-og-url=&quot;https://appia.tistory.com/873&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/873&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/873&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 앞선 포스팅에서 나왔던 현재의 git branch(깃 브랜치)를 보는 방법으로 현재 git branch(깃 브랜치)를 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699761891665&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, 살펴보니 현재 두가지 git branch(깃 브랜치)가 있다는 것을 확인할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjPHW0/btsz9yBtyf7/PvjYl8wTT69nJNcOloRZ8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjPHW0/btsz9yBtyf7/PvjYl8wTT69nJNcOloRZ8K/img.png&quot; data-alt=&quot;git branch 현황&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjPHW0/btsz9yBtyf7/PvjYl8wTT69nJNcOloRZ8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjPHW0%2Fbtsz9yBtyf7%2FPvjYl8wTT69nJNcOloRZ8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;356&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch 현황&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사진을 캡처하지는 못했지만, 다음 명령어를 통해서, git branch를 하나 생성합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699761976645&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch extenalWriter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 git switch를 통해서 현재 위에서 생성한 git branch(깃 브랜치)로 이동합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762031828&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch extenalWriter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상기 명령어까지 실행하시면, 다음과 같은 화면이 나타나면서, git branch(깃 브랜치)를 이동한 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUSyIm/btsAaZeiQGA/hmeajHj3fVIB066HE0Zej1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUSyIm/btsAaZeiQGA/hmeajHj3fVIB066HE0Zej1/img.png&quot; data-alt=&quot;git branch(깃 브랜치)의 전환&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUSyIm/btsAaZeiQGA/hmeajHj3fVIB066HE0Zej1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUSyIm%2FbtsAaZeiQGA%2FhmeajHj3fVIB066HE0Zej1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;468&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch(깃 브랜치)의 전환&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 다시 &quot;master&quot; 브랜치로 이동한 후에 다음 명령어로 현재의 commit 상태를 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762120135&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch master
$ git log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 다음과 같은 화면이 나타나는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt2hJB/btsz90kv4gP/G9KEHlZ6aMrO5aI0Czdthk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt2hJB/btsz90kv4gP/G9KEHlZ6aMrO5aI0Czdthk/img.png&quot; data-alt=&quot;master git branch 기준의 commit상황&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt2hJB/btsz90kv4gP/G9KEHlZ6aMrO5aI0Czdthk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt2hJB%2Fbtsz90kv4gP%2FG9KEHlZ6aMrO5aI0Czdthk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;468&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master git branch 기준의 commit상황&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;git branch(깃 브랜치) 삭제 하기&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고, 여기에서 부터는 이제 git branch(깃 브랜치) 삭제하는 방법에 대해서 이야기를 해보도록 하겠습니다. 일단, 다음과 같이 새로 생성한 브랜치의 경우, commit이 없는 경우에는 아무런 문제 없이 삭제가 됩니다. 삭제하는 방법에 대해서 살펴보겠습니다. 단, git branch(깃 브랜치)를 삭제할 경우,&amp;nbsp; HEAD가 &lt;span style=&quot;text-align: start;&quot;&gt;다른 git branch(깃 브랜치)를 래퍼런스 해야합니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762342470&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch -d [브랜치 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 위의 기준으로 다음과 같이 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762458866&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch -d extenalWriter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 실행하면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLEYXF/btsz7SUGnPs/RkckKkqvZMMgtzjrpW2xU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLEYXF/btsz7SUGnPs/RkckKkqvZMMgtzjrpW2xU1/img.png&quot; data-alt=&quot;git branch -d 명령어를 통한 삭제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLEYXF/btsz7SUGnPs/RkckKkqvZMMgtzjrpW2xU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLEYXF%2Fbtsz7SUGnPs%2FRkckKkqvZMMgtzjrpW2xU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;468&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch -d 명령어를 통한 삭제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제는 약간 다른 상태를 보겠습니다. 즉, 새로 생성한 git branch(깃 브랜치)에 commit이 있을 경우입니다. 먼저 git branch를 생성하고, 파일을 하나 commit 하도록 하겠습니다. 앞선 명령어와 약간 다르게 생성시에 이전에도 언급한 git switch 명령어를 이용하여 생성하여 바로 전환하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762638552&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c [브랜치 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kMY9G/btsz9zmNzJ3/oVd8ggjXdXz8dxghWbDYUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kMY9G/btsz9zmNzJ3/oVd8ggjXdXz8dxghWbDYUk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;009.png&quot; style=&quot;width: 52.0728%; margin-right: 10px;&quot; data-widthpercent=&quot;52.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kMY9G/btsz9zmNzJ3/oVd8ggjXdXz8dxghWbDYUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkMY9G%2Fbtsz9zmNzJ3%2FoVd8ggjXdXz8dxghWbDYUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PMumu/btsAaiFeIZE/85knysuFVT13S13kK9WtJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PMumu/btsAaiFeIZE/85knysuFVT13S13kK9WtJK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot; data-filename=&quot;010.png&quot; style=&quot;width: 46.7644%;&quot; data-widthpercent=&quot;47.31&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PMumu/btsAaiFeIZE/85knysuFVT13S13kK9WtJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPMumu%2FbtsAaiFeIZE%2F85knysuFVT13S13kK9WtJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git branch(깃 브랜치) 생성 및 파일 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 예제에서는 red1으로 git branch(깃 브랜치)를 생성하였습니다. 그리고, git log를 통해서 commit 상태를 보니, 다음과 같이 red1 브랜치에서 commit이 한개 추가를 해놓은 상태입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BHygg/btsz6Zz9qDg/qWQ6jOFCrJYws1lLjDsbo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BHygg/btsz6Zz9qDg/qWQ6jOFCrJYws1lLjDsbo0/img.png&quot; data-alt=&quot;git branch 전환과 현재 commit 상태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BHygg/btsz6Zz9qDg/qWQ6jOFCrJYws1lLjDsbo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBHygg%2Fbtsz6Zz9qDg%2FqWQ6jOFCrJYws1lLjDsbo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;412&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch 전환과 현재 commit 상태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고, red1 브랜치를 삭제하기 위해서 blue 브랜치로 이동하겠습니다. 그리고 나서, 위에서 언급한 명령어인 git branch -d를 이용해서, 삭제를 진행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762815157&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch -d red1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 시도하니, 다음과 같은 화면이 나타납니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWJFTJ/btsAaEnBYoO/4OFroNsKDchOUqyxRfHky0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWJFTJ/btsAaEnBYoO/4OFroNsKDchOUqyxRfHky0/img.png&quot; data-alt=&quot;commit이 있는 git branch 삭제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWJFTJ/btsAaEnBYoO/4OFroNsKDchOUqyxRfHky0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWJFTJ%2FbtsAaEnBYoO%2F4OFroNsKDchOUqyxRfHky0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;412&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit이 있는 git branch 삭제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그랬더니, 이상한 error메시지가 떠 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699762934434&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;error: The branch 'red1' is not fully merged. 
If you are sure you want to delete it, run 'git branch -D red1'.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, merge가 되어야 합니다. 저희는 merge에 대해서 아직 다루지 않았기 때문에 이 부분에 대해서는 나중에 이야기를 하겠습니다. 단, 이런 문제가 있을 경우에, &quot;-D&quot;옵션을 변경해서 진행하시면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HIste/btsz9Azgj8o/nEPXCkBWJeJ0oYKbyx0HNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HIste/btsz9Azgj8o/nEPXCkBWJeJ0oYKbyx0HNk/img.png&quot; data-alt=&quot;commit이 있는 git branch 삭제 with -D옵션&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HIste/btsz9Azgj8o/nEPXCkBWJeJ0oYKbyx0HNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHIste%2Fbtsz9Azgj8o%2FnEPXCkBWJeJ0oYKbyx0HNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;412&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit이 있는 git branch 삭제 with -D옵션&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같이 옵션을 &quot;-D&quot;을 함꼐 하면 아무런 문제 없이 삭제가 되는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;b&gt;git branch(깃 브랜치) 이름 변경하기&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 이제는 git branch(깃 브랜치)에 대해서 이름을 변경하는 방법에 대해서 이야기를 해보고자 합니다. 이 때는 해당 git branch(깃 브랜치)에 위치해야합니다. 일단, 저의 경우 blue를 test_flow라고 이름을 변경해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699763143046&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch -m [변경할 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 토대로, 다음과 같이 변경을 시도했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699763170559&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch -m test_flow&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 입력하고, git status로 보면, 현재 git branch(깃 브랜치)이름이 변경된 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVG3QJ/btsz6OSBBBf/Ny5QrYy5Wg3wK9wrqhw0QK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVG3QJ/btsz6OSBBBf/Ny5QrYy5Wg3wK9wrqhw0QK/img.png&quot; data-alt=&quot;git branch이름 변경 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVG3QJ/btsz6OSBBBf/Ny5QrYy5Wg3wK9wrqhw0QK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVG3QJ%2Fbtsz6OSBBBf%2FNy5QrYy5Wg3wK9wrqhw0QK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;412&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch이름 변경 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 git branch(깃 브랜치)에 대해서 이름을 변경할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699763327289&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/6OT9D/hyUu2Pizx7/xjulojCLuauaB8WKl9lqx0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/bPfUGq/hyUuVilVYs/Ia6Iu78OLk9LujXsdvkDz0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/ouGKC/hyUu040D0I/u8MIraeF9gRuWMjTU8tPk0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/6OT9D/hyUu2Pizx7/xjulojCLuauaB8WKl9lqx0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/bPfUGq/hyUuVilVYs/Ia6Iu78OLk9LujXsdvkDz0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/ouGKC/hyUu040D0I/u8MIraeF9gRuWMjTU8tPk0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] git branch(깃 브랜치)삭제, 이름 바꾸기라는 주제로 포스팅을 해봤습니다. 실제, 잘 쓰지는 않지만, 반드시 알고 있어야 한다고 생각합니다. (개인적인 의견입니다.) 혹, 궁금하시거나 문의 하고 싶은 내용이 있으시면 방명록 또는 댓글로 문의 부탁드립니다. 감사합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>gitBranch</category>
      <category>gitbranch delete</category>
      <category>gitbranch rename</category>
      <category>깃</category>
      <category>깃브랜치</category>
      <category>브랜치삭제</category>
      <category>브랜치이름변경</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/876</guid>
      <comments>https://appia.tistory.com/876#entry876comment</comments>
      <pubDate>Tue, 21 Nov 2023 07:30:21 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기</title>
      <link>https://appia.tistory.com/875</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;git&amp;nbsp;branch(깃&amp;nbsp;브랜치)보기,&amp;nbsp;생성,&amp;nbsp;전환하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mdWM1/btsz8qxdoh3/ftpkUSfebexCS8fEM8F1a0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mdWM1/btsz8qxdoh3/ftpkUSfebexCS8fEM8F1a0/img.png&quot; data-alt=&quot;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mdWM1/btsz8qxdoh3/ftpkUSfebexCS8fEM8F1a0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmdWM1%2Fbtsz8qxdoh3%2FftpkUSfebexCS8fEM8F1a0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;749&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않아서, 이번 포스팅에서는 각 command를 직접 입력하면서, 해당 부분에 대해서 branch를 보고, 생성하고, 전환하는 방법에 대해서 살펴보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/873&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700372041974&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&quot; data-og-description=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/873&quot; data-og-url=&quot;https://appia.tistory.com/873&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/873&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/873&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MGbWd/hyUyk3U4YL/SeKSfXPtDvlQBhkZD5OK3k/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/vLE8m/hyUyAr91jf/QtGqX5V6KNJsMQr2GGUWT1/img.png?width=780&amp;amp;height=778&amp;amp;face=0_0_780_778,https://scrap.kakaocdn.net/dn/bMli7g/hyUyqC3FiU/IsbnABaRZ87Vg2LO60wHT0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란? 이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 이번 포스팅에서는 다음과 같은 그림의 구성으로 포스팅을 진행을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbjYAy/btsz90YQpAg/2UKkRtOaGD7afKFGKpVZ2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbjYAy/btsz90YQpAg/2UKkRtOaGD7afKFGKpVZ2k/img.png&quot; data-alt=&quot;예제 구성도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbjYAy/btsz90YQpAg/2UKkRtOaGD7afKFGKpVZ2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbjYAy%2Fbtsz90YQpAg%2F2UKkRtOaGD7afKFGKpVZ2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;187&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;187&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 구성도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 앞선 과정까지 했던 방법을 통해서, 저의 경우 새로운 폴더를 생성하고, 이 폴더에 git init을 통해서 repository을 초기화 하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEp9Ck/btsAc4lA5I0/khsCkVlHBKUUgszWAqeIF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEp9Ck/btsAc4lA5I0/khsCkVlHBKUUgszWAqeIF1/img.png&quot; data-alt=&quot;git init을 통한 git repository 초기화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEp9Ck/btsAc4lA5I0/khsCkVlHBKUUgszWAqeIF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEp9Ck%2FbtsAc4lA5I0%2FkhsCkVlHBKUUgszWAqeIF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git init을 통한 git repository 초기화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;git branch(브랜치) 보기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 현재 repository의 branch 정보를 보는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699679778678&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서, 현재의 git의 branch를 살펴볼 수 있습니다. 단, 아무 commit이 없을 경우에는 이 또한 표현이 되지 않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mPVpF/btsz7SAjRzN/xJvHge4D3hqlBfVe4RHFw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mPVpF/btsz7SAjRzN/xJvHge4D3hqlBfVe4RHFw1/img.png&quot; data-alt=&quot;git commit이 없는 환경에서의 git branch확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mPVpF/btsz7SAjRzN/xJvHge4D3hqlBfVe4RHFw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmPVpF%2Fbtsz7SAjRzN%2FxJvHge4D3hqlBfVe4RHFw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit이 없는 환경에서의 git branch확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 다른 Repository에서 이 부분을 실행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;022.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnzYXx/btsz8rppZQR/KbGZHPGsn1YIW2POoeSBsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnzYXx/btsz8rppZQR/KbGZHPGsn1YIW2POoeSBsk/img.png&quot; data-alt=&quot;git branch 표시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnzYXx/btsz8rppZQR/KbGZHPGsn1YIW2POoeSBsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnzYXx%2Fbtsz8rppZQR%2FKbGZHPGsn1YIW2POoeSBsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;022.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch 표시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 보이는 부분과 같이 현재의 repository에 branch(브랜치)에 대해서 &quot;git branch&quot;을 통해서 살펴볼 수 있습니다. 위에 Repository에서 master와 test라는 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;2개의 branch가 있습니다.&lt;span&gt; 그 중에 현재는 git branch의 결과 녹색으로 표시되는 branch(브랜치)에 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;그러면 다시 예제로 돌아와서, 위에서 보이는 그림에 따라서, outline.txt파일을 생성하고, 이 파일에 내용을 채워 놓겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpd5VD/btsz6lprXGM/mTePSKPGHeUuaXL8ab4QOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpd5VD/btsz6lprXGM/mTePSKPGHeUuaXL8ab4QOK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;005.png&quot; data-widthpercent=&quot;43.43&quot; style=&quot;width: 42.9253%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpd5VD/btsz6lprXGM/mTePSKPGHeUuaXL8ab4QOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcpd5VD%2Fbtsz6lprXGM%2FmTePSKPGHeUuaXL8ab4QOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8rDC1/btsz6hgfTUR/pwmEIGTypAJo4DUIkQKtOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8rDC1/btsz6hgfTUR/pwmEIGTypAJo4DUIkQKtOk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;812&quot; data-origin-height=&quot;397&quot; data-filename=&quot;006.png&quot; style=&quot;width: 55.9119%;&quot; data-widthpercent=&quot;56.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8rDC1/btsz6hgfTUR/pwmEIGTypAJo4DUIkQKtOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8rDC1%2Fbtsz6hgfTUR%2FpwmEIGTypAJo4DUIkQKtOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;812&quot; height=&quot;397&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;예제 파일 생성&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 앞서 과정에서 진행한 바와 같이 git add와 git commit을 통해서 commit을 진행하였습니다. 그리고 나서, git log을 통해서 현재 commit 정보를 확인하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cG4GUK/btsz6OrlM68/BWglD9XV38IVVSSwj6gZ4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cG4GUK/btsz6OrlM68/BWglD9XV38IVVSSwj6gZ4K/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;007.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cG4GUK/btsz6OrlM68/BWglD9XV38IVVSSwj6gZ4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcG4GUK%2Fbtsz6OrlM68%2FBWglD9XV38IVVSSwj6gZ4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvK9wk/btsz7SNMPry/FsjYnYykYKdyxtcEqZSKpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvK9wk/btsz7SNMPry/FsjYnYykYKdyxtcEqZSKpK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;008.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvK9wk/btsz7SNMPry/FsjYnYykYKdyxtcEqZSKpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvK9wk%2Fbtsz7SNMPry%2FFsjYnYykYKdyxtcEqZSKpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;생성한 예제 파일 commit ( outline.txt )&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 추가로 character.txt라는 파일을 생성하고, 이 부분을 commit하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4pzLB/btsAc64NlRV/09c5pvIFx41kYDenjPI1T0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4pzLB/btsAc64NlRV/09c5pvIFx41kYDenjPI1T0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;379&quot; data-filename=&quot;009.png&quot; style=&quot;width: 56.9755%; margin-right: 10px;&quot; data-widthpercent=&quot;57.65&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4pzLB/btsAc64NlRV/09c5pvIFx41kYDenjPI1T0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4pzLB%2FbtsAc64NlRV%2F09c5pvIFx41kYDenjPI1T0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;810&quot; height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIamcg/btsz9Xumef8/4IOgiTy15Q7kWaKCoYFC6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIamcg/btsz9Xumef8/4IOgiTy15Q7kWaKCoYFC6k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;010.png&quot; style=&quot;width: 41.8617%;&quot; data-widthpercent=&quot;42.35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIamcg/btsz9Xumef8/4IOgiTy15Q7kWaKCoYFC6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIamcg%2Fbtsz9Xumef8%2F4IOgiTy15Q7kWaKCoYFC6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;생성한 예제 파일 commit2.( character.txt )&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정까지 2개의 commit이 존재한 것을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJinUp/btsAbbL3TAZ/N0t2hjJpEis8TRgpFv3vHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJinUp/btsAbbL3TAZ/N0t2hjJpEis8TRgpFv3vHk/img.png&quot; data-alt=&quot;앞 과정까지의 git log의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJinUp/btsAbbL3TAZ/N0t2hjJpEis8TRgpFv3vHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJinUp%2FbtsAbbL3TAZ%2FN0t2hjJpEis8TRgpFv3vHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;앞 과정까지의 git log의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고&amp;nbsp; 나서, git branch을 보도록 하겠습니다. 현재 추가 branch는 없지만, master 브랜치는 존재합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXP6qd/btsz9Zr6yBI/4nQ7xNkk88uKOHdMprgmz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXP6qd/btsz9Zr6yBI/4nQ7xNkk88uKOHdMprgmz1/img.png&quot; data-alt=&quot;git branch를 통한 현재 branch(브랜치) 정보 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXP6qd/btsz9Zr6yBI/4nQ7xNkk88uKOHdMprgmz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXP6qd%2Fbtsz9Zr6yBI%2F4nQ7xNkk88uKOHdMprgmz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch를 통한 현재 branch(브랜치) 정보 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고, 추가로 chapter1.txt라는 파일을 생성하여 이 부분을 작성하고 commit을 하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSZTqW/btsz6fbFdQa/zJholhrcVUrLoKJOhLbhc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSZTqW/btsz6fbFdQa/zJholhrcVUrLoKJOhLbhc1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;392&quot; data-filename=&quot;013.png&quot; style=&quot;width: 55.5215%; margin-right: 10px;&quot; data-widthpercent=&quot;56.17&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSZTqW/btsz6fbFdQa/zJholhrcVUrLoKJOhLbhc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSZTqW%2Fbtsz6fbFdQa%2FzJholhrcVUrLoKJOhLbhc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;789&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rbdor/btsz87YeveH/cpt0X5uGTuHtgu8hHRoMD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rbdor/btsz87YeveH/cpt0X5uGTuHtgu8hHRoMD1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;014.png&quot; style=&quot;width: 43.3157%;&quot; data-widthpercent=&quot;43.83&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rbdor/btsz87YeveH/cpt0X5uGTuHtgu8hHRoMD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frbdor%2Fbtsz87YeveH%2Fcpt0X5uGTuHtgu8hHRoMD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;chapter1의 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;git branch(브랜치) 생성 / 전환 하기&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞선 과정에서, 현재의 git branch(깃 브랜치)의 정보를 볼 수 있었다면, 이제는 git branch(깃 브랜치)을 생성해보도록 하겠습니다. 먼저 다음 명령어를 통해서 git branch(깃 브랜치)를 생성할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699680667290&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git branch [브랜치 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같은 방법으로 blue라는 git branch(깃 브랜치)를 생성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RqyOr/btsz823V883/o6pQ7ak4usSmBQS5PFsB6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RqyOr/btsz823V883/o6pQ7ak4usSmBQS5PFsB6k/img.png&quot; data-alt=&quot;git branch(깃 브랜치 생성)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RqyOr/btsz823V883/o6pQ7ak4usSmBQS5PFsB6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRqyOr%2Fbtsz823V883%2Fo6pQ7ak4usSmBQS5PFsB6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch(깃 브랜치 생성)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정에서 바로 git branch(깃 브랜치)가 전환되지 않습니다. 이를 위해서는 2가지 방법이 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699680783698&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch [브랜치이름]
$ git checkout [브랜치이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 통해서 작업하고 있는 브랜치를 변경할 수 있습니다. 저의경우에는 checkout을 사용하지는 않습니다. switch와 약간의 편차가 있기 때문입니다. 일단, 그 부분은 나중에 이야기를 한번 다루어 보도록 하겠습니다. 그러면 예시를 통해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;별도의 repository을 바탕으로 다음 명령어를 통해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699681031684&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; $ git switch master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 보시면, Switched to branch 'master'라는 이름으로 출력이 되고, branch(브랜치)가 변경된 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;023.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l1Dbh/btsz90xLtRh/qym18BsrsK1hnyVkFSY1K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l1Dbh/btsz90xLtRh/qym18BsrsK1hnyVkFSY1K0/img.png&quot; data-alt=&quot;git switch 명령어를 통한 git branch(깃 브랜치) 변경&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l1Dbh/btsz90xLtRh/qym18BsrsK1hnyVkFSY1K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl1Dbh%2Fbtsz90xLtRh%2Fqym18BsrsK1hnyVkFSY1K0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;023.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git switch 명령어를 통한 git branch(깃 브랜치) 변경&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 git checkout 또한 동일한 방식으로 진행을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699681174994&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git checkout test&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정을 실행하시면, Switched to branch 'test'라는 이름으로 출력이 되고, branch(브랜치)가 변경된 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;024.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvjVlK/btsz8su55LG/slJWgavDPFVjBKojkKBWB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvjVlK/btsz8su55LG/slJWgavDPFVjBKojkKBWB1/img.png&quot; data-alt=&quot;git checkout 명령어를 통한 git branch(깃 브랜치) 변경&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvjVlK/btsz8su55LG/slJWgavDPFVjBKojkKBWB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvjVlK%2Fbtsz8su55LG%2FslJWgavDPFVjBKojkKBWB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;024.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git checkout 명령어를 통한 git branch(깃 브랜치) 변경&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;git branch(브랜치) 생성과 함께 전환 하기&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;매번 새로 branch(브랜치)를 생성하고, 전환하기는 매우 번거로운점이 있습니다. 그래서, switch 명령어를 통해서 생성과 동시에 변경이 가능합니다. 다음 명령어를 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699681285156&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git switch -c [브랜치 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 방법으로 git branch[깃 브랜치]를 생성하면서, 바로 전환할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;025.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tiEzz/btsz85NagOl/r5lWszTw0NEHrqoCAAyvFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tiEzz/btsz85NagOl/r5lWszTw0NEHrqoCAAyvFk/img.png&quot; data-alt=&quot;git branch(브랜치) 생성과 함께 전환 하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tiEzz/btsz85NagOl/r5lWszTw0NEHrqoCAAyvFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtiEzz%2Fbtsz85NagOl%2Fr5lWszTw0NEHrqoCAAyvFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;025.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch(브랜치) 생성과 함께 전환 하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다시 예제로 돌아와서, 저희는 blue라는 브랜치를 만들고, 여기에 chapter2.txt를 시험적으로 작성하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eiNYZE/btsz9mA6NWn/46ukKLE7hxEJwSRtY90TGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eiNYZE/btsz9mA6NWn/46ukKLE7hxEJwSRtY90TGK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;018.png&quot; data-widthpercent=&quot;33.01&quot; style=&quot;width: 32.6305%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eiNYZE/btsz9mA6NWn/46ukKLE7hxEJwSRtY90TGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeiNYZE%2Fbtsz9mA6NWn%2F46ukKLE7hxEJwSRtY90TGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;301&quot; data-filename=&quot;017.png&quot; data-widthpercent=&quot;66.99&quot; style=&quot;width: 66.2067%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfZ8W7%2Fbtsz7R9e98d%2FgmO6bKdar8QjTLVMduqKs0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;959&quot; height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;예제를 표현한 chapter2 작성&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 이 부분을 다시 commit을 진행하겠습니다. 보시는 바와 같이 HEAD가 blue라는 branch 래퍼런스를 지칭하고 있는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;019.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhrm6I/btsz7R9e97Q/nDefguzACiHT2AavDMlGk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhrm6I/btsz7R9e97Q/nDefguzACiHT2AavDMlGk0/img.png&quot; data-alt=&quot;git log를 통한 commit 상태 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhrm6I/btsz7R9e97Q/nDefguzACiHT2AavDMlGk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdhrm6I%2Fbtsz7R9e97Q%2FnDefguzACiHT2AavDMlGk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;019.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log를 통한 commit 상태 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 다시 마스터로 돌아가서, 저희는 chapter2.txt를 수정하도록 하겠습니다. 그리고 나서, 다음 부분에 대해서 chapter2.txt를 작성하고 commit하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;026.png&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;331&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; data-alt=&quot;git branch 변경후 chapter2.txt&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkW1Bw%2Fbtsz89uZ4H7%2FRLfNtSpsmmsV8ctEEup1x1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;331&quot; data-filename=&quot;026.png&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git branch 변경후 chapter2.txt&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git branch(깃 브랜치)를 전환하면, 좌우 내용이 계속 바뀌는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; data-filename=&quot;026.png&quot; data-origin-height=&quot;331&quot; data-origin-width=&quot;762&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.4592%; margin-right: 10px;&quot; data-widthpercent=&quot;41.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kW1Bw/btsz89uZ4H7/RLfNtSpsmmsV8ctEEup1x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkW1Bw%2Fbtsz89uZ4H7%2FRLfNtSpsmmsV8ctEEup1x1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; style=&quot;width: 57.378%;&quot; data-widthpercent=&quot;58.05&quot; data-filename=&quot;017.png&quot; data-origin-height=&quot;301&quot; data-origin-width=&quot;959&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfZ8W7/btsz7R9e98d/gmO6bKdar8QjTLVMduqKs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfZ8W7%2Fbtsz7R9e98d%2FgmO6bKdar8QjTLVMduqKs0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;959&quot; height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git branch 전환에 따른 내용 변경&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 부분에 대해서, 앞서 포스팅한 GitKraken에서 repository을 import 해서 보도록 하겠습니다. 이와 같은 모습으로 branch가 형태의 모양을 가지고 있다는 것을 알 수 있을 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;021.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/olcVV/btsz6fiqNIH/MQt0PdOxvIHk8ZkCvLg3K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/olcVV/btsz6fiqNIH/MQt0PdOxvIHk8ZkCvLg3K0/img.png&quot; data-alt=&quot;GitKraken의 Repository 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/olcVV/btsz6fiqNIH/MQt0PdOxvIHk8ZkCvLg3K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FolcVV%2Fbtsz6fiqNIH%2FMQt0PdOxvIHk8ZkCvLg3K0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;021.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken의 Repository 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 방법으로 git branch(깃 브랜치)을 생성하고, 전환할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/874&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700372049020&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&quot; data-og-description=&quot;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/874&quot; data-og-url=&quot;https://appia.tistory.com/874&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cqch54/hyUys8HNh3/DzEnhFfkP6OXv3CUTRsh1k/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/H5dsb/hyUyvYDSho/oE9qHty5zQkukOXNwaL0U1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/uDHEt/hyUyxoDpFW/pAt56a9dZ96t5kOZ2fnpw1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/874&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/874&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cqch54/hyUys8HNh3/DzEnhFfkP6OXv3CUTRsh1k/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/H5dsb/hyUyvYDSho/oE9qHty5zQkukOXNwaL0U1/img.png?width=779&amp;amp;height=780&amp;amp;face=0_0_779_780,https://scrap.kakaocdn.net/dn/uDHEt/hyUyxoDpFW/pAt56a9dZ96t5kOZ2fnpw1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] GitKraken 다운로드 및 설치하기(with repository) 이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기라는 주제로 포스팅을 해봤습니다. 이 부분은 익숙해지는 과정이기 때문에 위에 내용에 대해서 더 많은 실습을 해보시는 것을 추천드립니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>git branch</category>
      <category>깃</category>
      <category>브랜치</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/875</guid>
      <comments>https://appia.tistory.com/875#entry875comment</comments>
      <pubDate>Mon, 20 Nov 2023 07:52:32 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?</title>
      <link>https://appia.tistory.com/873</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0001.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;778&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuCEll/btsz60ZIhhd/pkrzLv4kCTKkobiyAtcui1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuCEll/btsz60ZIhhd/pkrzLv4kCTKkobiyAtcui1/img.png&quot; data-alt=&quot;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuCEll/btsz60ZIhhd/pkrzLv4kCTKkobiyAtcui1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuCEll%2Fbtsz60ZIhhd%2FpkrzLv4kCTKkobiyAtcui1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;780&quot; height=&quot;778&quot; data-filename=&quot;0001.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;778&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅까지는 매우 기본적인 내용들인 Git Commit에 관련된 내용들과 그에 추가된 GUI 및 환경설정을 하는 부분에 집중적으로 다루었습니다. 앞선 부분에 대해서는 매우 기본적인 부분이었습니다. 이제부터는 조금 심도 있는 내용에 대해서 이야기를 해보고자 합니다. 그래서 이번 포스팅에서는 이제 또다른 git의 핵심 내용인 branch(브랜치)에 대해서 이야기를 해보고자 합니다. branch(브랜치)와 함께 HEAD에 대해서도 함께 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/864&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699620916896&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&quot; data-og-description=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/864&quot; data-og-url=&quot;https://appia.tistory.com/864&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bPlRhK/hyUrwRFxmR/4CRN3eVpgmUh6eZdg2nclK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/y3aNj/hyUrsu0xTg/spOGWC3sMorq0x0vlCaNEk/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/Ks0Tw/hyUu6Kz3oi/gkDur1Y86I6stU1XtHrTx0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/864&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/864&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bPlRhK/hyUrwRFxmR/4CRN3eVpgmUh6eZdg2nclK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/y3aNj/hyUrsu0xTg/spOGWC3sMorq0x0vlCaNEk/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/Ks0Tw/hyUu6Kz3oi/gkDur1Y86I6stU1XtHrTx0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. branch(브랜치)란?&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, git을 통해서 다양한 작업을 하다보면, 많은 시간순으로 commit들이 이루어질 것입니다. 저는 branch(브랜치)을 흐름이라고 이야기를 하겠습니다. 이 흐름은 여러개가 될 수 있습니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;조금 더 쉬운 이해를 위해서, 간단한 예로 책을 쓰는 작업을 한다고 가정을 하겠습니다. 처음에 개요를 짜고, 등장인물을 구성하였습니다. 그리고나서, 1장 작성을 완료했습니다. 이 과정에서, 2장에서 약간의 실험을 해보고 싶은 작가는 현재의 흐름을 기준으로 별도의 흐름을 생성합니다. (즉, branch을 만듭니다.) 그리고 나서, 원래의 계획과 다르게 시험적인 요소가 가미된 2장을 작성을 합니다. 그리고나서, 다시 본래의 흐름으로 돌아와, 최초에 생각했던 대로, 2장을 작성합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0003.png&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dM14II/btsAaY0lScQ/Va2kGsH0pKZJlpeWNgmwEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dM14II/btsAaY0lScQ/Va2kGsH0pKZJlpeWNgmwEk/img.png&quot; data-alt=&quot;branch(브랜치)란?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dM14II/btsAaY0lScQ/Va2kGsH0pKZJlpeWNgmwEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdM14II%2FbtsAaY0lScQ%2FVa2kGsH0pKZJlpeWNgmwEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;261&quot; data-filename=&quot;0003.png&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;branch(브랜치)란?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런데 작가가 3장 4장에 대해서 공동작업을 진행해야 합니다.&amp;nbsp; 3장, 4장은 외부 작가가 작업을 하도록 하고 본 작가는 5장 작업을 병행으로 진행합니다. 이 때도 외부 작가의 작업을 위한 별도의 흐름을 생성합니다.(즉, branch을 만듭니다.) 그리고, 3장 4장 작업을 진행합니다. 1장, 2장 작업을 한 작가는 5작업을 합니다. 그리고 나서, 이 부분을 병합합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 각 흐름이라고 지칭한 branch(브랜치)는 다수의 인원이 병행작업을 가능하게 해줍니다. 또한 시험적인 요소를 시도할 수 있게 해줍니다. 이러한 부분이 가능하게 해주는 git(깃)의 핵심적인 기능이 branch(브랜치)입니다..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. HEAD란?&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 여기에서 HEAD에 대해서도 살펴보도록 하겠습니다.&amp;nbsp; 먼저, 다음 화면은 git log의 결과입니다. 앞서서 포스팅한 바와 같이 commit에 대한 정보를 출력합니다. HEAD는 branch(브랜치) 래퍼런스를 가리킵니다. branch(브랜치) 래퍼런스란 현재 어떠한 branch(브랜치)에 있는지 표시를 해줍니다. 즉 화살표 이후에 있는 부분(하위 화면에서는 master)에 있는 branch(브랜치)가 활성화 되어 있다는 것을 나타내줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0002.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rfi7B/btsz85zss0w/iMeyxXVSJdMkNbxhdAUqz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rfi7B/btsz85zss0w/iMeyxXVSJdMkNbxhdAUqz1/img.png&quot; data-alt=&quot;HEAD예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rfi7B/btsz85zss0w/iMeyxXVSJdMkNbxhdAUqz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRfi7B%2Fbtsz85zss0w%2FiMeyxXVSJdMkNbxhdAUqz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;496&quot; data-filename=&quot;0002.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;HEAD예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 보면, (HEAD -&amp;gt;&amp;nbsp; master)라는 부분이 있습니다. 이 부분은 Repository에서 현재의 위치를 가리키는 포인터입니다.&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;HEAD의 경우 해당 branch (브랜치)에서 가장 마지막 commit된 위치를 가리킵니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 다음 그림에서 살펴보겠습니다. 그러면 하기와 같이 노란색 화살표는 녹색 branch(브랜치)에서 HEAD을 나타냅니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0004.png&quot; data-origin-width=&quot;583&quot; data-origin-height=&quot;275&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYFmer/btsz5DDIeU1/BU5mDIrTCEkBdUvCrO3yV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYFmer/btsz5DDIeU1/BU5mDIrTCEkBdUvCrO3yV0/img.png&quot; data-alt=&quot;HEAD 예시 1.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYFmer/btsz5DDIeU1/BU5mDIrTCEkBdUvCrO3yV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYFmer%2Fbtsz5DDIeU1%2FBU5mDIrTCEkBdUvCrO3yV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;275&quot; data-filename=&quot;0004.png&quot; data-origin-width=&quot;583&quot; data-origin-height=&quot;275&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;HEAD 예시 1.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 만약 빨간색 branch(브랜치)로 변경하였다면 현재 노란색 HEAD 또한 다음 보이는 부분과 같이 변경이 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0005.png&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJ2CaH/btsz6NeLt8Q/ti4NYwtKw1qmf4uP5q3Kv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJ2CaH/btsz6NeLt8Q/ti4NYwtKw1qmf4uP5q3Kv1/img.png&quot; data-alt=&quot;HEAD 예시2.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJ2CaH/btsz6NeLt8Q/ti4NYwtKw1qmf4uP5q3Kv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJ2CaH%2Fbtsz6NeLt8Q%2Fti4NYwtKw1qmf4uP5q3Kv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;286&quot; data-filename=&quot;0005.png&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;HEAD 예시2.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 의미로 HEAD를 나타낼 수 있습니다. 그러면 제가 간단한 예로 브랜치를 바꿔보면서, HEAD의 변화를 살펴보겠습니다. 먼저, master 브랜치를 살펴보면, 다음과 같습니다. 현재 commit이 2개 존재합니다. 그보다 HEAD이후에 화살표가 가르키는 부분이 master라는 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0006.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VwdJV/btsz6PKp048/b7cX2kkTTB0CEJoN7D6fQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VwdJV/btsz6PKp048/b7cX2kkTTB0CEJoN7D6fQk/img.png&quot; data-alt=&quot;master branch의 commit 상황&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VwdJV/btsz6PKp048/b7cX2kkTTB0CEJoN7D6fQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVwdJV%2Fbtsz6PKp048%2Fb7cX2kkTTB0CEJoN7D6fQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;496&quot; data-filename=&quot;0006.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;master branch의 commit 상황&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 red라는 branch(브랜치)로 변경하여 commit된 상황을 살펴보도록 하겠습니다. 앞서 부분과 다른 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0007.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blJgGa/btsz82bE0Gu/EPyoCXZSpeOx4sBM8eiCKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blJgGa/btsz82bE0Gu/EPyoCXZSpeOx4sBM8eiCKK/img.png&quot; data-alt=&quot;branch변경후 git log 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blJgGa/btsz82bE0Gu/EPyoCXZSpeOx4sBM8eiCKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblJgGa%2Fbtsz82bE0Gu%2FEPyoCXZSpeOx4sBM8eiCKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;496&quot; data-filename=&quot;0007.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;branch변경후 git log 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같이 위에서 차이가 발생하는 HEAD값을 볼 수 있습니다. branch(브랜치)를 변경하니, HEAD가 가르키니 부분이 red(변경된 branch)로 변경이 된 것을 알 수 있습니다. 이와 같이 HEAD가 가리키는 branch(브랜치) 래퍼런스가 바뀐것을 알 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/869&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700372019139&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&quot; data-og-description=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/869&quot; data-og-url=&quot;https://appia.tistory.com/869&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/psxMv/hyUymgmRgL/Zj6pt08x74IPuEjGtRUIOK/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/euUr4G/hyUyrhGQug/cgbmvfMSXz0MQX3NP0lPZk/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/po670/hyUyAZZgZS/uN8K6zeJSD5mtliIJ9x5Z0/img.png?width=1317&amp;amp;height=1005&amp;amp;face=0_0_1317_1005&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/869&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/869&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/psxMv/hyUymgmRgL/Zj6pt08x74IPuEjGtRUIOK/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/euUr4G/hyUyrhGQug/cgbmvfMSXz0MQX3NP0lPZk/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/po670/hyUyAZZgZS/uN8K6zeJSD5mtliIJ9x5Z0/img.png?width=1317&amp;amp;height=1005&amp;amp;face=0_0_1317_1005');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] git branch(깃 브랜치)와 HEAD(헤드)란?라는 주제로 포스팅을 진행 했습니다. 이번 포스팅을 통해서 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;모든 것을 완벽히 이해하기가 어려울 수 있습니다. 이 부분에서 대략적인 개념만 잡으시고, 다음 포스팅을 통해서 실습과 함꼐 이 부분에 대한 개념을 숙지하는 것을 권장합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>Branch</category>
      <category>git</category>
      <category>Head</category>
      <category>깃</category>
      <category>깃브랜치</category>
      <category>브랜치</category>
      <category>헤드</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/873</guid>
      <comments>https://appia.tistory.com/873#entry873comment</comments>
      <pubDate>Sun, 19 Nov 2023 07:00:04 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] .gitignore 파일 만드는 방법</title>
      <link>https://appia.tistory.com/877</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;.gitignore&amp;nbsp;파일&amp;nbsp;만드는&amp;nbsp;방법&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dm1qzU/btsAvqpYaT4/oZ9vX5iCcqKYbYd9WGrNm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dm1qzU/btsAvqpYaT4/oZ9vX5iCcqKYbYd9WGrNm1/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;.gitignore&amp;amp;amp;nbsp;파일&amp;amp;amp;nbsp;만드는&amp;amp;amp;nbsp;방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dm1qzU/btsAvqpYaT4/oZ9vX5iCcqKYbYd9WGrNm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdm1qzU%2FbtsAvqpYaT4%2FoZ9vX5iCcqKYbYd9WGrNm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;769&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;.gitignore&amp;amp;nbsp;파일&amp;amp;nbsp;만드는&amp;amp;nbsp;방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞선 포스팅에서, 우리는 .gitignore파일을 생성하여, git에서 관리 즉 추적이 되지않게 하는 방법에 대해서 살펴봤습니다. 물론, 현재 과제 및 프로젝트를 하고 있다면, 아마도 .gitignore파일이 생성되어 있을 것입니다. 하지만, 이런 부분이 없다면, 이 부분에 대해서 생성이 필요로 할 것으로 보입니다. 그래서 이번 포스팅에서는 .gitignore파일을 생성하는 방법에 대해서 살펴보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/872&quot;&gt;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;figure id=&quot;og_1700240822027&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기&quot; data-og-description=&quot;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기 이전 포스팅에서는 Git의 Amending Commit을 이용해서, 이전 Commit에서 누락한 파일 또는 Commit 메시지를 수정하는 방법에 대해서 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/872&quot; data-og-url=&quot;https://appia.tistory.com/872&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bpw239/hyUywQkKJr/FjVrxNnOwSJGs39wN2stZ1/img.png?width=771&amp;amp;height=771&amp;amp;face=0_0_771_771,https://scrap.kakaocdn.net/dn/bKuEty/hyUyuyd23s/XRtVLTFERYbRNbulQPPBl1/img.png?width=771&amp;amp;height=771&amp;amp;face=0_0_771_771,https://scrap.kakaocdn.net/dn/O6La7/hyUyvcPnSN/GIFQhbqQFqQmZDY4KsH581/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/872&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/872&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bpw239/hyUywQkKJr/FjVrxNnOwSJGs39wN2stZ1/img.png?width=771&amp;amp;height=771&amp;amp;face=0_0_771_771,https://scrap.kakaocdn.net/dn/bKuEty/hyUyuyd23s/XRtVLTFERYbRNbulQPPBl1/img.png?width=771&amp;amp;height=771&amp;amp;face=0_0_771_771,https://scrap.kakaocdn.net/dn/O6La7/hyUyvcPnSN/GIFQhbqQFqQmZDY4KsH581/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기 이전 포스팅에서는 Git의 Amending Commit을 이용해서, 이전 Commit에서 누락한 파일 또는 Commit 메시지를 수정하는 방법에 대해서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;물론, 상기 포스팅을 한 방법과 같이 직접 .gitignore파일을 생성할 수 도 있습니다. 하지만,이런 방법은&amp;nbsp; 약간 번거로운 방법이 있습니다. 그래서 3가지 방법으로 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. gitignore.io를 이용한 방법&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 이용한 방법은 특정 사이트에서 생성을 제공하는 방법입니다. 먼저, 다음 링크를 클릭하여 이동해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.toptal.com/developers/gitignore&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.toptal.com/developers/gitignore&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700240814050&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;gitignore.io&quot; data-og-description=&quot;Create useful .gitignore files for your project&quot; data-og-host=&quot;www.toptal.com&quot; data-og-source-url=&quot;https://www.toptal.com/developers/gitignore&quot; data-og-url=&quot;https://www.toptal.com/developers/gitignore&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XMy1N/hyUyoxZyCX/CMdSxIoOG6TsDlCpn6JMY0/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254&quot;&gt;&lt;a href=&quot;https://www.toptal.com/developers/gitignore&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.toptal.com/developers/gitignore&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XMy1N/hyUyoxZyCX/CMdSxIoOG6TsDlCpn6JMY0/img.png?width=2400&amp;amp;height=1254&amp;amp;face=0_0_2400_1254');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;gitignore.io&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Create useful .gitignore files for your project&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.toptal.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 링크를 클릭하시면 다음과 같은 화면이 나타날 것입니다. 여기에서, 가운데 입력하는 곳에 필요로 하는 개발 환경에 대해서 입력을 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nfrHk/btsAyUQSABI/L3PoDkak8RumEgLHdKova0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nfrHk/btsAyUQSABI/L3PoDkak8RumEgLHdKova0/img.png&quot; data-alt=&quot;gitignore.io 사이트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nfrHk/btsAyUQSABI/L3PoDkak8RumEgLHdKova0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnfrHk%2FbtsAyUQSABI%2FL3PoDkak8RumEgLHdKova0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitignore.io 사이트 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저의 경우 python 기준으로 입력을 합니다. 밑에 보이는 부분과 같이 &quot;python&quot;을 입력하였습니다. 추가로, 더 입력할 수도 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDrtLU/btsAxiZaOaO/85pQetzozhlIL0O1fvuQkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDrtLU/btsAxiZaOaO/85pQetzozhlIL0O1fvuQkk/img.png&quot; data-alt=&quot;gitignore.io 사이트 화면 - 입력 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDrtLU/btsAxiZaOaO/85pQetzozhlIL0O1fvuQkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDrtLU%2FbtsAxiZaOaO%2F85pQetzozhlIL0O1fvuQkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitignore.io 사이트 화면 - 입력 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 생성 부분을 클릭하셨다면, 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cadcoh/btsAxI4HpiJ/dJ5u44tMkryLgYHS6JXKfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cadcoh/btsAxI4HpiJ/dJ5u44tMkryLgYHS6JXKfK/img.png&quot; data-alt=&quot;gitignore.io 사이트 화면 - 생성 결과 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cadcoh/btsAxI4HpiJ/dJ5u44tMkryLgYHS6JXKfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcadcoh%2FbtsAxI4HpiJ%2FdJ5u44tMkryLgYHS6JXKfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitignore.io 사이트 화면 - 생성 결과 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같이 .gitignore 파일이 생성될 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. github와 같은 호스팅 서비스를 이용한 방법&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;github/gitlab등과 같은 호스팅 서비스에서는 .gitignore파일을 생성하는 부분을 제공하고 있습니다. 단, 이 부분은 Repository를 생성할 때, 이 부분에 대해서 이용할 수 있습니다.&amp;nbsp;먼저 저의 경우 github를 기준으로 이야기를 하겠습니다. github를 로그인할 경우다음과 같은 화면이 나타납니다. 여기에서, 빨간색 상자와 같이 보이는 &quot;New&quot;부분을 바탕으로 새로운 repository를 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/COl2c/btsAyUJ5I9r/ZI2U1WxiNrAN1jZi9HpkPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/COl2c/btsAyUJ5I9r/ZI2U1WxiNrAN1jZi9HpkPK/img.png&quot; data-alt=&quot;github 로그인 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/COl2c/btsAyUJ5I9r/ZI2U1WxiNrAN1jZi9HpkPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCOl2c%2FbtsAyUJ5I9r%2FZI2U1WxiNrAN1jZi9HpkPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;github 로그인 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 생성시에 &quot;Add .gitignore&quot; 부분에서 template 부분을 선택해주시면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tvKXk/btsAvtNMbVb/iG7DCtMR1Bhw6xibwlDsWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tvKXk/btsAvtNMbVb/iG7DCtMR1Bhw6xibwlDsWK/img.png&quot; data-alt=&quot;github - &amp;quot;Add .gitignore&amp;quot; 기능&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tvKXk/btsAvtNMbVb/iG7DCtMR1Bhw6xibwlDsWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtvKXk%2FbtsAvtNMbVb%2FiG7DCtMR1Bhw6xibwlDsWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;github - &quot;Add .gitignore&quot; 기능&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기에서, 원하시는 template 옵션을 선택해 주시면 됩니다. 그런 후에 repository를 생성하시면, 해당 repository에 &quot;.gitignore&quot;파일이 생성됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x2afa/btsAySS2qkQ/yyPsO9x2PB1uV2ML831HV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x2afa/btsAySS2qkQ/yyPsO9x2PB1uV2ML831HV1/img.png&quot; data-alt=&quot;github - &amp;quot;Add .gitignore&amp;quot; 기능 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x2afa/btsAySS2qkQ/yyPsO9x2PB1uV2ML831HV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx2afa%2FbtsAySS2qkQ%2FyyPsO9x2PB1uV2ML831HV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1007&quot; height=&quot;788&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;788&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;github - &quot;Add .gitignore&quot; 기능 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 github와 gitlab과 같은 호스팅 서비스를 이용하여 &quot;.gitignore&quot;파일을 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. IDE를 이용한 방법 (feat. VS Code)&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저의 경우에는 Python을 자주 사용하기 때문에, Pycharm과 VSCode를 많이 사용합니다. 많은 IDE의 경우에는 프로젝트를 새로 생성할 경우에 이 부분에 대해서 자동으로 생성해 줍니다. 물론, VSCode의 경우에는 별도의 extension 사용이 필요로 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, VSCode를 실행하시면, 좌측 부분에 보시면, &quot;Extension&quot;부분을 클릭해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;378&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhZWw8/btsAw29RDf2/ULKw9pfqQAqKOIC2WG0g00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhZWw8/btsAw29RDf2/ULKw9pfqQAqKOIC2WG0g00/img.png&quot; data-alt=&quot;VSCode 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhZWw8/btsAw29RDf2/ULKw9pfqQAqKOIC2WG0g00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhZWw8%2FbtsAw29RDf2%2FULKw9pfqQAqKOIC2WG0g00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;378&quot; height=&quot;314&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;378&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 보이는 부분과 같이 빨간 상자 부분에 &quot;gitignore&quot;부분을 입력해서 검색을 해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;577&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2If2d/btsAySldnSi/AvBIL6I2qDCsKg1ZPak190/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2If2d/btsAySldnSi/AvBIL6I2qDCsKg1ZPak190/img.png&quot; data-alt=&quot;VSCode 실행화면 - Extension 검색화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2If2d/btsAySldnSi/AvBIL6I2qDCsKg1ZPak190/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2If2d%2FbtsAySldnSi%2FAvBIL6I2qDCsKg1ZPak190%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;577&quot; height=&quot;353&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;577&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - Extension 검색화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 다음과 같이 gitingore가 나타날 것입니다. 그중에서 &quot;CodeZombie&quot;에서 생성한 파일을 설치해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYABi/btsAyS6zO8I/swqeJ5ZUkDV9GqLPcLLF5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYABi/btsAyS6zO8I/swqeJ5ZUkDV9GqLPcLLF5K/img.png&quot; data-alt=&quot;VSCode 실행화면 - Extension 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYABi/btsAyS6zO8I/swqeJ5ZUkDV9GqLPcLLF5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYABi%2FbtsAyS6zO8I%2FswqeJ5ZUkDV9GqLPcLLF5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - Extension 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 &quot;Ctrl + Shift + P&quot;를 누른 후에 &quot;Add gitignore&quot;부분을 검색해서 실행해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/db3TGW/btsAvsux8DL/0yE7gcmCuU3rJ908QDR4L0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/db3TGW/btsAvsux8DL/0yE7gcmCuU3rJ908QDR4L0/img.png&quot; data-alt=&quot;VSCode 실행화면 - Extension 실행화면 - &amp;quot;Add gitignore&amp;quot; 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/db3TGW/btsAvsux8DL/0yE7gcmCuU3rJ908QDR4L0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdb3TGW%2FbtsAvsux8DL%2F0yE7gcmCuU3rJ908QDR4L0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - Extension 실행화면 - &quot;Add gitignore&quot; 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 원하시는 템플릿을 선택해주시길 바랍니다. 각 환경에 대해서 검색할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WiEFl/btsAuxiORQz/VdWaKOeu0WJepvMXyLvsi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WiEFl/btsAuxiORQz/VdWaKOeu0WJepvMXyLvsi1/img.png&quot; data-alt=&quot;VSCode 실행화면 - gitignore 생성 화면 1.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WiEFl/btsAuxiORQz/VdWaKOeu0WJepvMXyLvsi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWiEFl%2FbtsAuxiORQz%2FVdWaKOeu0WJepvMXyLvsi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - gitignore 생성 화면 1.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저의 경우&amp;nbsp; 위에서 &quot;Python&quot;을 검색하였고, 그런 후에 우측 하단에 다음과 같이 gitignore파일이 생성되었다는 화면이 나타납니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o3pAY/btsAwsukYog/2aWPwirn5TH0EXrshCMsE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o3pAY/btsAwsukYog/2aWPwirn5TH0EXrshCMsE0/img.png&quot; data-alt=&quot;VSCode 실행화면 - gitignore 생성 화면 2.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o3pAY/btsAwsukYog/2aWPwirn5TH0EXrshCMsE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo3pAY%2FbtsAwsukYog%2F2aWPwirn5TH0EXrshCMsE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - gitignore 생성 화면 2.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 해당 파일을 살펴보면, 다음과 같이 gitignore 파일이 생성이 되었습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caASH4/btsAw6qS2Im/QbYwTNE2s7v2dBxQj05Kzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caASH4/btsAw6qS2Im/QbYwTNE2s7v2dBxQj05Kzk/img.png&quot; data-alt=&quot;VSCode 실행화면 - gitignore 생성 화면 3.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caASH4/btsAw6qS2Im/QbYwTNE2s7v2dBxQj05Kzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaASH4%2FbtsAw6qS2Im%2FQbYwTNE2s7v2dBxQj05Kzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode 실행화면 - gitignore 생성 화면 3.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 IDE를 통한 gitignore파일을 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/864&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700242507025&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&quot; data-og-description=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/864&quot; data-og-url=&quot;https://appia.tistory.com/864&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bl4WJF/hyUyq3FAbj/Zum9Mk2AJKH3gDvEr7OOB1/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/X9sio/hyUyv4WGwG/igXznYyjeNkrNvbCnG4xg0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/cwWdB7/hyUytTz0U8/nawjKxuKImwf4XM4Jyngf0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/864&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/864&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bl4WJF/hyUyq3FAbj/Zum9Mk2AJKH3gDvEr7OOB1/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/X9sio/hyUyv4WGwG/igXznYyjeNkrNvbCnG4xg0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/cwWdB7/hyUytTz0U8/nawjKxuKImwf4XM4Jyngf0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] .gitignore 파일 만드는 방법라는 주제로 포스팅을 진행하였습니다. 실제, 이 부분에 대해서 gitignore파일을 생성하는 방법을 활용할 수 있습니다. 물론, 직접 입력하는 경우도 있지만, 경우에 따라서, 다음과 같은 부분을 활용할 수 있습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>github</category>
      <category>gitignore</category>
      <category>vscode</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/877</guid>
      <comments>https://appia.tistory.com/877#entry877comment</comments>
      <pubDate>Sat, 18 Nov 2023 07:35:53 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] GitKraken 다운로드 및 설치하기(with repository)</title>
      <link>https://appia.tistory.com/874</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;GitKraken&amp;nbsp;다운로드&amp;nbsp;및&amp;nbsp;설치하기(with&amp;nbsp;repository)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qy4Pw/btsz6f3JrqW/nEy8eMApHtAtHDHKYWNhi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qy4Pw/btsz6f3JrqW/nEy8eMApHtAtHDHKYWNhi1/img.png&quot; data-alt=&quot;[깃, Git] GitKraken 다운로드 및 설치하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qy4Pw/btsz6f3JrqW/nEy8eMApHtAtHDHKYWNhi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqy4Pw%2Fbtsz6f3JrqW%2FnEy8eMApHtAtHDHKYWNhi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;780&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] GitKraken 다운로드 및 설치하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전에 소스트리(SourceTree)와 포크(Fork)을 다운로드 하고 설치하는 부분에 대해서 포스팅을 한 적이 있습니다. 물론, 소스트리(SourceTree)와 포크(Fork) 또한 좋은 git GUI Client이고, 대중에게 많이 사용되는 것이 많습니다. 하지만, 이번에 소개드릴 GitKraken의 경우에는 일단, 제가 사용했을 때에 만족도가 높아서, GitKraken을 다운로드하고 설치하는 방법에 대해서 포스팅을 진행해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699629132539&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/X5lUJ/hyUuXtkMfZ/QuQF2bXICPEGsSV7AqOOKK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dToM31/hyUuVWBlhr/d26Q224qDFyZ2wn1rwlrYk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/byeunu/hyUuY6QlJh/1U2i0IYciKiVfXWKp16vXK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/X5lUJ/hyUuXtkMfZ/QuQF2bXICPEGsSV7AqOOKK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dToM31/hyUuVWBlhr/d26Q224qDFyZ2wn1rwlrYk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/byeunu/hyUuY6QlJh/1U2i0IYciKiVfXWKp16vXK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/719&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드하고 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699629223266&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&quot; data-og-description=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/719&quot; data-og-url=&quot;https://appia.tistory.com/719&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/hf0Eu/hyUu2ak3Qh/N3OVGNBMDhYKJLQ99VzkWK/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/c3bG1C/hyUrtHqO6U/Pa4LFfV0KGnzwBE2H9VtT0/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/b2n5hN/hyUrvL10c7/hx8wolBjsJSHjkVtK6qBr1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/719&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/719&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/hf0Eu/hyUu2ak3Qh/N3OVGNBMDhYKJLQ99VzkWK/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/c3bG1C/hyUrtHqO6U/Pa4LFfV0KGnzwBE2H9VtT0/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/b2n5hN/hyUrvL10c7/hx8wolBjsJSHjkVtK6qBr1/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그럼 이제 GitKraken을 설치를 진행해 보도록 하겠습니다. 먼저, 다음 링크를 클릭하여 GitKraken의 공식 페이지로 이동하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.gitkraken.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.gitkraken.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699629311537&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;GitKraken Legendary Git Tools | GitKraken&quot; data-og-description=&quot;Meet GitKraken, the creator of legendary Git tools for developers and teams - like the GitKraken Client, with Git GUI and CLI, Git Integration for Jira, and GitLens for VS Code.&quot; data-og-host=&quot;www.gitkraken.com&quot; data-og-source-url=&quot;https://www.gitkraken.com/&quot; data-og-url=&quot;https://www.gitkraken.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cGjiqz/hyUu5Zdm0B/kbj90aoOGxFHWPqRppkBCK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/Aj6pm/hyUruM5XFW/kdC3j2rPGv7aPVV5KyY0nk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/dOFzFP/hyUuWnF4QH/mPwAtYnoVdgYhoilPBwMHk/img.png?width=2402&amp;amp;height=641&amp;amp;face=0_0_2402_641&quot;&gt;&lt;a href=&quot;https://www.gitkraken.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.gitkraken.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cGjiqz/hyUu5Zdm0B/kbj90aoOGxFHWPqRppkBCK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/Aj6pm/hyUruM5XFW/kdC3j2rPGv7aPVV5KyY0nk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/dOFzFP/hyUuWnF4QH/mPwAtYnoVdgYhoilPBwMHk/img.png?width=2402&amp;amp;height=641&amp;amp;face=0_0_2402_641');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitKraken Legendary Git Tools | GitKraken&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Meet GitKraken, the creator of legendary Git tools for developers and teams - like the GitKraken Client, with Git GUI and CLI, Git Integration for Jira, and GitLens for VS Code.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.gitkraken.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 페이지를 클릭하시면 다음과 같은 페이지가 나타날 것입니다. 여기에서, 상단에 보이는&lt;b&gt; [Download GitKraken Client Free] 부분을&lt;/b&gt; 클릭하여 주시길 바랍니다. (현재 OS기준으로 해당 부분에 맞게 설치가 될 것입니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm2SOX/btsz7SAcXZN/kUlIpxKNFB2OqkRkknG1ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm2SOX/btsz7SAcXZN/kUlIpxKNFB2OqkRkknG1ek/img.png&quot; data-alt=&quot;GitKraken 홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm2SOX/btsz7SAcXZN/kUlIpxKNFB2OqkRkknG1ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm2SOX%2Fbtsz7SAcXZN%2FkUlIpxKNFB2OqkRkknG1ek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계를 진행하시면, 다음과 같이 바로 설치파일을 다운로드 진행을 합니다. 다운로드가 완료되면, 해당 파일을 실행하여 설치를 진행해 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckhOgm/btsz6xjfcyW/RfWfBBcv3QExE6b5fKVnk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckhOgm/btsz6xjfcyW/RfWfBBcv3QExE6b5fKVnk1/img.png&quot; data-alt=&quot;GitKraken 다운로드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckhOgm/btsz6xjfcyW/RfWfBBcv3QExE6b5fKVnk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckhOgm%2Fbtsz6xjfcyW%2FRfWfBBcv3QExE6b5fKVnk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 다운로드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 바로 설치가 진행이 됩니다. 가장 좋은 점은 별다른 중간 설정 없이 바로 설치가 진행된다는 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;450&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bug5KX/btsz88vVTes/jjAlh2NkiVPfD2cSoCmbp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bug5KX/btsz88vVTes/jjAlh2NkiVPfD2cSoCmbp0/img.png&quot; data-alt=&quot;GitKraken설치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bug5KX/btsz88vVTes/jjAlh2NkiVPfD2cSoCmbp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbug5KX%2Fbtsz88vVTes%2FjjAlh2NkiVPfD2cSoCmbp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;510&quot; height=&quot;450&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;450&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken설치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;GitKraken이 설치가 완료되면, 다음과 같은 화면이 나타날 것입니다. 여기에서 현재 Gitlab / github/ bitbucket 등에 연결할 수도 있고, 아니면 현재 PC에 있는 Repository을 열 수도 있습니다. 저의 경우, repository를 열어서 진행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ljTLa/btsz60SZaqK/KEWzBCbTLUdi7W1ffrqvuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ljTLa/btsz60SZaqK/KEWzBCbTLUdi7W1ffrqvuk/img.png&quot; data-alt=&quot;GitKraken 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ljTLa/btsz60SZaqK/KEWzBCbTLUdi7W1ffrqvuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FljTLa%2Fbtsz60SZaqK%2FKEWzBCbTLUdi7W1ffrqvuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;793&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계까지 진행하면, 현재 Git 설정에 대해서 설정할 수 있도록 합니다. 이 부분에 대해서, 원하시는 정보로 수정하거나, 아니면 기존의 부분을 확인하시고 나서,&lt;b&gt; [Use these for Git commits] 부분을&lt;/b&gt; 클릭하시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F5WMG/btsz6OY2hF1/64TGArvq4eS0CV3S6m3sRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F5WMG/btsz6OY2hF1/64TGArvq4eS0CV3S6m3sRk/img.png&quot; data-alt=&quot;Git설정 확인 (Name , email)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F5WMG/btsz6OY2hF1/64TGArvq4eS0CV3S6m3sRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF5WMG%2Fbtsz6OY2hF1%2F64TGArvq4eS0CV3S6m3sRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;793&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git설정 확인 (Name , email)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계까지 진행하고 나서, 다음과 같은 메뉴를 확인할 수 있습니다. 여기에서, 원하시는 부분을 클릭하시면 됩니다. 저의 경우에는 &lt;b&gt;[Open repo] 부분을&lt;/b&gt; 선택하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJ1iOj/btsz9wXDrhx/vBqOzK4Vbfo3kX8tC5WC80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJ1iOj/btsz9wXDrhx/vBqOzK4Vbfo3kX8tC5WC80/img.png&quot; data-alt=&quot;GitKraken 설정 시작&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJ1iOj/btsz9wXDrhx/vBqOzK4Vbfo3kX8tC5WC80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJ1iOj%2Fbtsz9wXDrhx%2FvBqOzK4Vbfo3kX8tC5WC80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;793&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 설정 시작&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Repository을 열기를 선택하셨다면, 다음과 같이 경로를 선택할 수 있도록 나옵니다. 이 부분에서 &lt;b&gt;[Browse] 부분을&lt;/b&gt; 클릭하여 Repository가 있는 폴더를 선택해 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z8aDX/btsAakJnu07/iKzwqRvjMXicaBzW8wnLm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z8aDX/btsAakJnu07/iKzwqRvjMXicaBzW8wnLm0/img.png&quot; data-alt=&quot;GitKraken 설정 Repository 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z8aDX/btsAakJnu07/iKzwqRvjMXicaBzW8wnLm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ8aDX%2FbtsAakJnu07%2FiKzwqRvjMXicaBzW8wnLm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;793&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 설정 Repository 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 단계까지 진행하면, 다음과 같이 Repository가 열려 있는 화면을 볼 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WGLCx/btsz6jSxU4Q/Wyb2AqN9kXVx5boL8FrZTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WGLCx/btsz6jSxU4Q/Wyb2AqN9kXVx5boL8FrZTk/img.png&quot; data-alt=&quot;GitKraken 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WGLCx/btsz6jSxU4Q/Wyb2AqN9kXVx5boL8FrZTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWGLCx%2Fbtsz6jSxU4Q%2FWyb2AqN9kXVx5boL8FrZTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;793&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GitKraken 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이와 같은 단계로 GitKraken을 실행하고 Repository을 연결해 봤습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/866&quot;&gt;[깃, Git] 기본 git GUI와 외부 git GUI툴 정보 확인하기&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699629881962&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&quot; data-og-description=&quot;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기 이전 포스팅에서는 git add와 git commit에 대해서 살펴봤습니다. 가장 핵심인 정보에 대해서 살펴봤는데요. 이러한 부분들을 진행하다보니, 자연&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/866&quot; data-og-url=&quot;https://appia.tistory.com/866&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bEGDF3/hyUuUQS279/UCXaimftoFHgf22jtsrPm1/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/Njkci/hyUu0cu8IL/kdXiX0PIDWcxbS8jrYyT21/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/8x9fr/hyUu1bpA7N/6l4AnTand5g66GOUFmgArk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/866&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/866&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bEGDF3/hyUuUQS279/UCXaimftoFHgf22jtsrPm1/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/Njkci/hyUu0cu8IL/kdXiX0PIDWcxbS8jrYyT21/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/8x9fr/hyUu1bpA7N/6l4AnTand5g66GOUFmgArk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기 이전 포스팅에서는 git add와 git commit에 대해서 살펴봤습니다. 가장 핵심인 정보에 대해서 살펴봤는데요. 이러한 부분들을 진행하다보니, 자연&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;[깃, Git] GitKraken 다운로드하기 및 설치하기(with repository)라는 주제로 포스팅을 진행했습니다. 아마 다양한 툴을 사용해 보면, 다들 각자의 장단점이 있습니다. GitKraken의 경우에 제가 느끼기에는 가장 사용성이 좋았던 것으로 보입니다. 물론, 유료 버전 또한 있지만, 무료 버전으로도 충분히 활용가치가 높은 것 같습니다. 혹 궁금하신 점이나 문의사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>gitGUI</category>
      <category>GitGUIClient</category>
      <category>gitkraken</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/874</guid>
      <comments>https://appia.tistory.com/874#entry874comment</comments>
      <pubDate>Fri, 17 Nov 2023 07:30:03 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기</title>
      <link>https://appia.tistory.com/872</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git에서&amp;nbsp;.gitignore을&amp;nbsp;사용해서&amp;nbsp;추적안되는&amp;nbsp;파일,&amp;nbsp;폴더&amp;nbsp;설정하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;771&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj15C4/btsz2jEHuWG/dCNu4maWIkTJ1HfABlxUP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj15C4/btsz2jEHuWG/dCNu4maWIkTJ1HfABlxUP1/img.png&quot; data-alt=&quot;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj15C4/btsz2jEHuWG/dCNu4maWIkTJ1HfABlxUP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj15C4%2Fbtsz2jEHuWG%2FdCNu4maWIkTJ1HfABlxUP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;771&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서는 Git의 Amending Commit을 이용해서, 이전 Commit에서 누락한 파일 또는 Commit 메시지를 수정하는 방법에 대해서 살펴봤습니다. 그러면, 이번 포스팅에서는 git에서 파일 또는 폴더가 추적되지 않게 즉, git에서 무시될 수 있게 하는 방법에 대해서 알아보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일례로, 다음과 같이 버전관리가 필요로 하지 않는 파일들이 존재합니다. 예로 들면, 현재 나의 컴퓨터 상태를 나타내는 설정파일 및 다양한 파일들이 있을 수 있습니다. 그러한 부분들은 실제로 git에서 추적이 불필요합니다. 물론 사용자가 매번, 이러한 파일들에 대해서 git add 및 git commit시에 신경써서, 이러한 파일들이 빠지도록 할수도 있지만, 설정자체로 이러한 파일들을 제거 할 수 있습니다. 가장 좋은 방법이 바로 &quot;.gitnore&quot;파일을 이용하는 것입니다. 다음 예시를 통해서 한번 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단, git의 추적이 필요로 하지 않는 .info 파일에 대해서 생성을 해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699529505828&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch setup.info&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;위의 명령어를 실행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcXdLF/btsz3cyBmo1/zRL84YegYuHnbIMWTD6Ke1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcXdLF/btsz3cyBmo1/zRL84YegYuHnbIMWTD6Ke1/img.png&quot; data-alt=&quot;setup.info파일생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcXdLF/btsz3cyBmo1/zRL84YegYuHnbIMWTD6Ke1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcXdLF%2Fbtsz3cyBmo1%2FzRL84YegYuHnbIMWTD6Ke1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;setup.info파일생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정이후에, git status를 실행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vhjHP/btsz2VjmA2n/anVSUSiqaCxblEhdSSgEsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vhjHP/btsz2VjmA2n/anVSUSiqaCxblEhdSSgEsK/img.png&quot; data-alt=&quot;setup.info 생성 후 git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vhjHP/btsz2VjmA2n/anVSUSiqaCxblEhdSSgEsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvhjHP%2Fbtsz2VjmA2n%2FanVSUSiqaCxblEhdSSgEsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;setup.info 생성 후 git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아마도 앞선 포스팅을 보셨던 분들은 위와 같은 결과를 예상하셨을 것입니다. 빨간색으로 현재 stage에 올라오지 않은 변경점에 대해서 표시가 됩니다. 여기에서 .ignore을 이용해서, 이 부분을 무시하도록 해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 다음 명령어를 통해서 &quot;.gitignore&quot;파일을 생성하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699529982764&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch .gitignore&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCGzmv/btsz3LAO6tr/19R422SU2r6e2O3OFQspEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCGzmv/btsz3LAO6tr/19R422SU2r6e2O3OFQspEk/img.png&quot; data-alt=&quot;.gitignore 파일 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCGzmv/btsz3LAO6tr/19R422SU2r6e2O3OFQspEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCGzmv%2Fbtsz3LAO6tr%2F19R422SU2r6e2O3OFQspEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore 파일 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 해당 파일을 열어서, 다음과 같은 원칙으로 입력해주도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;형태&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용방식&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예시&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정확장자 포함 모든 이름&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*.확장자&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*.info&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 이름의 모든 파일&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파일이름.*&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;config.*&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 폴더 하위&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;폴더이름/&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sub_config/&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 폴더의 파일&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 폴더이름/파일이름&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000; text-align: start;&quot;&gt; sub_config/ccc_test.t1 &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 먼저, info의 확장자를 가지는 모든 파일을 git에서 무시하도록 해보겠습니다. 저의 경우 윈도우 탐색기를 열어서, 해당 파일을 수정하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699530306173&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ start . #현재 폴더 기준 탐색기 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서, 해당 폴더를 열어, .gitignore파일을 다음과 같이 수정하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;369&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dScrUY/btsz42bo3MY/gENhOgUzQdmk9KqMkcRhPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dScrUY/btsz42bo3MY/gENhOgUzQdmk9KqMkcRhPK/img.png&quot; data-alt=&quot;.gitignore파일 수정 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dScrUY/btsz42bo3MY/gENhOgUzQdmk9KqMkcRhPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdScrUY%2Fbtsz42bo3MY%2FgENhOgUzQdmk9KqMkcRhPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;369&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서 다시 git status를 입력하여 상태를 보니, 다음과 같이 .gitignore파일을 git에서 모니터링 하는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biA3x5/btsz61igCA7/XMjWeg0yTg0RTgK3BKPG5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biA3x5/btsz61igCA7/XMjWeg0yTg0RTgK3BKPG5k/img.png&quot; data-alt=&quot;.gitignore파일 수정 후 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biA3x5/btsz61igCA7/XMjWeg0yTg0RTgK3BKPG5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiA3x5%2Fbtsz61igCA7%2FXMjWeg0yTg0RTgK3BKPG5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정 후 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 저는 .gitignore파일이 git에서 추적되는 것을 보고, 이 또한 무시되게 하겠습니다. 물론, 실제 회사에서는 형상관리에 대한 관리를 하시는 분이 이 부분에 대해서 입력해서 공유 하는 경우가 많습니다. (이 부분은 완전히 저의 개인 취향입니다.)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/corBUZ/btsz45eUyCn/o5nHCQLE5Nr7hxQRBE84Rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/corBUZ/btsz45eUyCn/o5nHCQLE5Nr7hxQRBE84Rk/img.png&quot; data-alt=&quot;.gitignore파일 수정&amp;amp;amp;nbsp; (.ignore파일 또한 모니터링 안되게 수정)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/corBUZ/btsz45eUyCn/o5nHCQLE5Nr7hxQRBE84Rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcorBUZ%2Fbtsz45eUyCn%2Fo5nHCQLE5Nr7hxQRBE84Rk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;446&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정&amp;amp;nbsp; (.ignore파일 또한 모니터링 안되게 수정)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같이 수정한 후에 다시한번 &quot;git status&quot;를 입력하니, 다음과 같은 화면이 나타납니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0g1bE/btsz10L0wh3/QzBFDX2lBXnX8dU7MYKm8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0g1bE/btsz10L0wh3/QzBFDX2lBXnX8dU7MYKm8K/img.png&quot; data-alt=&quot;.gitignore파일 수정 후 결과 (.ignore파일 또한 모니터링 안되게 수정)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0g1bE/btsz10L0wh3/QzBFDX2lBXnX8dU7MYKm8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0g1bE%2Fbtsz10L0wh3%2FQzBFDX2lBXnX8dU7MYKm8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정 후 결과 (.ignore파일 또한 모니터링 안되게 수정)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같이 .ignore파일을 수정하여 파일을 버전관리 대상에서 제외시킬 수 있습니다. 그러면, 위에서와 약간의 다른 예시로, 특정 파일 이름을 가지는 모든 파일에 대해서 버전관리대상에서 제외시켜보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다른 예시인데,&amp;nbsp; very라는 이름을 가지는 모든 파일에 대해서 버전관리 대상에서 제외시키도록 하기와 같이 내용을 추가하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699530672330&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;very.*&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B75PL/btsz3fhMDHt/UQx0kHGGp4oKQMISKrLwj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B75PL/btsz3fhMDHt/UQx0kHGGp4oKQMISKrLwj1/img.png&quot; data-alt=&quot;.gitignore파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B75PL/btsz3fhMDHt/UQx0kHGGp4oKQMISKrLwj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB75PL%2Fbtsz3fhMDHt%2FUQx0kHGGp4oKQMISKrLwj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;433&quot; height=&quot;284&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, very.txt를 생성하여, git status로 실행하여 git의 현재 상태를 보도록 하겠습니다. 보이는 바와 같이 현재 파일이 추가되도, git에서는 관리 대상에서 제외되고 있다는 것을 알 수 있습니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zLen7/btsz6hyWm1H/hIAkt7XPsRkX2KK41yAwv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zLen7/btsz6hyWm1H/hIAkt7XPsRkX2KK41yAwv0/img.png&quot; data-alt=&quot;.gitignore파일 수정 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zLen7/btsz6hyWm1H/hIAkt7XPsRkX2KK41yAwv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzLen7%2Fbtsz6hyWm1H%2FhIAkt7XPsRkX2KK41yAwv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore파일 수정 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;물론 다음과 같은 옵션들도 당연히 추가되어 사용할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-style=&quot;style12&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;형태&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용방식&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예시&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정이름으로 시작하는&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정이름*.*&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;too*.*&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정이름을 포함하는&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*파일이름*.*&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*too*.*&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기에서, 대소문자의 구별을 주의 하셔야 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 이제는 하위 폴더에 대해서 살펴보도록 하겠습니다. 그럼 이번에는 폴더를 2개 생성하고, 각 폴더에는 파일을 생성하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699533279132&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ mkdir sub_config
$ mkdir sub_config1
$ cd sub_config
$ touch ex1.txt ex2.txt
$ cd ..
$ cd sub_config1
$ touch tex1.txt tex2.txt
$ cd ..&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같은 형태로, 현재 예시를 한번 만들어봤습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qW5ZE/btsz3KWfwWv/HMC7KdCdvbwCQa8hTRnf31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qW5ZE/btsz3KWfwWv/HMC7KdCdvbwCQa8hTRnf31/img.png&quot; data-alt=&quot;예시 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qW5ZE/btsz3KWfwWv/HMC7KdCdvbwCQa8hTRnf31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqW5ZE%2Fbtsz3KWfwWv%2FHMC7KdCdvbwCQa8hTRnf31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;636&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 다시 git status를 실행하니, 생성한 폴더가 추적되고 있음을 확인할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QIdeH/btsz2W3HSqn/3nio1vxw6XAs8qkQH6W7HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QIdeH/btsz2W3HSqn/3nio1vxw6XAs8qkQH6W7HK/img.png&quot; data-alt=&quot;폴더 및 폴더의 하위 파일 생성 후 git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QIdeH/btsz2W3HSqn/3nio1vxw6XAs8qkQH6W7HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQIdeH%2Fbtsz2W3HSqn%2F3nio1vxw6XAs8qkQH6W7HK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;636&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;폴더 및 폴더의 하위 파일 생성 후 git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 부분을 바탕으로, sub_config 폴더 전체를 버전관리 대상에서 제외 시키도록 하겠습니다. 다음 부분을 .gitignore 부분에 추가해주도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699533496153&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sub_config/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 .gitignore를 저장하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfjKMD/btsz5pEfS1D/WIywjuRlg0XRYrVIkukXc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfjKMD/btsz5pEfS1D/WIywjuRlg0XRYrVIkukXc0/img.png&quot; data-alt=&quot;.gitignore수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfjKMD/btsz5pEfS1D/WIywjuRlg0XRYrVIkukXc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfjKMD%2Fbtsz5pEfS1D%2FWIywjuRlg0XRYrVIkukXc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;442&quot; height=&quot;334&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;334&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.gitignore수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 다시한번 git status부분을 입력하면, .gitignore에 추가하지 않은 sub_config1/부분만 남아 있는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJgqpa/btsz1J4QMsa/DRN7kVt4b8aG8RV2yxHR31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJgqpa/btsz1J4QMsa/DRN7kVt4b8aG8RV2yxHR31/img.png&quot; data-alt=&quot;git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJgqpa/btsz1J4QMsa/DRN7kVt4b8aG8RV2yxHR31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJgqpa%2Fbtsz1J4QMsa%2FDRN7kVt4b8aG8RV2yxHR31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;636&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 파일 및 폴더의 내용에 대해서 버전관리 대상에서 제외할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699533694733&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git에서 .gitignore을 사용해서 추적안되는 파일, 폴더 설정하기라는 주제로 git에서 모니터링 되지 않게 버전관리 대상에서 제외하는 방법을 살펴봤습니다. 작업하시다가 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글남겨 주시길 바랍니다. 감사합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>.ignore</category>
      <category>git</category>
      <category>git에서확인안하는파일</category>
      <category>git추적되지않은파일</category>
      <category>버전관리대상에서제외</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/872</guid>
      <comments>https://appia.tistory.com/872#entry872comment</comments>
      <pubDate>Thu, 16 Nov 2023 07:42:01 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)</title>
      <link>https://appia.tistory.com/871</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git의&amp;nbsp;Amending&amp;nbsp;Commit(Commit시&amp;nbsp;누락한&amp;nbsp;파일&amp;nbsp;추가하기&amp;nbsp;및&amp;nbsp;commit&amp;nbsp;메시지&amp;nbsp;수정하기)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NGeC1/btszYDYaD32/CPq5Kc5X3yeZ8xyYXAPnMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NGeC1/btszYDYaD32/CPq5Kc5X3yeZ8xyYXAPnMk/img.png&quot; data-alt=&quot;[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NGeC1/btszYDYaD32/CPq5Kc5X3yeZ8xyYXAPnMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNGeC1%2FbtszYDYaD32%2FCPq5Kc5X3yeZ8xyYXAPnMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;770&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서는 Git GUI Client를 이용하여 Commit을 하는 방법에 대해서 살펴봤습니다. 이전과 달리, Command가 아니라서, 편한것은 있었지만, 아직까지 저는 구식이라서 그런지 몰라도 Command가 편합니다. 물론 회사에서 작업을 하고, 프로젝트 진행시에는 거의 command를 안치지는 경향이 있지만요. 이번 포스팅에서는 Amending Commit이라는 내용에 대해서 이야기를 해볼려고합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;figure id=&quot;og_1699506736312&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, Amend라는 기능은 commit의 하나의 옵션입니다. 이 부분은 바로 이전 commit에 대해서 누락된 파일을 추가하거나, 아니면 commit 메시지를 변경할 수 있도록 기회를 줍니다. (단, 바로 이전에 commit에 한하여 기회가 제공이 됩니다.) 10번의 commit중 10번째만 수정이 진행이 가능합니다. 1~9번째 commit에 대해서는 해당 되지 않습니다. 이 Amend라는 옵션을 사용하는 것을 Amending commit이라고도 합니다. 사용빈도가 매우 많지는 않지만, 그래도 알고 있으면 매우 유용한 기능입니다. 그러면 저희는 간단한 예시를 통해서 이 기능에 대해서 함께 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 commit정보에 대해서 git log 명령어를 통해서 한번 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699506915704&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서, 현재 Repository에 대한 commit 정보에 대해서 살펴볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wVD8x/btszZmomvw4/7C3PxkCr6NjEWFxw0VkLGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wVD8x/btszZmomvw4/7C3PxkCr6NjEWFxw0VkLGK/img.png&quot; data-alt=&quot;현재의 git commit 정보&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wVD8x/btszZmomvw4/7C3PxkCr6NjEWFxw0VkLGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwVD8x%2FbtszZmomvw4%2F7C3PxkCr6NjEWFxw0VkLGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;현재의 git commit 정보&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런데, 제가 혹 마지막 commit에서 파일을 하나 누락하였다고 가정하겠습니다. 물론, 이 부분을 별도의 commit으로 진행을 할수도 있습니다. 하지만, 그럴 경우 한 두번의 경우는 상관이 없지만, 횟수가 잦아지면, Repository가 복잡해지겠죠. 그래서 amend 옵션을 사용할 예정입니다. 다음 명령어를 통해서 파일을 하나 추가해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699507156204&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch forgetten_file.log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서 파일을 생성해보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sPC6n/btsz3bMBuIz/YMGYKSK3FRkTjHaakJK7n0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sPC6n/btsz3bMBuIz/YMGYKSK3FRkTjHaakJK7n0/img.png&quot; data-alt=&quot;누락한 파일 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sPC6n/btsz3bMBuIz/YMGYKSK3FRkTjHaakJK7n0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsPC6n%2Fbtsz3bMBuIz%2FYMGYKSK3FRkTjHaakJK7n0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;누락한 파일 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 생성한 파일은 이전 commit에서 포함되어야 할 파일이었다고 가정을 하고, git add를 통해서 stage로 올리도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699507225907&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add forgetten_file.log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1WAog/btszYJKK7nY/GX3afhnmaOqVwW4VgfkcXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1WAog/btszYJKK7nY/GX3afhnmaOqVwW4VgfkcXk/img.png&quot; data-alt=&quot;추가한 파일 stage에 올림&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1WAog/btszYJKK7nY/GX3afhnmaOqVwW4VgfkcXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1WAog%2FbtszYJKK7nY%2FGX3afhnmaOqVwW4VgfkcXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;추가한 파일 stage에 올림&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정을 거친 후에, 다음 명령어를 입력하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699507450180&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git commit --amend&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 실행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OElcC/btsz5kWF8Lo/lNwMWBvKTPCb6p7KOYLzDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OElcC/btsz5kWF8Lo/lNwMWBvKTPCb6p7KOYLzDk/img.png&quot; data-alt=&quot;git commit --amend 실행결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OElcC/btsz5kWF8Lo/lNwMWBvKTPCb6p7KOYLzDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOElcC%2Fbtsz5kWF8Lo%2FlNwMWBvKTPCb6p7KOYLzDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit --amend 실행결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그랬더니, 이전에 설정된 에디터 창을 통해, 현재 commit 메시지가 나타난 것을 알 수 있습니다. 이 부분을 수정해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CKhWA/btsz1KIPKRC/sXTTgEm70utzExT8O8VczK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CKhWA/btsz1KIPKRC/sXTTgEm70utzExT8O8VczK/img.png&quot; data-alt=&quot;기존 commit 메시지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CKhWA/btsz1KIPKRC/sXTTgEm70utzExT8O8VczK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCKhWA%2Fbtsz1KIPKRC%2FsXTTgEm70utzExT8O8VczK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;기존 commit 메시지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 부분에서 한글을 영어로 바꾸고, 내용을 바꾸도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddR8dO/btszYothFkE/KLlZ4eD7SHeVUdTmqOEKtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddR8dO/btszYothFkE/KLlZ4eD7SHeVUdTmqOEKtk/img.png&quot; data-alt=&quot;변경된 commit 메시지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddR8dO/btszYothFkE/KLlZ4eD7SHeVUdTmqOEKtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddR8dO%2FbtszYothFkE%2FKLlZ4eD7SHeVUdTmqOEKtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;변경된 commit 메시지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같은 방법으로 기존 마지막 commit의 메시지를 수정하고 저장 후에 종료하도록 하겠습니다. 그랬더니, 다음과 같이 commit이 진행된 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRLS8q/btszYEQog6S/3mBlkIRNQAkGkz0Rv5aH81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRLS8q/btszYEQog6S/3mBlkIRNQAkGkz0Rv5aH81/img.png&quot; data-alt=&quot;git commit --amend 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRLS8q/btszYEQog6S/3mBlkIRNQAkGkz0Rv5aH81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRLS8q%2FbtszYEQog6S%2F3mBlkIRNQAkGkz0Rv5aH81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit --amend 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서 다음 명령어를 통해서 현재 commit상태를 확인해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699507658874&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 실행해보니, 다음과 같이 현재 git commit 결과를 보여줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5QhK1/btsz1e4EuIn/385K1sypj1ABqPRUBqeqs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5QhK1/btsz1e4EuIn/385K1sypj1ABqPRUBqeqs1/img.png&quot; data-alt=&quot;git commit --amend 결과 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5QhK1/btsz1e4EuIn/385K1sypj1ABqPRUBqeqs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5QhK1%2Fbtsz1e4EuIn%2F385K1sypj1ABqPRUBqeqs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;496&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit --amend 결과 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서, 추가 commit 없이 마지막에 추가된 파일이, 이전 commit에 추가되었음을 알 수 있습니다. 물론, 수정한 commit 메시지 또한 변경이 된 것을 확인할 수 있었습니다. 이와 같은 방법으로 git commit --amend을 통하여 amending commit을 진행할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/869&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1700062358441&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&quot; data-og-description=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/869&quot; data-og-url=&quot;https://appia.tistory.com/869&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b7w9Bd/hyUu0LPNkh/MCQLuFDXwZ1SpBdBmWNjD0/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/b347mA/hyUuYN0gGS/Hgiik6LuOaxaADfYFu6Rh0/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/oSA4o/hyUyAEGIfO/IxlFbHVue2sKYIv3HZeshK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/869&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/869&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b7w9Bd/hyUu0LPNkh/MCQLuFDXwZ1SpBdBmWNjD0/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/b347mA/hyUuYN0gGS/Hgiik6LuOaxaADfYFu6Rh0/img.png?width=749&amp;amp;height=749&amp;amp;face=0_0_749_749,https://scrap.kakaocdn.net/dn/oSA4o/hyUyAEGIfO/IxlFbHVue2sKYIv3HZeshK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)라는 주제로 이야기를 해봤습니다. 실제, commit 뿐 아니라, 브랜치에 대해서 amend 옵션을 사용하기는 하지만, 이 부분은 향후 브랜치에 대해서 이야기를 하면서 함께 진행을 해볼까 합니다. 이번 포스팅에서는 이 기능을 통해서 바로 이전의 commit에 대해서 파일을 추가하거나 commit 메시지를 변경할 수 있었습니다. 혹 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>amend</category>
      <category>amending commit</category>
      <category>commit --amend</category>
      <category>git</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/871</guid>
      <comments>https://appia.tistory.com/871#entry871comment</comments>
      <pubDate>Wed, 15 Nov 2023 07:36:25 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git의 GUI Client를 이용한 Commit(feat. SourceTree)</title>
      <link>https://appia.tistory.com/870</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git의&amp;nbsp;GUI&amp;nbsp;Client를&amp;nbsp;이용한&amp;nbsp;Commit(feat.&amp;nbsp;SourceTree)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRhbnb/btsz41WOZaS/WTX0kzAwGWRvRUn03UwzFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRhbnb/btsz41WOZaS/WTX0kzAwGWRvRUn03UwzFk/img.png&quot; data-alt=&quot;[깃, Git] Git의 GUI Client를 이용한 Commit(feat. SourceTree)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRhbnb/btsz41WOZaS/WTX0kzAwGWRvRUn03UwzFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRhbnb%2Fbtsz41WOZaS%2FWTX0kzAwGWRvRUn03UwzFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;769&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;769&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git의 GUI Client를 이용한 Commit(feat. SourceTree)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서 Git의 commit 정보하기라는 주제로 git log에 대한 옵션을 적용하는 방법에 대해서 살펴봤습니다. 실제로, GUI툴을 사용하는 경우, git log등에 대해서 잘 사용하지 않는 경우가 많습니다. 저의 경우에는 실제로, Fork, SourceTree을 주로 사용하였지만, 최근에 있어서, GitKraken을 사용하고 있습니다. (과제에 따라서, 현업하는 사람들이 사용하는 툴을 바꿔가면서 사용합니다.) 그래서 이번 포스팅에서는 소스트리(Source Tree)을 이용하여 Git commit을 하는 방법에 대해서 이야기를 해보고자 합니다. 기본적으로 대부분 GUI툴들이 다 비슷하기 때문에 이 부분을 토대로, 다른 툴을 사용하셔도 비슷합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699496729569&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jIqtm/hyUuWHCThY/eqwknEFyhVtiuO3auj2Ttk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/ejlagP/hyUuR7nYXp/kCot0bgWtVbksbp55QW011/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jIqtm/hyUuWHCThY/eqwknEFyhVtiuO3auj2Ttk/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/ejlagP/hyUuR7nYXp/kCot0bgWtVbksbp55QW011/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 소스트리(Source Tree)를 처음 실행하시면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lNfkK/btszZm9hsE0/GQWKxXbOk3EYypmUxrYKx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lNfkK/btszZm9hsE0/GQWKxXbOk3EYypmUxrYKx0/img.png&quot; data-alt=&quot;소스트리(Source Tree) 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lNfkK/btszZm9hsE0/GQWKxXbOk3EYypmUxrYKx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlNfkK%2FbtszZm9hsE0%2FGQWKxXbOk3EYypmUxrYKx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1202&quot; height=&quot;800&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 여기에서 현재 repository을 불려오기 위해서는 현재 repository가 있는 폴더의 경로를 확인해야합니다. 그래서, Git Bash을 실행하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CbJ2n/btszXFocNY8/CYCcJDUDpwqXRfRuYIR1k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CbJ2n/btszXFocNY8/CYCcJDUDpwqXRfRuYIR1k1/img.png&quot; data-alt=&quot;git bash 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CbJ2n/btszXFocNY8/CYCcJDUDpwqXRfRuYIR1k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCbJ2n%2FbtszXFocNY8%2FCYCcJDUDpwqXRfRuYIR1k1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git bash 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;물론, 저는 git bash을 실행하고, 현재 repository가 있는 폴더로 이동하였습니다. 여기에서 다음과 같은 command을 바탕으로 현재 경로를 확인하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699497045283&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ pwd&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 현재 작업하고 있는 경로가 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oo8DP/btsz2jcEaud/fHdhBgsn0KXCuRvaCXzis1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oo8DP/btsz2jcEaud/fHdhBgsn0KXCuRvaCXzis1/img.png&quot; data-alt=&quot;git bash에서의 현재 작업 경로 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oo8DP/btsz2jcEaud/fHdhBgsn0KXCuRvaCXzis1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Foo8DP%2Fbtsz2jcEaud%2FfHdhBgsn0KXCuRvaCXzis1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git bash에서의 현재 작업 경로 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기에서, 다시 소스트리(Source Tree)로 이동해서 보겠습니다. 여기에서, &lt;b&gt;[파일] - [열기]&lt;/b&gt; 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;181&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w94OK/btsz1LtKHcs/UvyWOa3MUDeLHmH3qPAnK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w94OK/btsz1LtKHcs/UvyWOa3MUDeLHmH3qPAnK1/img.png&quot; data-alt=&quot;소스트리(Source Tree) Repository 열기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w94OK/btsz1LtKHcs/UvyWOa3MUDeLHmH3qPAnK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw94OK%2Fbtsz1LtKHcs%2FUvyWOa3MUDeLHmH3qPAnK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;776&quot; height=&quot;181&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;181&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) Repository 열기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 &lt;b&gt;[파일] - [열기]&lt;/b&gt;부분을 클릭하시면 다이얼로그가 나타날것입니다. 여기에서, 위에서 확인한 경로를 입력하시고 &lt;b&gt;[폴더 선택]&lt;/b&gt; 부분을 클릭하여 주시길 바랍니다. 단 하나 조심해야할 것은 다음과 같이 변경이 필요로 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;/c/Users/Appia/commit_test -&amp;gt; c:\Users\Appia\commit_test&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMtNX5/btszXFhv08B/YueSlOiehzbz48kMMtPdpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMtNX5/btszXFhv08B/YueSlOiehzbz48kMMtPdpK/img.png&quot; data-alt=&quot;Repository 폴더 선택하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMtNX5/btszXFhv08B/YueSlOiehzbz48kMMtPdpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMtNX5%2FbtszXFhv08B%2FYueSlOiehzbz48kMMtPdpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1186&quot; height=&quot;533&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;533&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Repository 폴더 선택하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 단계까지 진행하시면 다음과 같은 화면이 나타날 것입니다. 별도의 책갈피는 필요없기 때문에 저의 경우에는 &lt;b&gt;[취소]&lt;/b&gt;를 클릭하여 진행하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1201&quot; data-origin-height=&quot;681&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1plFO/btsz10qKByk/kGskIfZkEF22qjCYxkA3Q1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1plFO/btsz10qKByk/kGskIfZkEF22qjCYxkA3Q1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 폴더 선택 완료1.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1plFO/btsz10qKByk/kGskIfZkEF22qjCYxkA3Q1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1plFO%2Fbtsz10qKByk%2FkGskIfZkEF22qjCYxkA3Q1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1201&quot; height=&quot;681&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1201&quot; data-origin-height=&quot;681&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 폴더 선택 완료1.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 단계까지 진행하시면, 다음과 같은 화면이 나타나는 것을 알 수 있습니다. 저희가 앞선 포스팅에서 봤던 git log --oneline보다 깔끔하고 시인성이 좋습니다. 실제로 이러한 점떄문에 대부분 사람들은 GUI Client를 사용합니다. 그러면 여기에서, 좌측에 있는&lt;b&gt; [파일 상태]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ynfuM/btszXHGhues/FQOJnzWjxsfJqwmG7fx8pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ynfuM/btszXHGhues/FQOJnzWjxsfJqwmG7fx8pk/img.png&quot; data-alt=&quot;소스트리(Source Tree) 폴더 선택 완료2.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ynfuM/btszXHGhues/FQOJnzWjxsfJqwmG7fx8pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FynfuM%2FbtszXHGhues%2FFQOJnzWjxsfJqwmG7fx8pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1202&quot; height=&quot;800&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 폴더 선택 완료2.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저의 경우 위의 단계를 진행하기 앞서서, 파일을 하나 생성해 주길 바랍니다. 물론, 클릭하시고 하셔도 크게 상관 없습니다. 저는 앞에 포스팅에서 다루었던 방법과 touch명령어를 통해서 파일을 하나 생성하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZexBk/btsz2mf7MO4/9KjVPHhKtP3VKWHOiJCDGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZexBk/btsz2mf7MO4/9KjVPHhKtP3VKWHOiJCDGK/img.png&quot; data-alt=&quot;파일 생성 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZexBk/btsz2mf7MO4/9KjVPHhKtP3VKWHOiJCDGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZexBk%2Fbtsz2mf7MO4%2F9KjVPHhKtP3VKWHOiJCDGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 생성 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 다음과 같이 화면이 나타날 것입니다. 여기에서, 저와 같이 그냥&lt;b&gt; [모두 스테이지에 올리기]&lt;/b&gt;를 클릭하셔도 되고, 여러개의 파일이 있을 경우에 파일을 선택하고나서, &lt;b&gt;[선택 내용 스테이지에 올리기]&lt;/b&gt;부분을 클릭하여도 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wv2fC/btsz2ZdY4b0/EDGbycWy4tk1zomOwXsT8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wv2fC/btsz2ZdY4b0/EDGbycWy4tk1zomOwXsT8k/img.png&quot; data-alt=&quot;소스트리(Source Tree)을 이용한 스테이지 올리기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wv2fC/btsz2ZdY4b0/EDGbycWy4tk1zomOwXsT8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWv2fC%2Fbtsz2ZdY4b0%2FEDGbycWy4tk1zomOwXsT8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1202&quot; height=&quot;800&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree)을 이용한 스테이지 올리기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 이전과 같이 message을 입력하고 나서, &lt;b&gt;[커밋]&lt;/b&gt;부분을 클릭하여 커밋을 진행하도록 하겠습니다. 저의 경우 &quot;best1.log파일 추가&quot;라는 message을 입력하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFnu1O/btsz1rvsEmw/Icyt1kzGRDmkjPIkHNrqnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFnu1O/btsz1rvsEmw/Icyt1kzGRDmkjPIkHNrqnK/img.png&quot; data-alt=&quot;소스트리(Source Tree)을 이용한 커밋하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFnu1O/btsz1rvsEmw/Icyt1kzGRDmkjPIkHNrqnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFnu1O%2Fbtsz1rvsEmw%2FIcyt1kzGRDmkjPIkHNrqnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1202&quot; height=&quot;800&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree)을 이용한 커밋하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 단계를 통해서 커밋을 진행하면 다음과 같은 화면이 나타납니다. 하단 부분에서, 상세 정보를 볼수 있습니다. 하지만, 메인 화면에서는 요약된 정보를 볼 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWqx1T/btszYJcs3eI/KNzjNvUyKwKy9JzqEcYMe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWqx1T/btszYJcs3eI/KNzjNvUyKwKy9JzqEcYMe0/img.png&quot; data-alt=&quot;소스트리(Source Tree)을 이용한 커밋 결과 보기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWqx1T/btszYJcs3eI/KNzjNvUyKwKy9JzqEcYMe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWqx1T%2FbtszYJcs3eI%2FKNzjNvUyKwKy9JzqEcYMe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1202&quot; height=&quot;800&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree)을 이용한 커밋 결과 보기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 GUI Client인 소스트리(Source Tree)을 이용한 커밋을 진행해봤습니다. 실제, 커맨드와 방법상에는 크게 차이는 없지만, 확실히 직관적이고 보기에 편한것이 사실입니다. 하지만, 저는 command로 하는 방법에 대해서 명확하게 알고 있는 상태에서 GUI을 접근하는 것을 권장합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699498130429&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git의 GUI Client를 이용한 Commit(feat. SourceTree)라는 주제로 포스팅을 해봤습니다. 앞서서 포스팅한 내용을 GUI기반으로 진행하면서, CLI기반과의 차이점에 대해서 확연히 확인할 수 있었습니다. 다른 GUI툴 또한 메뉴 위치등의 차이는 있지만, 기본 방식은 동일합니다. 작업하시다가 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>commit</category>
      <category>gitGUI</category>
      <category>sourcetree</category>
      <category>깃</category>
      <category>소스트리</category>
      <category>커밋</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/870</guid>
      <comments>https://appia.tistory.com/870#entry870comment</comments>
      <pubDate>Tue, 14 Nov 2023 07:51:26 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git의 commit 정보 확인하기 (feat. git log)</title>
      <link>https://appia.tistory.com/869</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git의&amp;nbsp;commit&amp;nbsp;정보&amp;nbsp;확인하기&amp;nbsp;(feat.&amp;nbsp;git&amp;nbsp;log)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vWHAR/btszXEQjKZA/361sPTPZM6YdYw4kY9wSO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vWHAR/btszXEQjKZA/361sPTPZM6YdYw4kY9wSO1/img.png&quot; data-alt=&quot;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vWHAR/btszXEQjKZA/361sPTPZM6YdYw4kY9wSO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvWHAR%2FbtszXEQjKZA%2F361sPTPZM6YdYw4kY9wSO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;749&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git의 commit 정보 확인하기 (feat. git log)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아야 할 때에, 원하시는 기본 편집기를 사용하기 위한 환경을 설정하는 방법이었습니다. 이번 포스팅에서는 git commit과 관련이 있지만, commit 정보를 입력하는 것이 아니라, commit 정보를 확인하는 방법에 대해서 이야기를 해보고자 합니다. 먼저, 이전 포스팅을 통해서 다음 명령어를 통해서 commit 정보를 확인할 수 있다는 것에 대해서 이미 알고 계실 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699491048797&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 입력하면 다음과 같이 현재 commit 한 정보에 대해서 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; data-alt=&quot;git log 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCtUtq%2FbtszX1LgZNg%2FRW7SdR9HDB8rj4WqBmYe3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 commit 같은 경우 제가 블로그 포스팅을 위해서 예제로 만든 부분이기 때문에 몇개 안되고, message 자체도 매우 간단합니다. 하지만, 실제 개발을 진행하시면, 몇십개에서부터, 몇개의 commit이 존재할 수 있습니다. 그래서 위에서 언급한 git commit 정보를 확인하는 git log 명령어에 대해서 조금 더 자세하게 보는 것이 좋은듯 합니다. 앞선, git 공식 문서의 내용 보는 방법이 있는 부분을 참조하여 git log에 대해서 살펴보도록 하겠습니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/867&quot;&gt;[깃, Git] Git 공식 문서 및 Pro Git 책 내용 보기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단, Reference Manual에 내용에서, log 부분을 검토해보겠습니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhjbOX/btsz3ehNE5W/D5tEetKPGAHmI89mPNDbCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhjbOX/btsz3ehNE5W/D5tEetKPGAHmI89mPNDbCk/img.png&quot; data-alt=&quot;git 공식 홈페이지 - git reference manual&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhjbOX/btsz3ehNE5W/D5tEetKPGAHmI89mPNDbCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhjbOX%2Fbtsz3ehNE5W%2FD5tEetKPGAHmI89mPNDbCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식 홈페이지 - git reference manual&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서, &lt;b&gt;[log]&lt;/b&gt;부분을 클릭하시면 다음과 같은 화면이 나타날 것입니다. 먼저 이전에도 보시는 바와 같이 기본적인 커맨드 명령어에 대한 설명등에 대해서 나와 있습니다. 물론, 이전에 나와 있는 포스팅 내용을 토대로, 보다 다양한 옵션 및 상세 내용에 대해서 확인이 가능합니다. 이번 포스팅에서는 git commit 정보에 대해서 간략하게 보는 방법에 대해서만 다루겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nymFi/btsz1Uc5tm1/K5CeGAJ54WSGc0xqkUx3pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nymFi/btsz1Uc5tm1/K5CeGAJ54WSGc0xqkUx3pK/img.png&quot; data-alt=&quot;git 공식 홈페이지 - git reference manual - log 1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nymFi/btsz1Uc5tm1/K5CeGAJ54WSGc0xqkUx3pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnymFi%2Fbtsz1Uc5tm1%2FK5CeGAJ54WSGc0xqkUx3pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식 홈페이지 - git reference manual - log 1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 페이지 중간 부분에 &quot;Commit Formatting&quot;부분을 보다 더 유심히 봤습니다. 실제로, 다른 옵션들도 많이 있지만, commit 정보를 출력하는 방법에 대한 옵션입니다. 이 부분을 토대로, 약간의 옵션을 줘서 다르게 log를 확인할 수 있기 때문입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1317&quot; data-origin-height=&quot;1005&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m8wAI/btsz1loxPMw/SO36n3JLWH2Scet5LE4b5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m8wAI/btsz1loxPMw/SO36n3JLWH2Scet5LE4b5k/img.png&quot; data-alt=&quot;git 공식 홈페이지 - git reference manual - log 2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m8wAI/btsz1loxPMw/SO36n3JLWH2Scet5LE4b5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm8wAI%2Fbtsz1loxPMw%2FSO36n3JLWH2Scet5LE4b5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1317&quot; height=&quot;1005&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1317&quot; data-origin-height=&quot;1005&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식 홈페이지 - git reference manual - log 2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, commit hash 정보를 간단하게 보도록 하겠습니다. 실제로, 업무를 하다보면, commit id 또는 commit hash에 대한 같이 일하는 사람에게 공유하는 일들이 많습니다. 하지만, 위에서 git log의 결과를 보면, commit id / commit hash가 매우 긴것이 사실입니다. 그래서, 이 부분에 대해서 간략하게 보는 방법에 대해서 다음 명령어를 통해서 진행해 보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699492949340&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log --abbrev-commit&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 입력하여, 실행해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; data-filename=&quot;002.png&quot; data-origin-height=&quot;370&quot; data-origin-width=&quot;581&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCtUtq/btszX1LgZNg/RW7SdR9HDB8rj4WqBmYe3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCtUtq%2FbtszX1LgZNg%2FRW7SdR9HDB8rj4WqBmYe3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1DxJF/btsz1L8lJel/U0lSRAgtDdzKYeRH9WzLYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1DxJF/btsz1L8lJel/U0lSRAgtDdzKYeRH9WzLYk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;006.png&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1DxJF/btsz1L8lJel/U0lSRAgtDdzKYeRH9WzLYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1DxJF%2Fbtsz1L8lJel%2FU0lSRAgtDdzKYeRH9WzLYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;git log 옵션 없는 결과 (좌) git log --abbrev-commit 결과(우)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 보이는 바와 같이 확연히 차이가 발생하는 것을 알 수 있습니다. 우측과 같이 옵션을 넣었을 때에, 이 부분에 대해서 7글자로 commit id / commit hash가 줄여든 것을 알 수 있습니다. 그럼에도 comment들이 같이 보이기 때문에 실제로 정확하게 파악하기가 힘들 수 있습니다. 그래서, 이번에는 축약된 commit id&amp;nbsp; message 형태로만 출력되게 해보도록 하겠습니다. 다음 명령어를 토대로, 실행을 한번 해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699493448987&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log --oneline&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 실행하면 다음과 같은 화면이 나타납니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M9HzJ/btsz12B0YNP/pzh7I7MBk2gPf5kKry8aT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M9HzJ/btsz12B0YNP/pzh7I7MBk2gPf5kKry8aT0/img.png&quot; data-alt=&quot;git log --oneline 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M9HzJ/btsz12B0YNP/pzh7I7MBk2gPf5kKry8aT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM9HzJ%2Fbtsz12B0YNP%2Fpzh7I7MBk2gPf5kKry8aT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log --oneline 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;확연히 이제까지 봤던 commit 정보보다 줄여든 것을 확인할 수 있습니다. 한줄로, commit id/commit hash 와&amp;nbsp; Message만 출력이 되었습니다. 실제 GUI Client툴을 사용하다보면, 이런 부분에 대해서는 크게 살펴보지는 않지만, 저희는 Command부터 하나씩 습득하는 과정이기 때문에 이 부분또한 직접 실습해보시는 것을 권장드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699493617921&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TtGkj/hyUrztMb8R/T6Yz8wCCXYdAZb52xg9Cj0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/c1t3Vc/hyUuQHorVf/TubKwEukx2UsBbnRxwwN1k/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/Vw6H9/hyUrEPlusA/bYSGjs4BySLkeKkk1Eb9T0/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git의 commit 정보 확인하기 (feat. git log)라는 주제로, git log 옵션에 따라서 commit 정보를 다르게 출력할 수 있는 방법에 대해서 살펴봤습니다. 물론, Refence Manual에 있는 모든 부분에 대해서는 살펴보지 않았습니다. 하지만, 그 부분에서 가장 많이 보는 부분에 대해서 살펴봤습니다. 혹 작업 및 학습을 하던 중에 궁금하신 내용이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>git log</category>
      <category>git log options</category>
      <category>깃</category>
      <category>깃 로그</category>
      <category>깃옵션</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/869</guid>
      <comments>https://appia.tistory.com/869#entry869comment</comments>
      <pubDate>Mon, 13 Nov 2023 07:39:33 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)</title>
      <link>https://appia.tistory.com/868</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git의&amp;nbsp;기본&amp;nbsp;편집기&amp;nbsp;바꾸기(with&amp;nbsp;VIM&amp;nbsp;빠져나오기)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GZQSl/btsz12BW1QP/NomnWjVu3sVzbytheAdqr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GZQSl/btsz12BW1QP/NomnWjVu3sVzbytheAdqr0/img.png&quot; data-alt=&quot;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GZQSl/btsz12BW1QP/NomnWjVu3sVzbytheAdqr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGZQSl%2Fbtsz12BW1QP%2FNomnWjVu3sVzbytheAdqr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;798&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서는 Git공식 문서 및 Pro Git 책 내용 보기라는 주제로, Reference Manual를 보는 방법과 Pro git 이라는 책을 온라인상에서 보는 방법에 대해서 살펴봤습니다. 이번 포스팅에서는 Git에서 설정한 기본 에디터를 변경하는 방법에 대해서 이야기를 드리고자 합니다. 그 전에 기본 설정으로 되어 있는 vim 에디터에서 빠져나오는 방법에 대해서도 이야기를 해보고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/859&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699454857346&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/859&quot; data-og-url=&quot;https://appia.tistory.com/859&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bF9tOP/hyUuYk4aaJ/G4U1mKnTgxKJkGySmj1enK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/GvWzT/hyUrz1wQg0/HqwHerFgq1dd4KKOCpcw80/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/calMwE/hyUuTxhUMi/2ldpvupnpv78omo8DVHb71/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/859&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/859&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bF9tOP/hyUuYk4aaJ/G4U1mKnTgxKJkGySmj1enK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/GvWzT/hyUrz1wQg0/HqwHerFgq1dd4KKOCpcw80/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/calMwE/hyUuTxhUMi/2ldpvupnpv78omo8DVHb71/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞서서, Git을 다운로드 및 설치하기에서, 저희는 기본 에디터를 VS Code로 변경해서 설치를 하였습니다. 하지만, 이 단계에서 기존의 vim으로 설정하시고 설치를 진행하셨던 분이 있을 수 있고, 또는 VS Code를 vim 및 다른 에디터로 변경을 하고자 하는 분들도 있을 수 있습니다. 그런 분들을 위해서, 예시를 들어서 이야기를 해보고자 합니다. 기본 설정인 vim에디터가 기본 설정으로 되어 있는 환경에서 예시를 진행하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 앞선 과정에서 만들어 놓은 폴더에서 새로운 파일을 하나 생성해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699454903210&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch commit_exam1.log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5qDGZ/btsz1qJW2nX/thKzi38xyGdJ3PLehE1vrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5qDGZ/btsz1qJW2nX/thKzi38xyGdJ3PLehE1vrK/img.png&quot; data-alt=&quot;Git 새로운 예시 파일 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5qDGZ/btsz1qJW2nX/thKzi38xyGdJ3PLehE1vrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5qDGZ%2Fbtsz1qJW2nX%2FthKzi38xyGdJ3PLehE1vrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git 새로운 예시 파일 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 부분을 Explorer 상태에서 보니, 다음과 같이 &quot;Commit_exam1&quot;파일이 존재하는 것을 볼 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5I8wc/btsz2XAoDii/uRHCOPtAtYOvFqf4hheri1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5I8wc/btsz2XAoDii/uRHCOPtAtYOvFqf4hheri1/img.png&quot; data-alt=&quot;Git 새로운 예시 파일 생성 결과를 익스플로러 상태로 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5I8wc/btsz2XAoDii/uRHCOPtAtYOvFqf4hheri1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5I8wc%2Fbtsz2XAoDii%2FuRHCOPtAtYOvFqf4hheri1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;556&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;556&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git 새로운 예시 파일 생성 결과를 익스플로러 상태로 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 단계까지 진행된 상태에서 git status를 통해서 현재 git의 상태를 보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699455000529&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 위에서 생성한 파일에 대해서 다음 명령어를 통해서 stage에 올리도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699455120838&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add commit_exam1.log&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ERu8X/btsz11Qy6UD/NGaH2KDsv5FhtsvsaSKLD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ERu8X/btsz11Qy6UD/NGaH2KDsv5FhtsvsaSKLD1/img.png&quot; data-alt=&quot;Git 새로운 예시 파일 생성 및 Stage로의 add&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ERu8X/btsz11Qy6UD/NGaH2KDsv5FhtsvsaSKLD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FERu8X%2Fbtsz11Qy6UD%2FNGaH2KDsv5FhtsvsaSKLD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git 새로운 예시 파일 생성 및 Stage로의 add&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 이전과 다르게 commit을 해보도록 하겠습니다. 이전에는 -m을 옵션을 통해서 message을 commit과 함께 입력하였습니다. 하지만, 실제로는 Commit message에 한줄이 아닌, 여러줄로 입력되는 경우가 있습니다. 이런 경우를 위해서라도, 다음과 같이 옵션없이 진행을 해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caeWEN/btsz3cRI8sx/cLbOWZYMK5nKqe6VM72ikk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caeWEN/btsz3cRI8sx/cLbOWZYMK5nKqe6VM72ikk/img.png&quot; data-alt=&quot;Git 새로운 예시 파일에 대한 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caeWEN/btsz3cRI8sx/cLbOWZYMK5nKqe6VM72ikk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaeWEN%2Fbtsz3cRI8sx%2FcLbOWZYMK5nKqe6VM72ikk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git 새로운 예시 파일에 대한 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그랬더니, vim 에디터 모습이 나타났습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PHuLT/btszXFhoNnS/JIpQRdUUPAGGga97PMJTK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PHuLT/btszXFhoNnS/JIpQRdUUPAGGga97PMJTK0/img.png&quot; data-alt=&quot;commit시에 나타난 vim에디터&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PHuLT/btszXFhoNnS/JIpQRdUUPAGGga97PMJTK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPHuLT%2FbtszXFhoNnS%2FJIpQRdUUPAGGga97PMJTK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit시에 나타난 vim에디터&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 바로 파일 입력이 안되기 때문에 &quot;I&quot;키를 입력하여, 다음과 같은 메시지를 입력해보도록 하겠습니다. I키를 입력하면, 하단에 --INSERT-- 라는 부분이 표시가 되면서, 글을 입력할 수가 있습니다. 그 때, 원하시는 정보를 입력하시면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qVhLY/btsz1eXnqjM/6pWhcjKR5I8n4EO2WQGfKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qVhLY/btsz1eXnqjM/6pWhcjKR5I8n4EO2WQGfKK/img.png&quot; data-alt=&quot;commit시에 나타난 vim에디터 입력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qVhLY/btsz1eXnqjM/6pWhcjKR5I8n4EO2WQGfKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqVhLY%2Fbtsz1eXnqjM%2F6pWhcjKR5I8n4EO2WQGfKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit시에 나타난 vim에디터 입력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모든 정보를 입력하시면, &quot;ESC&quot;키를 입력하시고 나서, &quot;:wq&quot;를 입력하신 후에 엔터키를 입력하시면 이 부분에 대해서 저장이 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnWuoa/btsz1LAt6T4/Ri0khhl9wa0Tk78kKzFU7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnWuoa/btsz1LAt6T4/Ri0khhl9wa0Tk78kKzFU7K/img.png&quot; data-alt=&quot;commit시에 나타난 vim에디터 입력 화면 완료 후 빠져나오기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnWuoa/btsz1LAt6T4/Ri0khhl9wa0Tk78kKzFU7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnWuoa%2Fbtsz1LAt6T4%2FRi0khhl9wa0Tk78kKzFU7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit시에 나타난 vim에디터 입력 화면 완료 후 빠져나오기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 vim에디터에서 빠져나올 수 있습니다. 그러면, 다음과 같이 commit이 진행이 된 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWljM7/btsz2iEH3Pa/ZZuLboiMUYj1ATz9NHhkOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWljM7/btsz2iEH3Pa/ZZuLboiMUYj1ATz9NHhkOk/img.png&quot; data-alt=&quot;vim에디터 메시지입력 하여 commit 완료하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWljM7/btsz2iEH3Pa/ZZuLboiMUYj1ATz9NHhkOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWljM7%2Fbtsz2iEH3Pa%2FZZuLboiMUYj1ATz9NHhkOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;vim에디터 메시지입력 하여 commit 완료하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에 git log을 통해서 현재 commit 정보를 확인해보도록 하겠습니다. 방금 입력한 정보가 상단에 추가된것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t5WYi/btsz2iYYST6/xpP00zFUu0xMQ41eGd1ja0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t5WYi/btsz2iYYST6/xpP00zFUu0xMQ41eGd1ja0/img.png&quot; data-alt=&quot;git log을 통한 현재 commit확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t5WYi/btsz2iYYST6/xpP00zFUu0xMQ41eGd1ja0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft5WYi%2Fbtsz2iYYST6%2FxpP00zFUu0xMQ41eGd1ja0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log을 통한 현재 commit확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;공식 홈페이지에 있는 부분을 보시면, 기본 에디터를 변경하는 방법에 대한 command들이 있는 곳이 있습니다. 그 부분에 대해서 먼저 살펴보도록 하겠습니다. 먼저 다음 링크로 git공식 홈페이지에 이동할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699455687693&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HnFec/hyUu2OvQVm/uQ2o5R7SpEoevJ3KGX5GZk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HnFec/hyUu2OvQVm/uQ2o5R7SpEoevJ3KGX5GZk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 링크를 클릭하시면 다음과 같이 git 공식홈페이지로 이동합니다. 그런 후에 &lt;b&gt;[Documentation]&lt;/b&gt;부분을 클릭하여 이동하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7nndg/btszZk4y7Tc/j0DrSU8xQDrYYLPT4Auec0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7nndg/btszZk4y7Tc/j0DrSU8xQDrYYLPT4Auec0/img.png&quot; data-alt=&quot;git 공식홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7nndg/btszZk4y7Tc/j0DrSU8xQDrYYLPT4Auec0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7nndg%2FbtszZk4y7Tc%2Fj0DrSU8xQDrYYLPT4Auec0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 다음에 &lt;b&gt;[Book]&lt;/b&gt;부분을 클릭하시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJTf60/btszXDjvf4e/3KLveHppyWmQHgmCpJaeV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJTf60/btszXDjvf4e/3KLveHppyWmQHgmCpJaeV1/img.png&quot; data-alt=&quot;git 공식홈페이지 - Documentation&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJTf60/btszXDjvf4e/3KLveHppyWmQHgmCpJaeV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJTf60%2FbtszXDjvf4e%2F3KLveHppyWmQHgmCpJaeV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;012.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지 - Documentation&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 이동한 부분에서 가장 하단 부분에 있는 &quot;A3. Appendix C : Git Commands&quot;에 A3.1 Setup and config 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAQrSR/btsz1J3Jj3H/pkdgb6KJioaDVC5IwlJYOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAQrSR/btsz1J3Jj3H/pkdgb6KJioaDVC5IwlJYOK/img.png&quot; data-alt=&quot;git 공식홈페이지 - Documentation - Book&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAQrSR/btsz1J3Jj3H/pkdgb6KJioaDVC5IwlJYOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAQrSR%2Fbtsz1J3Jj3H%2Fpkdgb6KJioaDVC5IwlJYOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;013.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지 - Documentation - Book&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 다음과 같이 해당하는 에디터 툴에 따라서, command들이 지원하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRttG4/btsz3cEcFpg/2kE32o07XpsM0jPLTOW9JK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRttG4/btsz3cEcFpg/2kE32o07XpsM0jPLTOW9JK/img.png&quot; data-alt=&quot;git 공식홈페이지 - Documentation - Book&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRttG4/btsz3cEcFpg/2kE32o07XpsM0jPLTOW9JK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRttG4%2Fbtsz3cEcFpg%2F2kE32o07XpsM0jPLTOW9JK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;014.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지 - Documentation - Book&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상기 페이지에 캡처한 내용인데, 상기 단계를 따라서, 이동하기 귀찮은 부분에 대해서 다음과 같이 붙여놓기로 가져다 사용할 수 있도록 해놓았습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fcfcfa; color: #4e443c; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Atom&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;atom --wait&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;BBEdit (macOS, with command line tools)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;bbedit -w&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Emacs&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor emacs&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gedit (Linux)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;gedit --wait --new-window&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gvim (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;'C:\Program Files\Vim\vim72\gvim.exe' --nofork '%*'&quot;&amp;nbsp;(Also see note below)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Helix&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;helix&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Kate (Linux)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;kate --block&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;nano&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;nano -w&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Notepad (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config core.editor notepad&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Notepad++ (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;'C:\Program Files\Notepad\notepad.exe' -multiInst -notabbar -nosession -noPlugin&quot;&amp;nbsp;(Also see note below)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Scratch (Linux)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;scratch-text-editor&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Sublime Text (macOS)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl --new-window --wait&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Sublime Text (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;'C:\Program Files\Sublime Text 3\sublime_text.exe' -w&quot;&amp;nbsp;(Also see note below)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;TextEdit (macOS)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;open --wait-apps --new -e&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Textmate&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;mate -w&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Textpad (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;'C:\Program Files\TextPad 5\TextPad.exe' -m&amp;nbsp;(Also see note below)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;UltraEdit (Windows 64-bit)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor Uedit32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Vim&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;vim --nofork&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Visual Studio Code&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;code --wait&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;VSCodium (Free/Libre Open Source Software Binaries of VSCode)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;codium --wait&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WordPad&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor '&quot;C:\Program Files\Windows NT\Accessories\wordpad.exe&quot;'&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Xi&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git config --global core.editor &quot;xi --wait&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;출처 : &lt;a style=&quot;color: #000000;&quot; href=&quot;https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일단, 저의 경우 vim에서 Visual Studio Code로 기본 에디터를 변경하여 진행을 해보도록 하겠습니다. 먼저 위에서 보이는 다음 명령어를 복사하여 command로 입력하도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1699455963689&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git config --global core.editor &quot;code --wait&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3YVk6/btsz1ZrIetO/JlA7Knm6nkpQKSfdQKOGx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3YVk6/btsz1ZrIetO/JlA7Knm6nkpQKSfdQKOGx0/img.png&quot; data-alt=&quot;git 기본 에디터 변경 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3YVk6/btsz1ZrIetO/JlA7Knm6nkpQKSfdQKOGx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3YVk6%2Fbtsz1ZrIetO%2FJlA7Knm6nkpQKSfdQKOGx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;015.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 기본 에디터 변경 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기에서, 앞선 단계에서 진행했듯이 파일을 추가하고, 이 부분을 stage에 올리겠습니다. 그리고 나서, git commit을 통해서 commit을 진행하면 하단과 같은 모습이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cC39U8/btszYCxFbTw/7V9yWAhLFnAoX7KwchkaR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cC39U8/btszYCxFbTw/7V9yWAhLFnAoX7KwchkaR1/img.png&quot; data-alt=&quot;git 기본 에디터 변경 완료 후 commit진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cC39U8/btszYCxFbTw/7V9yWAhLFnAoX7KwchkaR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcC39U8%2FbtszYCxFbTw%2F7V9yWAhLFnAoX7KwchkaR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;016.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 기본 에디터 변경 완료 후 commit진행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 다음과 같이 Visual Studio Code창이 나타납니다. 여기에서, Commit 메시지를 입력하시고, 저장후에 Visual Studio Code를 종료합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1288&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D1GaH/btszYCEoAlf/vwBZILxB6bR3cMt1ORGxPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D1GaH/btszYCEoAlf/vwBZILxB6bR3cMt1ORGxPK/img.png&quot; data-alt=&quot;Visual Studio Code을 이용한 Commit 메시지 종료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D1GaH/btszYCEoAlf/vwBZILxB6bR3cMt1ORGxPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD1GaH%2FbtszYCEoAlf%2FvwBZILxB6bR3cMt1ORGxPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1288&quot; height=&quot;1040&quot; data-filename=&quot;017.png&quot; data-origin-width=&quot;1288&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Visual Studio Code을 이용한 Commit 메시지 종료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면 다음과 같이 commit이 완료된 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;018.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKiyJE/btszYG7LUVY/sMgAiBBYusqy2200mwuPZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKiyJE/btszYG7LUVY/sMgAiBBYusqy2200mwuPZK/img.png&quot; data-alt=&quot;git commit 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKiyJE/btszYG7LUVY/sMgAiBBYusqy2200mwuPZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKiyJE%2FbtszYG7LUVY%2FsMgAiBBYusqy2200mwuPZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;018.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서 정상적으로 입력된 메시지가 잘 적용되어 있는 지 확인하기 위해서, git log을 통해서 확인하여, 다음과 같이 정상적으로 commit이 완료되었고, 기본 에디터가 변경되었음을 확인하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;019.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vWbd3/btszXpeEJFl/BnND3no6BJb6Xv8hSSvTs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vWbd3/btszXpeEJFl/BnND3no6BJb6Xv8hSSvTs1/img.png&quot; data-alt=&quot;git commit 완료 확인 (git log)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vWbd3/btszXpeEJFl/BnND3no6BJb6Xv8hSSvTs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvWbd3%2FbtszXpeEJFl%2FBnND3no6BJb6Xv8hSSvTs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;019.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit 완료 확인 (git log)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 git의 기본 에디터를 변경하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/865&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699619814122&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot; data-og-description=&quot;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/865&quot; data-og-url=&quot;https://appia.tistory.com/865&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cPVjft/hyUuX08V4J/GXAZaXJkEh0Bkm3wgn3451/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/cpNGaB/hyUu2OUjm7/A0QE3ih8WFPPfE3sWnpaD0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/brMW8i/hyUrwD8jkq/ybPppIlK0zDBGWuIby4i90/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/865&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/865&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cPVjft/hyUuX08V4J/GXAZaXJkEh0Bkm3wgn3451/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/cpNGaB/hyUu2OUjm7/A0QE3ih8WFPPfE3sWnpaD0/img.png?width=798&amp;amp;height=798&amp;amp;face=0_0_798_798,https://scrap.kakaocdn.net/dn/brMW8i/hyUrwD8jkq/ybPppIlK0zDBGWuIby4i90/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git의 기본 편집기 바꾸기(with VIM 빠져나오기)라는 주제로 포스팅을 해봤습니다. 이 부분을 토대로, 기본 편집기를 바꾸는 방법을 살펴봤습니다. 상기 포스팅한 command을 토대로, 다양한 에디터를 기본에디터로 변경할 수 있습니다. 작업하시다가 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>git기본에디터</category>
      <category>git기본편집기</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/868</guid>
      <comments>https://appia.tistory.com/868#entry868comment</comments>
      <pubDate>Sun, 12 Nov 2023 07:13:54 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 공식 문서 및 Pro Git 책 내용 보기</title>
      <link>https://appia.tistory.com/867</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;공식&amp;nbsp;문서&amp;nbsp;및&amp;nbsp;Pro&amp;nbsp;Git&amp;nbsp;책&amp;nbsp;내용&amp;nbsp;보기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpXbuZ/btsz1lviGfG/WIzdH5rSQb7bi2r6kW2eQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpXbuZ/btsz1lviGfG/WIzdH5rSQb7bi2r6kW2eQk/img.png&quot; data-alt=&quot;[깃, Git] Git 공식 문서 및 Pro Git 책 내용 보기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpXbuZ/btsz1lviGfG/WIzdH5rSQb7bi2r6kW2eQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpXbuZ%2Fbtsz1lviGfG%2FWIzdH5rSQb7bi2r6kW2eQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;797&quot; height=&quot;800&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git 공식 문서 및 Pro Git 책 내용 보기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이전 포스팅에서는 설치시에 제공되는 기본 Git GUI와 다양한 git GUI Client(툴)에 대해서 확인하는 방법에 대해서 이야기를 해보았습니다.&amp;nbsp; 물론, 이러한 정보들이 다른 곳이 아니라, git의 공식 홈페이지에서 나온 부분이기 때문에 보다 신뢰가 가는 것이 사실이었습니다. 그럼 이번 포스팅에서는 이전 포스팅에 이어서, 공식 홈페이지에 있는 git의 공식 문서 및 공식 홈페이지에서 제공하는 Pro git이란 책에 내용을 보는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/866&quot;&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699619759792&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&quot; data-og-description=&quot;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기 이전 포스팅에서는 git add와 git commit에 대해서 살펴봤습니다. 가장 핵심인 정보에 대해서 살펴봤는데요. 이러한 부분들을 진행하다보니, 자연&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/866&quot; data-og-url=&quot;https://appia.tistory.com/866&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bEGDF3/hyUuUQS279/UCXaimftoFHgf22jtsrPm1/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/Njkci/hyUu0cu8IL/kdXiX0PIDWcxbS8jrYyT21/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/8x9fr/hyUu1bpA7N/6l4AnTand5g66GOUFmgArk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/866&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/866&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bEGDF3/hyUuUQS279/UCXaimftoFHgf22jtsrPm1/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/Njkci/hyUu0cu8IL/kdXiX0PIDWcxbS8jrYyT21/img.png?width=800&amp;amp;height=797&amp;amp;face=0_0_800_797,https://scrap.kakaocdn.net/dn/8x9fr/hyUu1bpA7N/6l4AnTand5g66GOUFmgArk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기 이전 포스팅에서는 git add와 git commit에 대해서 살펴봤습니다. 가장 핵심인 정보에 대해서 살펴봤는데요. 이러한 부분들을 진행하다보니, 자연&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 공식 홈페이지를 구글 및 다양한 포털에서 git을 검색하셔도 됩니다, 귀찮으신 분들은 하기 링ㅋ를 통해서 git의 공식 페이지로 이동해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699449328637&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HnFec/hyUu2OvQVm/uQ2o5R7SpEoevJ3KGX5GZk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HnFec/hyUu2OvQVm/uQ2o5R7SpEoevJ3KGX5GZk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 링크를 클릭하시면 다음과 같은 화면이 나타날 것입니다. 하기와 같이 빨간색 상자 부분인 &lt;b&gt;[Documentation]&lt;/b&gt;을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FPUY6/btsz2hMvW9W/PVAXetQnisJvwUPvmIh6tK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FPUY6/btsz2hMvW9W/PVAXetQnisJvwUPvmIh6tK/img.png&quot; data-alt=&quot;git 공식 홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FPUY6/btsz2hMvW9W/PVAXetQnisJvwUPvmIh6tK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFPUY6%2Fbtsz2hMvW9W%2FPVAXetQnisJvwUPvmIh6tK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식 홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 단계에서&lt;b&gt; [Documentation]&lt;/b&gt;을&amp;nbsp; 클릭하셨다면, 다음과 같은 화면이 나타날 것입니다. Manual 및 책, 영상등 다양한 정보를 확인할 수 있습니다. 저희는 여기에서 상단에 보이는 &lt;b&gt;[Reference]&lt;/b&gt;부분을 클릭하셔도 되고, 아니면, 좌측에 보이시는 바와 같이 Documentation 하단에 있는 &lt;b&gt;[Reference]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vfudH/btsz1Z6h35H/eYTzQTWbeVR74zJ5HAEGx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vfudH/btsz1Z6h35H/eYTzQTWbeVR74zJ5HAEGx0/img.png&quot; data-alt=&quot;git 공식페이지 - Documentation부분&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vfudH/btsz1Z6h35H/eYTzQTWbeVR74zJ5HAEGx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvfudH%2Fbtsz1Z6h35H%2FeYTzQTWbeVR74zJ5HAEGx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Documentation부분&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 &lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;[Reference]&lt;/b&gt;를 클릭하셨다면, 하기와 같이 Reference Manual에 대해서 나타났을 것입니다. 여기에서, 다양한 git 명령어에 대해서 확인할 수 있습니다. 저는 앞선 포스팅에서 다루었던 Commit에 대해서 어떻게 Reference Manual에서 다루고 있는지에 대해서 살펴보도록 하겠습니다. 그러면, 보이는 부분에서와 같이 &lt;b&gt;[Commit]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTZfD5/btszYFOFNAD/Bmk72SZYR1K0pDhPgpqfB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTZfD5/btszYFOFNAD/Bmk72SZYR1K0pDhPgpqfB0/img.png&quot; data-alt=&quot;git 공식페이지 - Reference Manaul메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTZfD5/btszYFOFNAD/Bmk72SZYR1K0pDhPgpqfB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTZfD5%2FbtszYFOFNAD%2FBmk72SZYR1K0pDhPgpqfB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Reference Manaul메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 &lt;b&gt;[Commit]&lt;/b&gt;부분을 클릭하신다면, 하기와 같이 나타날 것입니다. 가장 상단에는 이 명령어에 대한 이름 및 간단한 설명이 나옵니다. 그리고, 각 옵션을 토대로 한 명령어 입력하는 방법에 대해서 SYNOPSIS라는 부분으로 다루고 있습니다. 그리고, DESCRIPTION을 통해서 보다 자세한 설명이 이루어집니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0gzoi/btsz3eILMzL/2UoJijZmqdjsLLVmbBnBn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0gzoi/btsz3eILMzL/2UoJijZmqdjsLLVmbBnBn1/img.png&quot; data-alt=&quot;git 공식페이지 - Reference Manaul메뉴 - Commit 예시1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0gzoi/btsz3eILMzL/2UoJijZmqdjsLLVmbBnBn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0gzoi%2Fbtsz3eILMzL%2F2UoJijZmqdjsLLVmbBnBn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Reference Manaul메뉴 - Commit 예시1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 OPTIONS에서는 각 하나하나의 옵션에 대해서 설명을 하고 있습니다. 실제로 저도 필요로 한 명령어에 대해서 Reference Manual을 통해서 찾아보고 적용하고 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/etKIPA/btszXLPdDmE/xpXMpozShGtMiNV4LL9kXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/etKIPA/btszXLPdDmE/xpXMpozShGtMiNV4LL9kXK/img.png&quot; data-alt=&quot;git 공식페이지 - Reference Manaul메뉴 - Commit 예시2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/etKIPA/btszXLPdDmE/xpXMpozShGtMiNV4LL9kXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FetKIPA%2FbtszXLPdDmE%2FxpXMpozShGtMiNV4LL9kXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Reference Manaul메뉴 - Commit 예시2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고, EXAMPLES과 설명을 통해서 초보자도 쉽게 이해할 수 있도록 도와주고 있습니다. 일단, 처음 접하실 때에, 각 부분에 대해서 하나씩 이해하기 힘들다면, 이 EXAMPLE 부분을 활용하는 것도 매우 좋은 학습 방안이 될 수 있다고 생각합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dLmwoV/btsz1TSEY8V/7d4P2IXYwwSGERugFJE3K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dLmwoV/btsz1TSEY8V/7d4P2IXYwwSGERugFJE3K1/img.png&quot; data-alt=&quot;git 공식페이지 - Reference Manaul메뉴 - Commit 예시3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dLmwoV/btsz1TSEY8V/7d4P2IXYwwSGERugFJE3K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLmwoV%2Fbtsz1TSEY8V%2F7d4P2IXYwwSGERugFJE3K1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Reference Manaul메뉴 - Commit 예시3&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방식으로 알고자 하시는 git 명령어에 대해서 확인할 수 있고, 각 옵션에 대해서도 확인이 가능합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 이제는 책 형식으로 보기 원하는 분들을 위해서, git에서는 Pro Git이라는 책을 온라인에서 보거나, PDF로 다운 받아 보실 수 있습니다. 단 하드카피(인쇄본)에 대해서는 서점에서 사서 보셔야 합니다. 이 부분을 보시기 위해서는 Documentation.부분에서 좌측에 있는 &lt;b&gt;[Book]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다. 그러면, 다음과 같이 책에 대해서 내용을 검토할 수 있습니다. 좌측 하단에는 지원되는 언어가 있으므로, 이 부분을 이용하여 원하시는 언어로 보실 수 있습니다. 저의 경우 당연히 한글로 봅니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOHqCe/btsz2nzcieu/QKeWUKEm4BekqOc7C9FZtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOHqCe/btsz2nzcieu/QKeWUKEm4BekqOc7C9FZtK/img.png&quot; data-alt=&quot;git 공식페이지 - Pro Git(책)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOHqCe/btsz2nzcieu/QKeWUKEm4BekqOc7C9FZtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOHqCe%2Fbtsz2nzcieu%2FQKeWUKEm4BekqOc7C9FZtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;967&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Pro Git(책)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 하나의 챕터를 클릭하여 내용을 보니, 다음과 같이 한글로 내용이 표시가 되는 것을 보실 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;1049&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uhIyh/btszX0lhSl5/aMw3eMX547EYKX8kYsv0xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uhIyh/btszX0lhSl5/aMw3eMX547EYKX8kYsv0xk/img.png&quot; data-alt=&quot;git 공식페이지 - Pro Git(책) - 세부 내용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uhIyh/btszX0lhSl5/aMw3eMX547EYKX8kYsv0xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuhIyh%2FbtszX0lhSl5%2FaMw3eMX547EYKX8kYsv0xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;1049&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;1049&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식페이지 - Pro Git(책) - 세부 내용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같이 Git공식 홈페이지을 통해서 Pro Git이라는 책의 내용 또한 검토가 가능합니다.이와 같은 방법으로 공식 문서인 Reference Manual과 Pro Git이라는 책에 내용을 검토하실 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/864&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699450442217&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&quot; data-og-description=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/864&quot; data-og-url=&quot;https://appia.tistory.com/864&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bzrYmj/hyUrCYeJIr/ysFVX4ApKQMzxbUGm7mKZ0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/duppbw/hyUrt1kI0s/Cgzq1dDAXiy3dunoyNcHaK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/dgVlkv/hyUuVokJJz/JFfFfZtkvkSoKfHYuLIjZk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/864&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/864&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bzrYmj/hyUrCYeJIr/ysFVX4ApKQMzxbUGm7mKZ0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/duppbw/hyUrt1kI0s/Cgzq1dDAXiy3dunoyNcHaK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/dgVlkv/hyUuVokJJz/JFfFfZtkvkSoKfHYuLIjZk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] Git 공식 문서 및 Pro Git 책 내용 보기라는 주제로 포스팅을 해봤습니다. 실제 Git관련된 포스팅을 통해서 제 블로그의 방문자 분들께서, 원하시는 내용에 대해서 확인하실 수 있도록 할 예정이지만, 혹 먼저 보고 싶은 신 부분이나 사용하시다가 더 알고자 하는 부분들을 통해서 상기와 같이 Reference Manaul과 Pro Git의 내용을 통해서 채워 나가시길 바랍니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>progit</category>
      <category>ReferenceManual</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/867</guid>
      <comments>https://appia.tistory.com/867#entry867comment</comments>
      <pubDate>Sat, 11 Nov 2023 07:37:03 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기</title>
      <link>https://appia.tistory.com/866</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;기본&amp;nbsp;git&amp;nbsp;GUI&amp;nbsp;와&amp;nbsp;외부&amp;nbsp;git&amp;nbsp;GUI툴&amp;nbsp;정보&amp;nbsp;확인하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 32.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMRgws/btszQAN9jlO/vZlb5ALQ1FJPz1MytHOXIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMRgws/btszQAN9jlO/vZlb5ALQ1FJPz1MytHOXIk/img.png&quot; data-alt=&quot;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMRgws/btszQAN9jlO/vZlb5ALQ1FJPz1MytHOXIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMRgws%2FbtszQAN9jlO%2FvZlb5ALQ1FJPz1MytHOXIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;801&quot; height=&quot;798&quot; data-filename=&quot;2023-11-08 00 39 32.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 git add와 git commit에 대해서 살펴봤습니다. 가장 핵심인 정보에 대해서 살펴봤는데요. 이러한 부분들을 진행하다보니, 자연스럽게 GUI툴에 대해서 많은 관심을 가지는 것이 사실입니다. 아직까지는 저를 포함해서 많은 윈도우 사용자들은 당연히 GUI기반이 익숙하기 때문입니다. 그래서 이번 포스팅에서는 git이 설치되면, 기본적으로 함께 설치되는 GUI와, 그 외에 git GUI 툴에 대해서 살펴보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699371970690&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bOaFUZ/hyUrsVon4b/xsfjeaLJvNoftpOhnJDvlK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/ALqVb/hyUrzfUeo7/7mmqPQBeoIaskohr4ETl71/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/H3yHd/hyUrDo432P/taHO29FZ6fEGJzHyzAl3f0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bOaFUZ/hyUrsVon4b/xsfjeaLJvNoftpOhnJDvlK/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/ALqVb/hyUrzfUeo7/7mmqPQBeoIaskohr4ETl71/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/H3yHd/hyUrDo432P/taHO29FZ6fEGJzHyzAl3f0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, Git을 설치할 때에, 기본적으로 제공되는 GUI가 있습니다. 대부분의 사용자들은 잘 인지하지 못하고 있는 것이 사실입니다. (강력한 기능을 가지고 있는 외부 툴을 사용하고 있기 때문입니다. 그래서 먼저, 기본으로 제공하는 git GUI에 대해서 살펴보겠습니다. repository가 있는 곳에서 다음 명령어를 입력하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699371999276&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ gitk&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;저 또한 repository가 있는 폴더에서, 다음과 같이 gitk명령어를 입력하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 32 (2).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIQira/btszUyWdZzG/kECYVl5bA9PoLbtB1klg2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIQira/btszUyWdZzG/kECYVl5bA9PoLbtB1klg2K/img.png&quot; data-alt=&quot;gitk 입력화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIQira/btszUyWdZzG/kECYVl5bA9PoLbtB1klg2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIQira%2FbtszUyWdZzG%2FkECYVl5bA9PoLbtB1klg2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-08 00 39 32 (2).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitk 입력화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하면, 다음과 같은 gui가 나타납니다. 물론, 모든 부분에 대해서 나타내는 것은 아니지만, commit에 대한 정보를 볼 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 32 (3).png&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;811&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLojTL/btszX0K2rXV/AOhkEq45t3gk7b9ImKVu3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLojTL/btszX0K2rXV/AOhkEq45t3gk7b9ImKVu3K/img.png&quot; data-alt=&quot;gitk 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLojTL/btszX0K2rXV/AOhkEq45t3gk7b9ImKVu3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLojTL%2FbtszX0K2rXV%2FAOhkEq45t3gk7b9ImKVu3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1264&quot; height=&quot;811&quot; data-filename=&quot;2023-11-08 00 39 32 (3).png&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;811&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gitk 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아마도, 파이썬(Python)에 대해서 익숙하신 분들은 tk라는 GUI 모듈을 잘 알고 계실 것이라고 생각합니다. 이 부분을 토대로 생성이 된것으로 보입니다. 그러면, 다른 기본 제공 gui인 &quot;git gui&quot;을 살펴보겠습니다. 이 또한 다음과 같은 명령어를 입력하여 실행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699372162349&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git gui&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하여 실행하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 32 (4).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBnzGF/btszUs9BL7G/UkbKkWisKm0WJCChVae0v0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBnzGF/btszUs9BL7G/UkbKkWisKm0WJCChVae0v0/img.png&quot; data-alt=&quot;git gui 입력화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBnzGF/btszUs9BL7G/UkbKkWisKm0WJCChVae0v0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBnzGF%2FbtszUs9BL7G%2FUkbKkWisKm0WJCChVae0v0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-08 00 39 32 (4).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git gui 입력화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하면 다음과 같은 실행화면이 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 33.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;487&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lVYBs/btszX0RPJuW/d2onZmSe8KgcGlXnu7ISFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lVYBs/btszX0RPJuW/d2onZmSe8KgcGlXnu7ISFK/img.png&quot; data-alt=&quot;git gui실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lVYBs/btszX0RPJuW/d2onZmSe8KgcGlXnu7ISFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlVYBs%2FbtszX0RPJuW%2Fd2onZmSe8KgcGlXnu7ISFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;826&quot; height=&quot;487&quot; data-filename=&quot;2023-11-08 00 39 33.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;487&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git gui실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분은 다른 툴에 대비해서, 약간 투박함을 알 수 있습니다. 하지만, 이와 같은 부분들은 기본으로 제공하는 부분입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 위의 2가지 기본제공되는 GUI는 기능적인 부분 및 미관상 약간의 제약이 존재합니다. 실제 git 유저분들 또한 이러한 GUI가 존재한다는 것을 잘 인지못하는 경우가 많습니다. 그래서 이번에는 공식적으로 다른 회사에서 제작한 다양한 git GUI툴에 대한 정보를 확인하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699372389553&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/stvK0/hyUrFAjeBe/EhEwKZoU0C3RGQhNbpaqNk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/stvK0/hyUrFAjeBe/EhEwKZoU0C3RGQhNbpaqNk/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 상기 링크를 통해서 git 공식 페이지로 이동해주시길 바랍니다. 그러면, 화면 중간에 &quot;Windows GUIs&quot; 또는 모니터 화면의 좌측 부분에 존재하는 Downloads 부분을 클릭해주시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 33 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpHrVI/btszYE12fNq/lAOpOAj4vM7gMoX8UzaSOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpHrVI/btszYE12fNq/lAOpOAj4vM7gMoX8UzaSOk/img.png&quot; data-alt=&quot;git 공식홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpHrVI/btszYE12fNq/lAOpOAj4vM7gMoX8UzaSOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpHrVI%2FbtszYE12fNq%2FlAOpOAj4vM7gMoX8UzaSOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-11-08 00 39 33 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 과정까지 진행하시면, 다음과 같이 현재 지원하고 있는 GUI Clients에 대해서 확인할 수 있습니다. 여기에서는 지원하는 운영체제(Platform)과 가격 정책, 라이센스 소유권이 있는 곳에 대해서 확인할 수 있습니다. Price부분에서 Free로 되어 있는 부분을 바탕으로 사용하시는 것을 권장합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-08 00 39 33 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhoi2P/btszYm8jDw1/5a5GT46RvxqSgUcDOlG1K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhoi2P/btszYm8jDw1/5a5GT46RvxqSgUcDOlG1K1/img.png&quot; data-alt=&quot;git 공식홈페이지의 git GUI client 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhoi2P/btszYm8jDw1/5a5GT46RvxqSgUcDOlG1K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbhoi2P%2FbtszYm8jDw1%2F5a5GT46RvxqSgUcDOlG1K1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-11-08 00 39 33 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git 공식홈페이지의 git GUI client 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 페이지에서는 매우 많은 Git GUI Client가 있다는 것을 알 수 있습니다. 물론, 이 부분에 대해서 모든 툴들에 대해서 익숙해질 필요는 없습니다. 회사에서 많이 사용하거나, 많은 사용자들이 사용하는 툴을 사용하시는 것을 권장합니다. 저의 경우에는 Fork와 Source Tree을 주로 사용하나, 최근에는 GitKraken 을 주로 사용하고 있습니다. 이 부분에 대해서는 사용자의 취향에 맞춰서 사용하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/719&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699372732134&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&quot; data-og-description=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/719&quot; data-og-url=&quot;https://appia.tistory.com/719&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/i1Vu0/hyUrAlytEW/ZL6XKVGAuRE855eytF5siK/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/cpS3ZI/hyUry2mA6E/CX27LAOTWblNiKwN7nlH6k/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/GhHap/hyUrBY63yp/uryYWlicccienpNP0Kbwd1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/719&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/719&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/i1Vu0/hyUrAlytEW/ZL6XKVGAuRE855eytF5siK/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/cpS3ZI/hyUry2mA6E/CX27LAOTWblNiKwN7nlH6k/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/GhHap/hyUrBY63yp/uryYWlicccienpNP0Kbwd1/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] 기본 git GUI 와 외부 git GUI툴 정보 확인하기라는 주제로 포스팅을 진행했습니다. 저의 포스팅은 기본적으로 CLI기반, 즉 Git Bash에서 command을 입력하는 부분을 많이 다루겠지만, GUI을 잘 사용하시면 보다 효율적으로 git을 사용할 수 있습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>Git gui</category>
      <category>깃</category>
      <category>무료GUI</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/866</guid>
      <comments>https://appia.tistory.com/866#entry866comment</comments>
      <pubDate>Fri, 10 Nov 2023 07:02:47 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] git add와 git commit 하기(with git log)</title>
      <link>https://appia.tistory.com/865</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;git&amp;nbsp;add와&amp;nbsp;git&amp;nbsp;commit&amp;nbsp;하기(with&amp;nbsp;git&amp;nbsp;log)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rBdK7/btszTybkQHR/BrzmK4hCHw319ae3ngzM5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rBdK7/btszTybkQHR/BrzmK4hCHw319ae3ngzM5K/img.png&quot; data-alt=&quot;[깃, Git] git add와 git commit 하기(with git log)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rBdK7/btszTybkQHR/BrzmK4hCHw319ae3ngzM5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrBdK7%2FbtszTybkQHR%2FBrzmK4hCHw319ae3ngzM5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;798&quot; height=&quot;798&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] git add와 git commit 하기(with git log)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것이라고 생각합니다. 그럼 이번 포스팅에서는 본격적으로 각 파일을 생성하거나, 수정하고, 또는 삭제하면서 이 부분에 대해서 add하고, commit을 하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/864&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699448969181&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&quot; data-og-description=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/864&quot; data-og-url=&quot;https://appia.tistory.com/864&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bzrYmj/hyUrCYeJIr/ysFVX4ApKQMzxbUGm7mKZ0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/duppbw/hyUrt1kI0s/Cgzq1dDAXiy3dunoyNcHaK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/dgVlkv/hyUuVokJJz/JFfFfZtkvkSoKfHYuLIjZk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/864&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/864&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bzrYmj/hyUrCYeJIr/ysFVX4ApKQMzxbUGm7mKZ0/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/duppbw/hyUrt1kI0s/Cgzq1dDAXiy3dunoyNcHaK/img.png?width=748&amp;amp;height=749&amp;amp;face=0_0_748_749,https://scrap.kakaocdn.net/dn/dgVlkv/hyUuVokJJz/JFfFfZtkvkSoKfHYuLIjZk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우) 이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 먼저, 저희는 앞선 포스팅에서 배운 방법들을 이용하여 다음과 같은 단계를 진행해 보겠습니다. 먼저 본격적으로 git add와 git commit을 하기 앞서서, 기본적인 환경을 준비하는 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;commit_test 폴더 생성&amp;nbsp;&lt;/li&gt;
&lt;li&gt;commit_test 폴더 이동&amp;nbsp;&lt;/li&gt;
&lt;li&gt;git init을 이용한 repository 초기화&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 단계를 진행하시면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PIxzl/btszUtHpAW2/59IewlNKfVtHLUCUKM7sw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PIxzl/btszUtHpAW2/59IewlNKfVtHLUCUKM7sw0/img.png&quot; data-alt=&quot;예시 진행을 위한 기본 환경 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PIxzl/btszUtHpAW2/59IewlNKfVtHLUCUKM7sw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPIxzl%2FbtszUtHpAW2%2F59IewlNKfVtHLUCUKM7sw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시 진행을 위한 기본 환경 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 단계까지 진행을 하셨다면, 앞선 포스팅에서 현재 git의 상태를 확인하는 git status 명령어를 통해서 git의 상태를 확인해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chY8iq/btszZJaRpbQ/8bctekYMkbGrTZxrQjPji0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chY8iq/btszZJaRpbQ/8bctekYMkbGrTZxrQjPji0/img.png&quot; data-alt=&quot;예시 진행을 위한 기본 환경 설정(git status)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chY8iq/btszZJaRpbQ/8bctekYMkbGrTZxrQjPji0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchY8iq%2FbtszZJaRpbQ%2F8bctekYMkbGrTZxrQjPji0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시 진행을 위한 기본 환경 설정(git status)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서는 보이는 바와 같이 아직 현재 폴더에서는 아무런 작업 등을 하지 않았기 때문에 상기와 같이 git init을 통한 초기화만 이루어진 상태로 확인이 될 것입니다. 그럼 이제 부터는 파일을 생성하고, 수정하고 삭제하면서 작업을 진행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 다음 명령어를 통해서 간단히 파일을 하나 생성해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699361703948&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch change11.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 후에 다시 한번 git status 명령어를 실행해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WU9fF/btszU4AAOLZ/IM6owmiaiFyJT8DHZiCv7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WU9fF/btszU4AAOLZ/IM6owmiaiFyJT8DHZiCv7K/img.png&quot; data-alt=&quot;파일 생성 후, git status 명령 진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WU9fF/btszU4AAOLZ/IM6owmiaiFyJT8DHZiCv7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWU9fF%2FbtszU4AAOLZ%2FIM6owmiaiFyJT8DHZiCv7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 생성 후, git status 명령 진행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 파일을 생성 후에 git status를 실행했더니, 다음과 같이 이전 git status와 달리 다음 부분이 생성이 된 것으 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699361810158&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Untracked files:
  (use &quot;git add &amp;lt;file&amp;gt;...&quot; to include in what will be committed)
        change11.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 파일을 하나 더 생성을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x4VUK/btszUBekSwY/Nj0A69mxyMYLt8P2poeV41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x4VUK/btszUBekSwY/Nj0A69mxyMYLt8P2poeV41/img.png&quot; data-alt=&quot;파일 추가 생성 후, git status 명령 진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x4VUK/btszUBekSwY/Nj0A69mxyMYLt8P2poeV41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx4VUK%2FbtszUBekSwY%2FNj0A69mxyMYLt8P2poeV41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 추가 생성 후, git status 명령 진행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서와 같이 현재 change11.txt와 change12.txt는&amp;nbsp; 추적되지 않은 파일입니다. 그럼 이 부분을 git add을 통해서 stage로 올리도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(앞선 포스팅에서 이 과정에 대해서 이론적으로 설명을 하였으므로, 이 개념등에 대해서는 앞선 포스팅을 참조해주시길 바랍니다. )&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 git add 명령어를 통해서 stage로 파일을 올릴 수 있습니다. 그럼 다음 명령어와 같은 방식을 사용하시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699362083198&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git add [파일 이름]
$ git add [파일 이름1] [파일 이름2] ... [파일 이름n]
$ git add . 
&quot;현재 변경이 있는 파일을 모두 stage로 올립니다.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 저희는 2번째 방법을 통해서 진행을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DjfyB/btszUwYsDBk/5xrNdcGxSgpKlxVfKZqr0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DjfyB/btszUwYsDBk/5xrNdcGxSgpKlxVfKZqr0k/img.png&quot; data-alt=&quot;git add 이후 git status명령어 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DjfyB/btszUwYsDBk/5xrNdcGxSgpKlxVfKZqr0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDjfyB%2FbtszUwYsDBk%2F5xrNdcGxSgpKlxVfKZqr0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;272&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git add 이후 git status명령어 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 위에서 보이는 바와 같이 다음 부분이 추가된 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699362224614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Changes to be committed:
  (use &quot;git rm --cached &amp;lt;file&amp;gt;...&quot; to unstage)
        new file:   change11.txt
        new file:   change12.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 현재 stage로 있는 상태에서 파일을 변경해보도록 하겠습니다. change12.txt파일에 텍스트를 입력한 후에 저장을 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;496&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beDkPU/btszRTNDFsZ/akvkT9q9EFDGMLpKFtMnz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beDkPU/btszRTNDFsZ/akvkT9q9EFDGMLpKFtMnz1/img.png&quot; data-alt=&quot;파일 변경&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beDkPU/btszRTNDFsZ/akvkT9q9EFDGMLpKFtMnz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeDkPU%2FbtszRTNDFsZ%2FakvkT9q9EFDGMLpKFtMnz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;496&quot; height=&quot;257&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;496&quot; data-origin-height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 변경&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 후에 다시 한번 git status로 상태를 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IlmcD/btszUoM4zJp/bprz2kW9X8d9tZjb8mHVqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IlmcD/btszUoM4zJp/bprz2kW9X8d9tZjb8mHVqK/img.png&quot; data-alt=&quot;파일 변경 이후에 git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IlmcD/btszUoM4zJp/bprz2kW9X8d9tZjb8mHVqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIlmcD%2FbtszUoM4zJp%2Fbprz2kW9X8d9tZjb8mHVqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;426&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 변경 이후에 git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 위에서 보이는 부분과 같이 다음과 같은 부분이 추가된 것을 알 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699362465973&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Changes not staged for commit:
  (use &quot;git add &amp;lt;file&amp;gt;...&quot; to update what will be committed)
  (use &quot;git restore &amp;lt;file&amp;gt;...&quot; to discard changes in working directory)
        modified:   change12.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 상태에서 다시 한번 git add을 통해서 change12.txt를 추가할 수 있습니다. 일단 저의 경우에는 위의 수정된 부분을 다시 한번 stage로 올리고 나서, 다시한번 git status의 결과 변화를 보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGhogH/btszUtUYgul/Iv2dklyt4KwScmvhpqg4fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGhogH/btszUtUYgul/Iv2dklyt4KwScmvhpqg4fK/img.png&quot; data-alt=&quot;파일 변경 부분에 대한 git add이후에 git status의 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGhogH/btszUtUYgul/Iv2dklyt4KwScmvhpqg4fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGhogH%2FbtszUtUYgul%2FIv2dklyt4KwScmvhpqg4fK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;426&quot; data-filename=&quot;009.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 변경 부분에 대한 git add이후에 git status의 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 보이는 바와 같이 최초의 git add한 것과 크게 차이가 없습니다. 그 이후는 stage의 경우에는 commit을 준비하는 공간이지, 이 부분이 기억해야할 지점이 아니기 때문입니다. 그럼 이제는 commit에 대해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;commit을 경우 본격적으로 checkpoint 즉, 기억해야할 지점을 생성하는 것입니다. 여기에서 한가지 주의해야할 점은 바로 message를 입력이 필요로 한다는 것입니다. 물론, 이 부분에 대해서 반드시 입력해야하는 것은 아니지만, 공동 작업 또는 과거의 commit을 바탕으로 이 부분이 어떤 내용인지에 대해서 알 수 있어야 합니다. 따라서, 이 message는 현재의 checkpoint 포인트에 대한 변화에 대해서 요약할 수 있는 내용이어야 합니다. 그럼 이렇게 메시지와 함께 commit을 하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699362840578&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git commit -m &quot;메시지 내용&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 명령어를 토대로 다음과 같이 commit을 진행해봤습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/birOTw/btszUxQBtSf/D5wdNyuGekUbzvU6qG5FS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/birOTw/btszUxQBtSf/D5wdNyuGekUbzvU6qG5FS1/img.png&quot; data-alt=&quot;git commit 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/birOTw/btszUxQBtSf/D5wdNyuGekUbzvU6qG5FS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbirOTw%2FbtszUxQBtSf%2FD5wdNyuGekUbzvU6qG5FS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;426&quot; data-filename=&quot;010.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같이 commit을 진행해봤습니다. 그런 후에 git status를 입력해보니, 이전과는 약간 다릅니다. 물론, 이전에는 repository 초기화만 진행하였기 때문에 이전과는 차이가 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서서, git commit에 대해서 살펴봤기 때문에 , commit 정보들에 대해서 확인을 하고 싶을 때에는 다음과 같은 명령어를 입력합니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699363093601&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git log&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 명령어를 실행하면 다음과 같이 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wjyuc/btszWEhrpVS/Njh4uP2cdHIOrTAlfb6a8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wjyuc/btszWEhrpVS/Njh4uP2cdHIOrTAlfb6a8K/img.png&quot; data-alt=&quot;git log결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wjyuc/btszWEhrpVS/Njh4uP2cdHIOrTAlfb6a8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwjyuc%2FbtszWEhrpVS%2FNjh4uP2cdHIOrTAlfb6a8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;426&quot; data-filename=&quot;011.png&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 보는 바와 같이 다음과 같은 구성이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699363295256&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;commit [commit hash]
author name&amp;lt;email&amp;gt;
Date : [Commid 시간]

  message&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 git log를 통해서, commit 정보를 알 수 있습니다. 저희는 현재 한개의 commit만 진행되었기 때문에 한개의 commit정보가 나타납니다. 여러개의 경우 모든 정보가 다 상기와 같이 표시됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/859&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699363474763&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/859&quot; data-og-url=&quot;https://appia.tistory.com/859&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/m3pGz/hyUrE9g9z9/VwpktEC41xtlef9kAjaqdK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/clWN7j/hyUrt016ZV/xLGGPk73WOB3Y2JhSL9y81/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/cDFuHo/hyUrtmp7vG/5Z5jn6OpcE5fqS8oOkHvhk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/859&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/859&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/m3pGz/hyUrE9g9z9/VwpktEC41xtlef9kAjaqdK/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/clWN7j/hyUrt016ZV/xLGGPk73WOB3Y2JhSL9y81/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/cDFuHo/hyUrtmp7vG/5Z5jn6OpcE5fqS8oOkHvhk/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 [깃, Git] git add와 git commit 하기(with git log)라는 주제로 포스팅을 해봤습니다. 실제, git에서 가장 중요한 단계인 git add 와&amp;nbsp; git commit을 진행하였습니다. 위에서 해본 부분을 약간 변형하여, 지속적으로 연습을 해보는 것을 권장합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>git add</category>
      <category>git commit</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/865</guid>
      <comments>https://appia.tistory.com/865#entry865comment</comments>
      <pubDate>Thu, 9 Nov 2023 07:28:25 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)</title>
      <link>https://appia.tistory.com/864</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;Commit&amp;nbsp;개념&amp;nbsp;및&amp;nbsp;Workflow(깃&amp;nbsp;커밋&amp;nbsp;워크플로우)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 09.png&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8kkMn/btszUxIIOx7/TzvCFCg6kVHj5x1Oxx6og1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8kkMn/btszUxIIOx7/TzvCFCg6kVHj5x1Oxx6og1/img.png&quot; data-alt=&quot;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8kkMn/btszUxIIOx7/TzvCFCg6kVHj5x1Oxx6og1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8kkMn%2FbtszUxIIOx7%2FTzvCFCg6kVHj5x1Oxx6og1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;748&quot; height=&quot;749&quot; data-filename=&quot;2023-11-06 22 58 09.png&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이전 포스팅에서는 Git에 대한 기본적인 개요 및 github등과의 차이점에 대해서 이야기를 해봤습니다. 그러면, 이제 흔히들 이야기 하는 commit에 대해서 이야기를 해보고자 합니다. 먼저, commit의 개념과 workflow에 대해서 이야기를 해보고자 합니다. 이전 사람들의 commit에 대해서 아무런 생각 없이 &quot;commit했다&quot;와 같은 단어를 사용합니다. 물론, 작업을 하시다보면, 자연스렇게 이 commit에 대해서 이해를 하게 됩니다. 그래서 이번 포스팅에서는 이러한 개념들에 대해서 간단히 살펴보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/862&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699279469763&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&quot; data-og-description=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/862&quot; data-og-url=&quot;https://appia.tistory.com/862&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/rcUA7/hyUrqJAhHP/8DuUgssTq9okyoXBPjMt1k/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/qYlWi/hyUrt0BtcC/fI6stNaGi8NnyfOlXP0Vp1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/ctEpo6/hyUrqQlyoR/gJMJfJg09so9ypEsvHsy4K/img.png?width=1015&amp;amp;height=818&amp;amp;face=0_0_1015_818&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/862&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/862&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/rcUA7/hyUrqJAhHP/8DuUgssTq9okyoXBPjMt1k/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/qYlWi/hyUrt0BtcC/fI6stNaGi8NnyfOlXP0Vp1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/ctEpo6/hyUrqQlyoR/gJMJfJg09so9ypEsvHsy4K/img.png?width=1015&amp;amp;height=818&amp;amp;face=0_0_1015_818');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 이전 포스팅에서 다음과 같은 그림에 대해서 본적이 있으실 것입니다. 물론, 이 event라는 것은 git에서 뿐 아니라, 다양한 작업에서의 checkpoint라고 생각하셔도 됩니다. 즉, 이 checkpoint 를 사람들에 따라서 event 또는 변경사항이 존재하는 지점이라고도 합니다. 우리는 이 부분을 commit이라고 할 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 00 01 15 (2).png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;206&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZ1Q0r/btszLWQOBW0/7f9I662oTdSOivl47wxQh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZ1Q0r/btszLWQOBW0/7f9I662oTdSOivl47wxQh0/img.png&quot; data-alt=&quot;git에서의 event = commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZ1Q0r/btszLWQOBW0/7f9I662oTdSOivl47wxQh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZ1Q0r%2FbtszLWQOBW0%2F7f9I662oTdSOivl47wxQh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;206&quot; data-filename=&quot;2023-11-05 00 01 15 (2).png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;206&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git에서의 event = commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 이 commit은 간단히 생각하면 여러 파일의 변경들에 대해서 추적할 수 있는 지점을 만드는 것입니다. 예를 들면, 제가 발표 파워포인트를 준비하는데, Event1에서는 전체적인 개요들에 대해서 outline을 정하고, Event2에서는 각 chapter에 대해서 말하고자 하는 내용을 작성할 것입니다. 이와 같은 형태로 저장소에 추적 및 회귀가 가능토록 지점을 만듭니다. 그러한 지점을 저희는 commit 이라고 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, commit의 과정을 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 09 (2).png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctLygT/btszLsvvGGz/ku5ALRHTQs18LOIMKFKMgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctLygT/btszLsvvGGz/ku5ALRHTQs18LOIMKFKMgk/img.png&quot; data-alt=&quot;git commit workflow&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctLygT/btszLsvvGGz/ku5ALRHTQs18LOIMKFKMgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctLygT%2FbtszLsvvGGz%2Fku5ALRHTQs18LOIMKFKMgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;292&quot; height=&quot;315&quot; data-filename=&quot;2023-11-06 22 58 09 (2).png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit workflow&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단, 작업 폴더에서 다음과 같은 파일들의 변경이 이루어질 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 삭제&lt;/li&gt;
&lt;li&gt;파일 내용 변경&lt;/li&gt;
&lt;li&gt;파일 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 부분을 commit을 하기 위해서 가상 공간이&amp;nbsp; stage에 add을 하게 됩니다. 그리고, add된 파일을 바탕으로 commit을 진행하게 됩니다. 그럼 간단한 예시를 그림과 함꼐 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저, 현재 작업하는 폴더에서 11~ 16까지의 변경사항을 만들었습니다. 여기에서 저희는 모든 파일을 한번에 commit하지 않고, 총 2가지로 나누어서 commit을 진행할 예정입니다. 11~12과 13~16 이렇게 두개의 변경사항들을 나누어서 commit 을 진행할 예정입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 09 (3).png&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/swNuF/btszONsmEeR/1PpKjozOxikuoTubCaRbO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/swNuF/btszONsmEeR/1PpKjozOxikuoTubCaRbO0/img.png&quot; data-alt=&quot;git workflow예시 1. 파일 수정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/swNuF/btszONsmEeR/1PpKjozOxikuoTubCaRbO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FswNuF%2FbtszONsmEeR%2F1PpKjozOxikuoTubCaRbO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1077&quot; height=&quot;472&quot; data-filename=&quot;2023-11-06 22 58 09 (3).png&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git workflow예시 1. 파일 수정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 파일에서, 먼저, 11, 12번에 해당하는 항목을 stage에 add를 진행합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 09 (4).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KpfS4/btszK49sjdc/5KGwcSr1DkxoSZrkcHKto1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KpfS4/btszK49sjdc/5KGwcSr1DkxoSZrkcHKto1/img.png&quot; data-alt=&quot;git workflow예시 2. 11, 12번 파일의 stage로 add&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KpfS4/btszK49sjdc/5KGwcSr1DkxoSZrkcHKto1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKpfS4%2FbtszK49sjdc%2F5KGwcSr1DkxoSZrkcHKto1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;470&quot; data-filename=&quot;2023-11-06 22 58 09 (4).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git workflow예시 2. 11, 12번 파일의 stage로 add&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런 후에 이 2가지 변경사항에 사항에 대해서 commit을 진행합니다. 그러면 현재 stage에&amp;nbsp; 있던 2개의 파일이 한개의 commit으로 지점을 만들 수 있게 됩니다. 그러면 현재 13~16번에 해당하는 변경사항들이 존재하게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 09 (5).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVqS7H/btszTAeSYdE/6NUSYfiKBKdgDLQORzINf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVqS7H/btszTAeSYdE/6NUSYfiKBKdgDLQORzINf0/img.png&quot; data-alt=&quot;git workflow예시 3. 11, 12번 파일의 Repository로 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVqS7H/btszTAeSYdE/6NUSYfiKBKdgDLQORzINf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVqS7H%2FbtszTAeSYdE%2F6NUSYfiKBKdgDLQORzINf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;471&quot; data-filename=&quot;2023-11-06 22 58 09 (5).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git workflow예시 3. 11, 12번 파일의 Repository로 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 13~16번의 총 4가지 항목에 대해서 그러면 저희는 다시 한번 stage로 add를 하게 됩니다.그러면 기존에 11~12에 한해서는 한개의 commit이 진행되었고, 이 4가지 변경사항들에 대해서 stage로 올라왔기 때문에 이 부분을 또 한개의 commit으로 진행이 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 10.png&quot; data-origin-width=&quot;1079&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4sGMc/btszLlJ3C63/9esct3KROOV95k8KxWVq9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4sGMc/btszLlJ3C63/9esct3KROOV95k8KxWVq9K/img.png&quot; data-alt=&quot;git workflow예시 4. 13~16번 파일의 Stage로 add&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4sGMc/btszLlJ3C63/9esct3KROOV95k8KxWVq9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4sGMc%2FbtszLlJ3C63%2F9esct3KROOV95k8KxWVq9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1079&quot; height=&quot;471&quot; data-filename=&quot;2023-11-06 22 58 10.png&quot; data-origin-width=&quot;1079&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git workflow예시 4. 13~16번 파일의 Stage로 add&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 현재 stage에 올라와 있는 4가지 변경사항에 대해서 commit을 통해서 한개의 commit이 진행이 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-06 22 58 10 (2).png&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Zbee/btszLrXE0V9/e3kdOQJ7VodddJ8uv6QMu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Zbee/btszLrXE0V9/e3kdOQJ7VodddJ8uv6QMu0/img.png&quot; data-alt=&quot;git workflow예시 5. 13~16번 파일의 Repository로 commit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Zbee/btszLrXE0V9/e3kdOQJ7VodddJ8uv6QMu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Zbee%2FbtszLrXE0V9%2Fe3kdOQJ7VodddJ8uv6QMu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1077&quot; height=&quot;470&quot; data-filename=&quot;2023-11-06 22 58 10 (2).png&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git workflow예시 5. 13~16번 파일의 Repository로 commit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면 이와 같이 2가지 commit이 생성이 됩니다. 이와 같은 형태로, commit이 진행이 될것입니다. 위에서 보는 바와 같이 수정사항들이 여러개 있어도, 사용자가 지정하는 부분에 따라서 commit의 갯수가 변경이 될 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/861&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699280878621&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&quot; data-og-description=&quot;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제) 앞선 포스팅에서는 소스트리(Source Tree)을 다운로드 받고 설치하는 방법에 대해서 포스팅을 했습니다. 실제, 많은 사람들은 GUI기&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/861&quot; data-og-url=&quot;https://appia.tistory.com/861&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cO16sN/hyUrxBUTv1/3jmiCOuMC4RBVrKujOoC70/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/BOqVc/hyUrBYDGeZ/2TZUkXx0OUWVVxuk3xHg4K/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bIYyMZ/hyUrFNvGUb/bkNa0hgFxsnBZI4PthD5vk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/861&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/861&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cO16sN/hyUrxBUTv1/3jmiCOuMC4RBVrKujOoC70/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/BOqVc/hyUrBYDGeZ/2TZUkXx0OUWVVxuk3xHg4K/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bIYyMZ/hyUrFNvGUb/bkNa0hgFxsnBZI4PthD5vk/img.jpg?width=829&amp;amp;height=829&amp;amp;face=0_0_829_829');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제) 앞선 포스팅에서는 소스트리(Source Tree)을 다운로드 받고 설치하는 방법에 대해서 포스팅을 했습니다. 실제, 많은 사람들은 GUI기&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] Git Commit 개념 및 Workflow(깃 커밋 워크플로우)라는 주제로 포스팅을 진행해봤습니다. 이 부분을 토대로 다음 포스팅에서는 실제 git bash에서 status에 add 하거나 repository로 commit을 하는 방법에 대해서 이야기를 해보고자 합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>commit workflow</category>
      <category>git</category>
      <category>git commit</category>
      <category>깃</category>
      <category>커밋워크플로우</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/864</guid>
      <comments>https://appia.tistory.com/864#entry864comment</comments>
      <pubDate>Wed, 8 Nov 2023 07:29:47 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] 깃(git) Repository 초기화 하기(feat. git status)</title>
      <link>https://appia.tistory.com/863</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[깃,&amp;nbsp;Git]&amp;nbsp;깃(git)&amp;nbsp;Repository&amp;nbsp;초기화&amp;nbsp;하기(feat.&amp;nbsp;git&amp;nbsp;status)&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;750&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u5yX9/btszLYUnEuX/LBT0x3k7UIWuuTwg6I9881/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u5yX9/btszLYUnEuX/LBT0x3k7UIWuuTwg6I9881/img.png&quot; data-alt=&quot;[깃, Git] 깃(git) Repository 초기화 하기(feat. git status)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u5yX9/btszLYUnEuX/LBT0x3k7UIWuuTwg6I9881/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu5yX9%2FbtszLYUnEuX%2FLBT0x3k7UIWuuTwg6I9881%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;750&quot; data-filename=&quot;2023-11-05 20 40 12.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;750&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] 깃(git) Repository 초기화 하기(feat. git status)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;앞선 포스팅에서는 git repository에 대해서 살펴보았습니다. 앞선 포스팅에서 git repository에 대해서 정의할 때에, 하나의 작업공간, 즉 하나의 저장소라고 간단히 정의를 하였습니다. 그래서 이번 포스팅에서는 현재 작업 하고 있는 공간에 대해서 git repository로 정의하는 방법에 대해서 살펴보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/862&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699279166917&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&quot; data-og-description=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던 &quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/862&quot; data-og-url=&quot;https://appia.tistory.com/862&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/rcUA7/hyUrqJAhHP/8DuUgssTq9okyoXBPjMt1k/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/qYlWi/hyUrt0BtcC/fI6stNaGi8NnyfOlXP0Vp1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/ctEpo6/hyUrqQlyoR/gJMJfJg09so9ypEsvHsy4K/img.png?width=1015&amp;amp;height=818&amp;amp;face=0_0_1015_818&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/862&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/862&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/rcUA7/hyUrqJAhHP/8DuUgssTq9okyoXBPjMt1k/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/qYlWi/hyUrt0BtcC/fI6stNaGi8NnyfOlXP0Vp1/img.png?width=780&amp;amp;height=781&amp;amp;face=0_0_780_781,https://scrap.kakaocdn.net/dn/ctEpo6/hyUrqQlyoR/gJMJfJg09so9ypEsvHsy4K/img.png?width=1015&amp;amp;height=818&amp;amp;face=0_0_1015_818');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이 앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;우선 초기화를 하기 앞서서, 깃(git)의 상태를 보는 명령어에 대해서 살펴보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699187772946&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하면, 현재 repository의 상태를 확인할 수 있습니다. 물론, repository가 없는 경우도 명시를 해줍니다. 그럼 일단, 위의 명령어를 입력해보도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (2).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhKRUU/btszONENyqo/eueODYpRu9hTmNbrKrARFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhKRUU/btszONENyqo/eueODYpRu9hTmNbrKrARFk/img.png&quot; data-alt=&quot;git status 명령어 입력 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhKRUU/btszONENyqo/eueODYpRu9hTmNbrKrARFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhKRUU%2FbtszONENyqo%2FeueODYpRu9hTmNbrKrARFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (2).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status 명령어 입력 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에서 처음에 git Status를 입력하였습니다. 이 경우에 없는 명령어로 나타납니다. 맞습니다. git 명령어들의 입력시에 대소문자를 구별하셔야 합니다. 그래서 상기와 같이 git status를 입력하였습니다. 다음과 같은 결과가 나타났습니ㅏㄷ.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699187921851&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fatal: not a git repository (or any of the parent directories): .git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;현재 디렉토리에 repository가 없는 것을 나타내고 있습니다. 그럼 이제, 저희가 하나의 폴더를 생성하여 그 폴더에 repository를 초기화하도록 해보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단 저의 경우 이전에 예시를 위해서 만들어 놓은 &quot;Comand_Exam&quot;폴더로 이동하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699188030578&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd Comand_Exam&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, 현재 해당 디렉토리에 repository가 있는지에 대해서 위에서 살펴본 git status 명령어를 통해서 살펴보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (3).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sFosE/btszKGUqiYN/KdX2cWooxf6euaA6LSvT81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sFosE/btszKGUqiYN/KdX2cWooxf6euaA6LSvT81/img.png&quot; data-alt=&quot;예제 1. Comand_Exam의 git status 명령어 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sFosE/btszKGUqiYN/KdX2cWooxf6euaA6LSvT81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsFosE%2FbtszKGUqiYN%2FKdX2cWooxf6euaA6LSvT81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (3).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 1. Comand_Exam의 git status 명령어 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그 결과는 위에서 보이는 바와 같이 현재 해당 하는 폴더에 git repository가 없다는 것을 확인할 수 있었습니다. 그럼 여기에서, 이제 현재 폴더에 repository를 초기화 하는 방법에 대해서 살펴보겠습니다. 방법은 매우 간단합니다. 다음 명령어를 입력하는 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699188218555&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 명령어를 입력하면, 다음과 같은 결과문이 bash창에 나타납니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699188333837&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Initialized empty Git repository in C:/Users/Appia/Comand_Exam/.git/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서, git status를 입력하면, 이전 repository가 없을 때와 다른 부분을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (4).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VZJic/btszNRHj2TY/lnRliNZYa1YMgVmcOgOAtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VZJic/btszNRHj2TY/lnRliNZYa1YMgVmcOgOAtK/img.png&quot; data-alt=&quot;예제 2. Comand_Exam의 git init후 git status 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VZJic/btszNRHj2TY/lnRliNZYa1YMgVmcOgOAtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVZJic%2FbtszNRHj2TY%2FlnRliNZYa1YMgVmcOgOAtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (4).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 2. Comand_Exam의 git init후 git status 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위와 같이 다른 부분을 확인할 수 있습니다. 물론, git init 이후에도 현재 폴더 후에 &quot;(master)&quot;부분이 추가된 것을 확인할 수 있었습니다. 이와 같은 방법으로 repository에 대해서 초기화를 할수 있습니다. 그럼 repository를 초기화 한 후에 폴더 상에는 어떤 변경이 있을까요? 저는 &quot;ls&quot;명령어를 입력하여, 현재 폴더의 변화를 확인하고자 하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (5).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzGT0I/btszJZAb8qE/kHKOECT4Vs2nTf5gTvDiO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzGT0I/btszJZAb8qE/kHKOECT4Vs2nTf5gTvDiO0/img.png&quot; data-alt=&quot;예제 2. Comand_Exam의 git init후 폴더 변화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzGT0I/btszJZAb8qE/kHKOECT4Vs2nTf5gTvDiO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzGT0I%2FbtszJZAb8qE%2FkHKOECT4Vs2nTf5gTvDiO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (5).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 2. Comand_Exam의 git init후 폴더 변화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;보여지기에는 아무런 변화가 없습니다. 하지만, 실제로는 .git 폴더가 생성이 됩니다. 이 부분이 숨겨져 있을 뿐입니다. 그래서 &quot;ls -a&quot;명령어를 입력하여 현재 숨겨져 있는 폴더들 또한 출력이 되게 하였습니다. 그랬더니, 하기와 같이 .git/ 부분이 생성이 된것을 확인할 수 있었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (6).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RO0bK/btszLuTrjGW/K9o6Xo9SXRtpaqo9lMo8Ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RO0bK/btszLuTrjGW/K9o6Xo9SXRtpaqo9lMo8Ik/img.png&quot; data-alt=&quot;예제 2. Comand_Exam의 git init후 폴더 변화 (.git 폴더 생성확인)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RO0bK/btszLuTrjGW/K9o6Xo9SXRtpaqo9lMo8Ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRO0bK%2FbtszLuTrjGW%2FK9o6Xo9SXRtpaqo9lMo8Ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (6).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예제 2. Comand_Exam의 git init후 폴더 변화 (.git 폴더 생성확인)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기에서 해당 폴더로 이동하여 어떤 내용이 있는지 살펴보니, 다음과 같은 내용으로 구성이 되어 있었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 20 40 12 (7).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A9sGQ/btszL0q5wXl/XUFGkpU3RHqHkyR1fdasRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A9sGQ/btszL0q5wXl/XUFGkpU3RHqHkyR1fdasRk/img.png&quot; data-alt=&quot;.git 폴더 내용물&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A9sGQ/btszL0q5wXl/XUFGkpU3RHqHkyR1fdasRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA9sGQ%2FbtszL0q5wXl%2FXUFGkpU3RHqHkyR1fdasRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot; data-filename=&quot;2023-11-05 20 40 12 (7).png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;.git 폴더 내용물&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;물론, 해당 부분에 대해서는 정확하게 다 알지는 못하지만, 이런 부분들이 생성이 되었다는 것을 확인할 수 있었습니다. 이와 같은 방법으로 git을 초기화 할 수 있습니다. .git 폴더 내용을 삭제한다면, git repository를 초기화한 거 또한 삭제가 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러면, 처음 작업을 하실 때에 실수할 수 있는 부분에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* repository로 설정되어 있는 폴더의 하위 폴더를 git init을 통하여 새로운 repository 초기화 하지 않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;-&amp;gt; 실제, repository로 설정이 되어 있다면, 하위폴더의 모든 내용까지 추적을 합니다. 이 경우에 나중에 각 repository 간의 문제가 발생할 여지가 충분합니다. 따라서, 이 부분에 대해서는 반드시 주의가 필요로 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/861&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699188915040&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&quot; data-og-description=&quot;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제) 앞선 포스팅에서는 소스트리(Source Tree)을 다운로드 받고 설치하는 방법에 대해서 포스팅을 했습니다. 실제, 많은 사람들은 GUI기&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/861&quot; data-og-url=&quot;https://appia.tistory.com/861&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bKj0Zv/hyUrsNIdNB/zhFbudDfz4bMLnOWIgb2kK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/oOnuS/hyUrAEZHuQ/TL0B963SjiFgrz5oxSRRkK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bBhjmi/hyUrtMC2Q2/fvbOulepdzgE1M6Hd23RGk/img.png?width=945&amp;amp;height=747&amp;amp;face=0_0_945_747&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/861&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/861&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bKj0Zv/hyUrsNIdNB/zhFbudDfz4bMLnOWIgb2kK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/oOnuS/hyUrAEZHuQ/TL0B963SjiFgrz5oxSRRkK/img.png?width=770&amp;amp;height=770&amp;amp;face=0_0_770_770,https://scrap.kakaocdn.net/dn/bBhjmi/hyUrtMC2Q2/fvbOulepdzgE1M6Hd23RGk/img.png?width=945&amp;amp;height=747&amp;amp;face=0_0_945_747');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제) 앞선 포스팅에서는 소스트리(Source Tree)을 다운로드 받고 설치하는 방법에 대해서 포스팅을 했습니다. 실제, 많은 사람들은 GUI기&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 [깃, Git] 깃(git) Repository 초기화 하기(feat. git status)라는 주제로 포스팅을 해봤습니다. 실제 이 부분에 대해서 git을 사용하셨더라도, 익숙하지 않은 분들이 많습니다. 하지만, 이 부분을 토대로, 보다 한발짝 앞서 나갈 수 있을 것이라고 생각합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git repository초기화</category>
      <category>깃</category>
      <category>깃 초기화</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/863</guid>
      <comments>https://appia.tistory.com/863#entry863comment</comments>
      <pubDate>Tue, 7 Nov 2023 07:57:20 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이</title>
      <link>https://appia.tistory.com/862</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;Git&amp;nbsp;기본개요,&amp;nbsp;VCS란?&amp;nbsp;Git과&amp;nbsp;GitHub의&amp;nbsp;차이&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 00 01 15.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cF2xsp/btszKy3cf5L/dW4c6zUDogcKXad1T5oOH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cF2xsp/btszKy3cf5L/dW4c6zUDogcKXad1T5oOH0/img.png&quot; data-alt=&quot;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cF2xsp/btszKy3cf5L/dW4c6zUDogcKXad1T5oOH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcF2xsp%2FbtszKy3cf5L%2FdW4c6zUDogcKXad1T5oOH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;780&quot; height=&quot;781&quot; data-filename=&quot;2023-11-05 00 01 15.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞서 포스팅에서 Git의 기본 명령어에 대해서 포스팅을 했었습니다. 원래라면, 이번 포스팅을 가장 먼저 포스팅을 해야했었는데, 미처 생각 못했던 것들이 있었습니다. 저의 지인들과 이야기하면, 제 블로그에 대해서 모니터링 하면서, GIT이 무엇이냐? VCS는 무엇이냐? 이런 이야기가 있었습니다. 그래서, 이런 부분들에 대해서 정의가 필요로 하는 분들이 있겠구나라는 생각으로 이 포스팅을 올리게 되었습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #333333;&quot; href=&quot;https://appia.tistory.com/859&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/a&gt;&lt;/b&gt;
&lt;figure id=&quot;og_1699165269819&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/859&quot; data-og-url=&quot;https://appia.tistory.com/859&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/N1I7w/hyUnMUwyWX/R8SyknhdT8CMIQLOlkVjE1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/En8xl/hyUrCvW0fF/zVQNd517m1oRDKTO2coAek/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/zViRa/hyUnQP8RSm/sMRk7Pm1gCaaIhwjP1RmQ0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/859&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/859&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/N1I7w/hyUnMUwyWX/R8SyknhdT8CMIQLOlkVjE1/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/En8xl/hyUrCvW0fF/zVQNd517m1oRDKTO2coAek/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/zViRa/hyUnQP8RSm/sMRk7Pm1gCaaIhwjP1RmQ0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;VCS(Version Control System)이란 무엇일까요?&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, VCS에 대해서 살펴보겠습니다. 흔히&amp;nbsp;이야기&amp;nbsp;하는&amp;nbsp;&amp;nbsp;VCS는&amp;nbsp;Version&amp;nbsp;Control&amp;nbsp;System의&amp;nbsp;약자로&amp;nbsp;파일의&amp;nbsp;변경&amp;nbsp;및&amp;nbsp;변화를&amp;nbsp;실시간으로&amp;nbsp;관리하는&amp;nbsp;시스템입니다.&amp;nbsp;흔히&amp;nbsp;프로그래밍을&amp;nbsp;하는&amp;nbsp;곳에서&amp;nbsp;많이&amp;nbsp;사용하고&amp;nbsp;있으나,&amp;nbsp;실제로는&amp;nbsp;프로그래밍&amp;nbsp;뿐&amp;nbsp;아니라,&amp;nbsp;다양한&amp;nbsp;문서작업에서도&amp;nbsp;많이&amp;nbsp;사용됩니다.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;현재, VCS의 점유율에서는 압도적으로 Git을 사용하고 있습니다. (따라서 저 또한 Git에 대해서 포스팅을 진행하였습니다.)&amp;nbsp; 간단하게 저희가 파일에 변경사항에 대해서 파일 이름 형태로 변경하는 경우가 많습니다. 예로 들면, 다음과 같습니다. 저와 같이 일하는 분들 또한 이렇게 작업을 하는 분들이 많으십니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;report_v1.xlsx &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;report_v2.xlsx &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;report_v3.xlsx &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만, 이렇게 다양한 파일을 생성할 필요없이, 동일파일을 유지하면서 매번 그 변화에 대해서 모니터링 하면서, 원하는 시점으로 변경하거나, 아니면 변경한 시점에 대해서 각 기록으로 남겨둘 수 있습니다. 이러한 부분을 할 수 있게 해주는 것이 VCS입니다.&amp;nbsp; 실제, 생각하면, 하나의 파일에 대해서 그 변화에 대해서 추적하면, 그 변경시점에 대해서 회귀 또는 그 변경시점에 대해서 기록 하는 것이라고 생각해도 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 00 01 15 (2).png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;206&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clwFLF/btszLq4i1fN/rn19JKPmy19W1qmxK6tte0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clwFLF/btszLq4i1fN/rn19JKPmy19W1qmxK6tte0/img.png&quot; data-alt=&quot;VCS 의 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clwFLF/btszLq4i1fN/rn19JKPmy19W1qmxK6tte0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclwFLF%2FbtszLq4i1fN%2Frn19JKPmy19W1qmxK6tte0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;206&quot; data-filename=&quot;2023-11-05 00 01 15 (2).png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;206&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VCS 의 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그&amp;nbsp;대표적인&amp;nbsp;아이템&amp;nbsp;중&amp;nbsp;하나가,&amp;nbsp;Git&amp;nbsp;입니다.&amp;nbsp;다음&amp;nbsp;보이는&amp;nbsp;각&amp;nbsp;Event&amp;nbsp;마다,&amp;nbsp;다른&amp;nbsp;작업들을&amp;nbsp;하지만,&amp;nbsp;이&amp;nbsp;부분에&amp;nbsp;대해서&amp;nbsp;하나의&amp;nbsp;파일로&amp;nbsp;저장을&amp;nbsp;하고&amp;nbsp;있습니다.&amp;nbsp;물론,&amp;nbsp;각&amp;nbsp;Event마다&amp;nbsp;내용들이&amp;nbsp;달라집니다.&amp;nbsp;그&amp;nbsp;부분을&amp;nbsp;가능하게&amp;nbsp;해주는&amp;nbsp;것이&amp;nbsp;Git과&amp;nbsp;같은&amp;nbsp;VCS입니다.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음 보이는 부분은 Git의 GUI 버전으로 검토해본 영역입니다. 이 부분에 대해서 단순히 하나의 파일이 아니라, 폴더 기준으로 그 변화 및 변경사항에 대해서 모니터링 및 추적을 할 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 00 01 15_1.png&quot; data-origin-width=&quot;1015&quot; data-origin-height=&quot;818&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYvgr3/btszI153LRT/RxAKUsYdQr1e3uF4S5KiaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYvgr3/btszI153LRT/RxAKUsYdQr1e3uF4S5KiaK/img.png&quot; data-alt=&quot;Git GUI버전인 Fork의 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYvgr3/btszI153LRT/RxAKUsYdQr1e3uF4S5KiaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYvgr3%2FbtszI153LRT%2FRxAKUsYdQr1e3uF4S5KiaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1015&quot; height=&quot;818&quot; data-filename=&quot;2023-11-05 00 01 15_1.png&quot; data-origin-width=&quot;1015&quot; data-origin-height=&quot;818&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git GUI버전인 Fork의 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Git vs Git Hub의 차이&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 사람들이 Git을 사용하면서, GithHub 또는 GitLab과의 차이점을 물어보고 합니다. 가장 간단히 이야기 해보면, Git의 VCS 소프트웨어입니다. 따라서, 계정 등록과 같은 절차도 필요없고, 인터넷 연결등이 필요가 없습니다. 하지만, GitHub 또는 GitLab의 경우에는 웹 서비스 입니다. Git저장소를 기반으로 클라우드에 저장하여 여러 사람들이 공동작업 가능하도록 하는 웹서비스라고 보시면 됩니다. 따라서, 획원 가입 또는 경우에 따라서는 결제등이 필요로 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-05 00 01 15 (3).png&quot; data-origin-width=&quot;1154&quot; data-origin-height=&quot;485&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kRx4O/btszNQuDiVr/uzlMByFrBh1dyasghFHH9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kRx4O/btszNQuDiVr/uzlMByFrBh1dyasghFHH9K/img.png&quot; data-alt=&quot;Git vs Git Hub의 차이&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kRx4O/btszNQuDiVr/uzlMByFrBh1dyasghFHH9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkRx4O%2FbtszNQuDiVr%2FuzlMByFrBh1dyasghFHH9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1154&quot; height=&quot;485&quot; data-filename=&quot;2023-11-05 00 01 15 (3).png&quot; data-origin-width=&quot;1154&quot; data-origin-height=&quot;485&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git vs Git Hub의 차이&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 보이는 바와 같이 Cloud 서비스를 제공하는 것이 GitHub 또는 GitLab이라고 보시면 됩니다. 각 Local에서 사용하는 것이 Git입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Git Repo (Repository)란?&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;흔히들 Git Repo에 대해서 이야기를 많이 합니다. 이 부분은 하나의 저장소라고 보시면 됩니다. 즉, Git에서의 다양한 이벤트들이 이루어지는 하나의 작업 공간이라고 보시면됩니다. 이 Repo기반으로 호스팅 서비스를 이용하여 다양한 사용자들과 저장소를 공유하고 공동작업을 할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699165291016&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dXP5vG/hyUrqPOQqi/5zc17DbCxEnJ6vIsf4dm30/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dEOe08/hyUnSf9jd6/0qlBCQwKZKPqTKVwnH7Q30/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/wflZl/hyUrEHhNHL/r7Y06nKtvjn51myBu5ELZK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dXP5vG/hyUrqPOQqi/5zc17DbCxEnJ6vIsf4dm30/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dEOe08/hyUnSf9jd6/0qlBCQwKZKPqTKVwnH7Q30/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/wflZl/hyUrEHhNHL/r7Y06nKtvjn51myBu5ELZK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 포스팅에서는 &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;[깃, Git] Git 기본개요, VCS란? Git과 GitHub의 차이라는 주제로 포스팅을 해봤습니다. 그럼 이제부터는 본격적으로 Git에 사용하는 방법에 대해서 이야기를 해보고자 합니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>Git Repo란</category>
      <category>GitHub와차이</category>
      <category>Git개요</category>
      <category>repository란</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/862</guid>
      <comments>https://appia.tistory.com/862#entry862comment</comments>
      <pubDate>Mon, 6 Nov 2023 07:23:08 +0900</pubDate>
    </item>
    <item>
      <title>[깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)</title>
      <link>https://appia.tistory.com/861</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[깃,&amp;nbsp;Git]&amp;nbsp;깃(Git)&amp;nbsp;Bash&amp;nbsp;기본명령어(폴더&amp;nbsp;생성&amp;nbsp;삭제,&amp;nbsp;파일&amp;nbsp;생성&amp;nbsp;삭제)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ojgko/btszCIrD1W7/w8YdqacX0K1xxokKKEHfqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ojgko/btszCIrD1W7/w8YdqacX0K1xxokKKEHfqk/img.png&quot; data-alt=&quot;[깃,&amp;amp;amp;nbsp;Git]&amp;amp;amp;nbsp;깃(Git)&amp;amp;amp;nbsp;Bash&amp;amp;amp;nbsp;기본명령어(폴더&amp;amp;amp;nbsp;생성&amp;amp;amp;nbsp;삭제,&amp;amp;amp;nbsp;파일&amp;amp;amp;nbsp;생성&amp;amp;amp;nbsp;삭제)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ojgko/btszCIrD1W7/w8YdqacX0K1xxokKKEHfqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fojgko%2FbtszCIrD1W7%2Fw8YdqacX0K1xxokKKEHfqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;770&quot; data-filename=&quot;2023-11-02 22 50 53.png&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[깃,&amp;amp;nbsp;Git]&amp;amp;nbsp;깃(Git)&amp;amp;nbsp;Bash&amp;amp;nbsp;기본명령어(폴더&amp;amp;nbsp;생성&amp;amp;nbsp;삭제,&amp;amp;nbsp;파일&amp;amp;nbsp;생성&amp;amp;nbsp;삭제)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞선 포스팅에서는 소스트리(Source Tree)을 다운로드 받고 설치하는 방법에 대해서 포스팅을 했습니다. 실제, 많은 사람들은 GUI기반으로 작업을 하고, 저또한 대부분 작업은 GUI 툴을 기반으로 작업을 진행합니다. 하지만, 모든 GUI툴이 모든 기능을 제공하지 않기 때문에, 경우에 따라서 Git Bash을 이용하여 Command로 제어할 수 도 있어야 합니다. 그래서 이번 포스팅에서는 Git Bash 명령어를 사용하기 전에, 기본적인 Bash명령어를 통해서 폴더/ 파일을 검색하고 생성 삭제하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698933445778&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cN141V/hyUnUR20ip/0rJPsbSCvQASie5JvSHI3K/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dQhvAu/hyUnQPBz7l/KRaqRkPAFgek3xVWRyU3X1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bGHo6E/hyUnJQvN4K/bAHpD3gDqk4XYKmBKYZkK0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cN141V/hyUnUR20ip/0rJPsbSCvQASie5JvSHI3K/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dQhvAu/hyUnQPBz7l/KRaqRkPAFgek3xVWRyU3X1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bGHo6E/hyUnJQvN4K/bAHpD3gDqk4XYKmBKYZkK0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, Git Bash을 실행이 필요로 합니다. 만약 Git Bash의 윈도우 키를 누르시고나서, Git Bash을 클릭하시면 됩니다. 다음 링크 하단에 해당 부분에 대해서 언급이 나오고 있기 때문에 해당 부분에 대해서 Git Bash을 실행하는 방법을 모르신다면 하기 링크의 하단 부분을 검토하셔서 실행 부탁드립니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/859&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;figure id=&quot;og_1698933578623&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/859&quot; data-og-url=&quot;https://appia.tistory.com/859&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wC7fH/hyUnKBRnhn/dcT2SuM29kQi3MtxkPm4K0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/qnMak/hyUnKhyVqI/KgkZeDje0KD6AwHz585k1K/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/wgJX5/hyUnQB6ZFM/ObKqAphd5ZHN3aeJDFZ40K/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/859&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/859&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wC7fH/hyUnKBRnhn/dcT2SuM29kQi3MtxkPm4K0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/qnMak/hyUnKhyVqI/KgkZeDje0KD6AwHz585k1K/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/wgJX5/hyUnQB6ZFM/ObKqAphd5ZHN3aeJDFZ40K/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정의 토대로 Git Bash을 실행하면 다음과 같은 화면이 나타날 것입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (2).png&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;253&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bL76PF/btszF5GsIZZ/Z4MJScZxsOkL01ykpCF2I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL76PF/btszF5GsIZZ/Z4MJScZxsOkL01ykpCF2I0/img.png&quot; data-alt=&quot;Git Bash 실행화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL76PF/btszF5GsIZZ/Z4MJScZxsOkL01ykpCF2I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL76PF%2FbtszF5GsIZZ%2FZ4MJScZxsOkL01ykpCF2I0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;644&quot; height=&quot;253&quot; data-filename=&quot;2023-11-02 22 50 53 (2).png&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;253&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash 실행화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 현재 폴더의 윈도우 탐색기로 검색하는 방법에 대해서 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698933682008&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;start .&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 상기명령어를 입력하면 다음과 그림과 같이 윈도우 탐색기가 현재 폴더 기준으로 나타나는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (3).png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;747&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caAleL/btszF4neUvf/KkuexUNvS7FkNgw3mO1fv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caAleL/btszF4neUvf/KkuexUNvS7FkNgw3mO1fv1/img.png&quot; data-alt=&quot;Git Bash의 윈도우 탐색기 검색 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caAleL/btszF4neUvf/KkuexUNvS7FkNgw3mO1fv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaAleL%2FbtszF4neUvf%2FKkuexUNvS7FkNgw3mO1fv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;747&quot; data-filename=&quot;2023-11-02 22 50 53 (3).png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;747&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash의 윈도우 탐색기 검색 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정을 통해서, 현재 작업 경로에 대해서 다음 명령어를 통해서 알수가 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698933926749&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ pwd&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저의 예시를 보면, 다음과 같은 화면이 나타나는 것을 알 수있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (4).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DQVkq/btszGMsRnub/uO2xXxfaNJtKTLRgzhnO2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DQVkq/btszGMsRnub/uO2xXxfaNJtKTLRgzhnO2K/img.png&quot; data-alt=&quot;Git Bash의 현재 작업 경로 확인하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DQVkq/btszGMsRnub/uO2xXxfaNJtKTLRgzhnO2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDQVkq%2FbtszGMsRnub%2FuO2xXxfaNJtKTLRgzhnO2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (4).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash의 현재 작업 경로 확인하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼, 윈도우 커맨드 콘솔에서 &quot;dir&quot;을 입력하는 것와 같은 효과를 가지는 명령어에 대해서도 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698934005561&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ ls&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 입려하면, 다음과 같이 현재 폴더안에 있는 파일과 폴더들에 대해서 명시가 됩니다. 다른색으로 되어 있는 것은 폴더이고, 흰색으로 되어 있는 것은 파일입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (5).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m5dcH/btszDzOR22e/tRTDzZQSkFhQljnCMXX9L0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m5dcH/btszDzOR22e/tRTDzZQSkFhQljnCMXX9L0/img.png&quot; data-alt=&quot;Git Bash의 ls 명령어 입력 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m5dcH/btszDzOR22e/tRTDzZQSkFhQljnCMXX9L0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm5dcH%2FbtszDzOR22e%2FtRTDzZQSkFhQljnCMXX9L0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (5).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash의 ls 명령어 입력 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 이번에는 하위 폴더로 이동하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698934159674&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd [폴더이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상기와 명령어를 입력한 예제를 살펴보겠습니다. 일단, 사전에 만들어 놓은 폴더 예제인 Command_Exam이라는 폴더로 cd 명령어를 통해서 다음과 같이 입력하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698934219086&quot; class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ cd Command_Exam&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 나서, 상기에 보이는 최초 경로가 ~/Command_Exam으로 변경됨을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (7).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zirr1/btszGEBOvRj/m7FIqy5qAhRK9v2ouSq2tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zirr1/btszGEBOvRj/m7FIqy5qAhRK9v2ouSq2tk/img.png&quot; data-alt=&quot;Git Bash의 cd 명령어 입력 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zirr1/btszGEBOvRj/m7FIqy5qAhRK9v2ouSq2tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZirr1%2FbtszGEBOvRj%2Fm7FIqy5qAhRK9v2ouSq2tk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (7).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash의 cd 명령어 입력 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 이제 현재 폴더에서 상위폴더로 빠져 나가는 명령어를 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698934297029&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd ..&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 보이는 명령어를 통해서, 현재 폴더에서 빠져나올 수 있습니다. 그럼 처음에서와 같이 '~'로 표시가 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (8).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IUmpN/btszGRniCul/Bzl0KLq6q92zakvadKGbj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IUmpN/btszGRniCul/Bzl0KLq6q92zakvadKGbj1/img.png&quot; data-alt=&quot;Git Bash의 cd.. 명령어 입력 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IUmpN/btszGRniCul/Bzl0KLq6q92zakvadKGbj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIUmpN%2FbtszGRniCul%2FBzl0KLq6q92zakvadKGbj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (8).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash의 cd.. 명령어 입력 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 이번에는 파일을 생성하는 방법에 대해서 이야기를 해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938523833&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch [파일이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;touch 명령어를 통해서 다음과 같이 파일을 생성할 수 있습니다. 이렇게 생성한 파일은 에디터 툴을 쓰던지, 아니면 방식으로 접근하여 수정할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (9).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DPoeO/btszFYN3nPo/thNExl0spF6sNiIQoqyoM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DPoeO/btszFYN3nPo/thNExl0spF6sNiIQoqyoM1/img.png&quot; data-alt=&quot;Git Bash Touch 명령어 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DPoeO/btszFYN3nPo/thNExl0spF6sNiIQoqyoM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDPoeO%2FbtszFYN3nPo%2FthNExl0spF6sNiIQoqyoM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (9).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash Touch 명령어 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서는 touch 명령어를 통해서 파일을 하나 생성했는데, 한번의 명령어를 통해서 여러개의 파일을 한번에 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938635583&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch [파일이름1] [파일이름2] ...[파일이름n]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서 여러개의 파일을 생성할 수 있습니다. 그럼 다음 예시를 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (10).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhWiQF/btszGEhu67d/uN8knc6bNML399zmOntOP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhWiQF/btszGEhu67d/uN8knc6bNML399zmOntOP0/img.png&quot; data-alt=&quot;Git Bash Touch 명령어 예제1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhWiQF/btszGEhu67d/uN8knc6bNML399zmOntOP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhWiQF%2FbtszGEhu67d%2FuN8knc6bNML399zmOntOP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (10).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash Touch 명령어 예제1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;touch명령어를 통해서 파일을 생성하였다면, 이제는 생성한 파일을 삭제해보도록 하겠습니다. 먼저 앞서서 생성한 파일을 삭제해보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938732823&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ rm [파일 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서 파일을 삭제할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 53 (11).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cD6YSv/btszC2i8I6I/O7FWJ3l3Ce4VvlKXkodez1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cD6YSv/btszC2i8I6I/O7FWJ3l3Ce4VvlKXkodez1/img.png&quot; data-alt=&quot;Git Bash rm 명령어 예제1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cD6YSv/btszC2i8I6I/O7FWJ3l3Ce4VvlKXkodez1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcD6YSv%2FbtszC2i8I6I%2FO7FWJ3l3Ce4VvlKXkodez1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 53 (11).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash rm 명령어 예제1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;물론, 위에서와 같이 한개씩 삭제할 수도 있지만, 여러개의 파일을 한번에 삭제할 수 있습니다. 그럼 다음 명령어를 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938810123&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ rm [파일이름1] [파일이름2] ...[파일이름n]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 위의 명령어를 토대로, 다음 예시를 살펴보도록 하겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 54.png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brtuMn/btszDZmbG1w/vZHisYkoGgaGXR8LV7LSKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brtuMn/btszDZmbG1w/vZHisYkoGgaGXR8LV7LSKK/img.png&quot; data-alt=&quot;Git Bash Touch 명령어 예제2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brtuMn/btszDZmbG1w/vZHisYkoGgaGXR8LV7LSKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrtuMn%2FbtszDZmbG1w%2FvZHisYkoGgaGXR8LV7LSKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 54.png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash Touch 명령어 예제2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서와 같이 여러개의 파일을 한번에 삭제할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 이번에는 폴더를 생성하고, 삭제하는 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938874393&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ mkdir [폴더이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 통해서, 다음과 같이 폴더를 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 54 (2).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWhK2O/btszD0k7nXW/KUvcOZySsVbDVYm8Fa20v1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWhK2O/btszD0k7nXW/KUvcOZySsVbDVYm8Fa20v1/img.png&quot; data-alt=&quot;Git Bash mkdir 명령어 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWhK2O/btszD0k7nXW/KUvcOZySsVbDVYm8Fa20v1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWhK2O%2FbtszD0k7nXW%2FKUvcOZySsVbDVYm8Fa20v1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 54 (2).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash mkdir 명령어 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서의 결과를 보면, mkdir를 통해서 폴더가 생성된 것을 볼 수 있습니다. 그러면, 상위폴더에 하위 폴더에 파일을 생성할 수 있습니다. 그럼 여기에서 그 방법에 대해서 살펴보겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698939040884&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ touch [하위폴더/파일이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 방식을 사용하여, 다음과 같이 하위 폴더에 파일을 생성할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 54 (3).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sd86q/btszHSMQvkQ/WESBfiKr3vdg6Et84Wedx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sd86q/btszHSMQvkQ/WESBfiKr3vdg6Et84Wedx1/img.png&quot; data-alt=&quot;Git Bash 하위 폴더에 파일 생성하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sd86q/btszHSMQvkQ/WESBfiKr3vdg6Et84Wedx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSd86q%2FbtszHSMQvkQ%2FWESBfiKr3vdg6Et84Wedx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 54 (3).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash 하위 폴더에 파일 생성하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 이제는 폴더를 삭제하는 방법에 대해서 살펴보도록 하겠습니다. 단, 폴더를 삭제하기 위해서는 해당 폴더에 파일 또는 폴더가 존재하면 안됩니다. 위의 방법으로 파일을 삭제하면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1698938890845&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ rmdir [폴더이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 명령어를 방법으로 다음과 같이 하위 폴더로 생성한 sub_folder 부분을 삭제했습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-02 22 50 54 (4).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/da6Tb0/btszFFVfnHG/ouNTs5o20VKLi9Gu5AZQpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/da6Tb0/btszFFVfnHG/ouNTs5o20VKLi9Gu5AZQpK/img.png&quot; data-alt=&quot;Git Bash 하위 폴더 삭제하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/da6Tb0/btszFFVfnHG/ouNTs5o20VKLi9Gu5AZQpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fda6Tb0%2FbtszFFVfnHG%2FouNTs5o20VKLi9Gu5AZQpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;356&quot; data-filename=&quot;2023-11-02 22 50 54 (4).png&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Git Bash 하위 폴더 삭제하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 생성한 폴더를 삭제하였습니다. 실제 Git을 사용하면서 주로 파일을 추가하는 경우가 대다수입니다. 하지만, 경우에 따라서, 삭제하는 경우도 많기 때문에 이 부분에 대해서 검토하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;background-color: #fafbfd; color: #000000; text-align: left;&quot; href=&quot;https://appia.tistory.com/860&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698939236750&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/860&quot; data-og-url=&quot;https://appia.tistory.com/860&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cN141V/hyUnUR20ip/0rJPsbSCvQASie5JvSHI3K/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dQhvAu/hyUnQPBz7l/KRaqRkPAFgek3xVWRyU3X1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bGHo6E/hyUnJQvN4K/bAHpD3gDqk4XYKmBKYZkK0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/860&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/860&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cN141V/hyUnUR20ip/0rJPsbSCvQASie5JvSHI3K/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/dQhvAu/hyUnQPBz7l/KRaqRkPAFgek3xVWRyU3X1/img.png?width=800&amp;amp;height=799&amp;amp;face=0_0_800_799,https://scrap.kakaocdn.net/dn/bGHo6E/hyUnJQvN4K/bAHpD3gDqk4XYKmBKYZkK0/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기 앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 [깃, Git] 깃(Git) Bash 기본명령어(폴더 생성 삭제, 파일 생성 삭제)라는 주제로 포스팅을 해봤습니다. 물론, 이 명령어를 기반으로 모든것을 다 처리할 수는 없지만, 기본적인 활동하는데에 충분할 것으로 보입니다. 향후에 지속적으로 작업을 하면서 필요로 하는 명령어에 대해서는 언급을 하도록 하겠습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Development/GIT</category>
      <category>git</category>
      <category>git명령어</category>
      <category>LS</category>
      <category>mkdir</category>
      <category>RM</category>
      <category>Rmdir</category>
      <category>Touch</category>
      <category>깃</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/861</guid>
      <comments>https://appia.tistory.com/861#entry861comment</comments>
      <pubDate>Fri, 3 Nov 2023 07:35:37 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기</title>
      <link>https://appia.tistory.com/860</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[윈도우10/11&amp;nbsp;Windows10/11]&amp;nbsp;무료&amp;nbsp;깃(Git)&amp;nbsp;GUI&amp;nbsp;프로그램&amp;nbsp;소스트리(Source&amp;nbsp;Tree)&amp;nbsp;다운로드&amp;nbsp;및&amp;nbsp;설치하기&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 02.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cb0GDx/btszzGHmeud/TE3lRwX41ukOcXCGw4CkjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cb0GDx/btszzGHmeud/TE3lRwX41ukOcXCGw4CkjK/img.png&quot; data-alt=&quot;[윈도우10/11&amp;amp;nbsp;Windows10/11]&amp;amp;nbsp;무료&amp;amp;nbsp;깃(Git)&amp;amp;nbsp;GUI&amp;amp;nbsp;프로그램&amp;amp;nbsp;소스트리(Source&amp;amp;nbsp;Tree)&amp;amp;nbsp;다운로드&amp;amp;nbsp;및&amp;amp;nbsp;설치하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cb0GDx/btszzGHmeud/TE3lRwX41ukOcXCGw4CkjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcb0GDx%2FbtszzGHmeud%2FTE3lRwX41ukOcXCGw4CkjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;799&quot; data-filename=&quot;2023-11-01 22 58 02.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;799&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[윈도우10/11&amp;nbsp;Windows10/11]&amp;nbsp;무료&amp;nbsp;깃(Git)&amp;nbsp;GUI&amp;nbsp;프로그램&amp;nbsp;소스트리(Source&amp;nbsp;Tree)&amp;nbsp;다운로드&amp;nbsp;및&amp;nbsp;설치하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞선 포스팅에서는 GIT을 설치하는 것에 대해서 포스팅을 해봤습니다. 실제로, Git을 사용하는데에 있어서, Bash 콘솔을 이용하여 컨맨드를 사용하는 경우도 많지만, 실제로는 이 부분에 대해서 GUI 프로그램을 이용하여 사용합니다. 그래서 이번 포스팅에서는 무료 Git GUI프로그램인 소스트리(Source Tree)을 설치하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://appia.tistory.com/859&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;figure id=&quot;og_1698847241159&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&quot; data-og-description=&quot;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/859&quot; data-og-url=&quot;https://appia.tistory.com/859&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cIhuHn/hyUnXtZJrl/Nli8F7JTAeNHG78nvq5pSk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/TR8j1/hyUnMzfhJR/BP8RDyXEhcRjPHCbB5aFL0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dZZX9E/hyUnNkBshO/APZQWwoQPKGvFiNcLDKP00/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/859&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/859&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cIhuHn/hyUnXtZJrl/Nli8F7JTAeNHG78nvq5pSk/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/TR8j1/hyUnMzfhJR/BP8RDyXEhcRjPHCbB5aFL0/img.png?width=800&amp;amp;height=798&amp;amp;face=0_0_800_798,https://scrap.kakaocdn.net/dn/dZZX9E/hyUnNkBshO/APZQWwoQPKGvFiNcLDKP00/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기 버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 소스트리(Source Tree) 를 다운로드 하기 위해서는 다음 링크에 있는 사이트로 이동해주셔야 합니다. 다음의 있는 링크를 클릭하셔서, 해당 다운로드 사이트로 이동해주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.sourcetreeapp.com/&quot;&gt;Sourcetree | Free Git GUI for Mac and Windows (sourcetreeapp.com)&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698847359096&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Sourcetree | Free Git GUI for Mac and Windows&quot; data-og-description=&quot;A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.&quot; data-og-host=&quot;www.sourcetreeapp.com&quot; data-og-source-url=&quot;https://www.sourcetreeapp.com/&quot; data-og-url=&quot;https://www.sourcetreeapp.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bsS2h9/hyUnNZdKMs/qYrvE5Ux1OeKL7924MzpK1/img.png?width=115&amp;amp;height=144&amp;amp;face=0_0_115_144,https://scrap.kakaocdn.net/dn/kUANE/hyUnW9FFG4/sLO5mWA7Vm5kfhROdflJT0/img.png?width=1200&amp;amp;height=800&amp;amp;face=0_0_1200_800&quot;&gt;&lt;a href=&quot;https://www.sourcetreeapp.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.sourcetreeapp.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bsS2h9/hyUnNZdKMs/qYrvE5Ux1OeKL7924MzpK1/img.png?width=115&amp;amp;height=144&amp;amp;face=0_0_115_144,https://scrap.kakaocdn.net/dn/kUANE/hyUnW9FFG4/sLO5mWA7Vm5kfhROdflJT0/img.png?width=1200&amp;amp;height=800&amp;amp;face=0_0_1200_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Sourcetree | Free Git GUI for Mac and Windows&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.sourcetreeapp.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 링크에 있는 부분을 클릭하시면 다음과 같은 화면이 나타날 것입니다. 여기에서, 상단 우측에 있는 &lt;b&gt;[Download free]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 02 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eExjbP/btszCK9C49Z/mq8Vdg5MqK3A44tHmckNjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eExjbP/btszCK9C49Z/mq8Vdg5MqK3A44tHmckNjk/img.png&quot; data-alt=&quot;소스트리(Source Tree) 홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eExjbP/btszCK9C49Z/mq8Vdg5MqK3A44tHmckNjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeExjbP%2FbtszCK9C49Z%2Fmq8Vdg5MqK3A44tHmckNjk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-11-01 22 58 02 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상기 부분을 클릭하시면 다음과 같은 팝업 창이 나타납니다. 여기에서, 빨간색 부분에 있는 라이센스 동의 부분을 선택하시면, [&lt;b&gt;Download]&lt;/b&gt;부분이 활성화 될것입니다. 이 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 02 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R7612/btszDzNwjzs/16PACY3u3T92of4QGKKl6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R7612/btszDzNwjzs/16PACY3u3T92of4QGKKl6k/img.png&quot; data-alt=&quot;소스트리(Source Tree) 다운로드 화면 - 라이센스 동의&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R7612/btszDzNwjzs/16PACY3u3T92of4QGKKl6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR7612%2FbtszDzNwjzs%2F16PACY3u3T92of4QGKKl6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-11-01 22 58 02 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 다운로드 화면 - 라이센스 동의&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그러면, 다운로드가 시작될 것입니다. 다운로드가 완료되면, 해당 소스트리(Source Tree) 설치 파일을 클릭하여 실행해 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 02 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;863&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW2ht6/btszCriaZES/h5ZL7ZoqxITz2XJYFeWpR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW2ht6/btszCriaZES/h5ZL7ZoqxITz2XJYFeWpR0/img.png&quot; data-alt=&quot;소스트리(Source Tree) 다운로드 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW2ht6/btszCriaZES/h5ZL7ZoqxITz2XJYFeWpR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW2ht6%2FbtszCriaZES%2Fh5ZL7ZoqxITz2XJYFeWpR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;863&quot; data-filename=&quot;2023-11-01 22 58 02 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;863&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 다운로드 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;처음 소스트리(Source Tree) 설치를 시작하시면 다음과 같이&amp;nbsp; Bitbucket 또는 Bitbutcket Server에 대해서 가입 또는 로그인이 필요로 합니다. (실제로는 없이 진행가능하나, 이 부분을 진행하는 것을 권장합니다.) 여기에서 BitBucket 부분을 클릭하여 해당 부분을 가입하여 주시길 바랍니다. ( 1~5명까지는 무료입니다. )&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 02 (5).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k6aay/btszCmBpwjc/kHfC5x9g8dJ1LkqKiNmga0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k6aay/btszCmBpwjc/kHfC5x9g8dJ1LkqKiNmga0/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; Bitbucket / Bitbucket Server 선택화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k6aay/btszCmBpwjc/kHfC5x9g8dJ1LkqKiNmga0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk6aay%2FbtszCmBpwjc%2FkHfC5x9g8dJ1LkqKiNmga0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;440&quot; data-filename=&quot;2023-11-01 22 58 02 (5).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; Bitbucket / Bitbucket Server 선택화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 Bitbucket을 클릭하시면 다음과 같은 화면이 나타납니다. 최초에는 메일등을 선택하는 부분이 나옵니다. 원하시는 부분을 선택하셔도 되고, 아니면 등록된 이메일을 입력하여 진행하셔도 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OJbaM/btszzG1Ibno/nBdGDBk7bUJBtAePq0CWok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OJbaM/btszzG1Ibno/nBdGDBk7bUJBtAePq0CWok/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; Bitbucket 가입화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OJbaM/btszzG1Ibno/nBdGDBk7bUJBtAePq0CWok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOJbaM%2FbtszzG1Ibno%2FnBdGDBk7bUJBtAePq0CWok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1039&quot; data-filename=&quot;2023-11-01 22 58 03.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; Bitbucket 가입화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 선택하시면 다음과 같은 화면이 나타납니다. 여기에서, Username 부분을 입력하여 주시고, &lt;b&gt;[Continue]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AMhsQ/btszy4hszUL/H4E9E2WUN8ZBgwz01cxgi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AMhsQ/btszy4hszUL/H4E9E2WUN8ZBgwz01cxgi0/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; Bitbucket 가입화면, 사용자 이름 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AMhsQ/btszy4hszUL/H4E9E2WUN8ZBgwz01cxgi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAMhsQ%2Fbtszy4hszUL%2FH4E9E2WUN8ZBgwz01cxgi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1039&quot; data-filename=&quot;2023-11-01 22 58 03 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; Bitbucket 가입화면, 사용자 이름 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가입하기 위해서, 필요로 하는 정보를 입력하여 주시면 됩니다. 저의 경우, 상기 2가지 문의에만 대답을 입력한 후에 &lt;b&gt;[Submit]&lt;/b&gt;부분을 클릭하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QzVjK/btszAn1WkRu/enTRtjZpRG3LO9QKwiOHm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QzVjK/btszAn1WkRu/enTRtjZpRG3LO9QKwiOHm1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; Bitbucket 가입화면, 정보 입력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QzVjK/btszAn1WkRu/enTRtjZpRG3LO9QKwiOHm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQzVjK%2FbtszAn1WkRu%2FenTRtjZpRG3LO9QKwiOHm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1039&quot; data-filename=&quot;2023-11-01 22 58 03 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; Bitbucket 가입화면, 정보 입력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정까지 진행하셨다면, 다음과 같은 화면이 나타날 것입니다. 여기에서, 하단 부분에 &lt;b&gt;[Grant access]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diSfe9/btszDDbjGGR/tPRwnlRCtUGDWcqEfKYDd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diSfe9/btszDDbjGGR/tPRwnlRCtUGDWcqEfKYDd1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; Bitbucket 가입화면, 정보 입력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diSfe9/btszDDbjGGR/tPRwnlRCtUGDWcqEfKYDd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiSfe9%2FbtszDDbjGGR%2FtPRwnlRCtUGDWcqEfKYDd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1039&quot; data-filename=&quot;2023-11-01 22 58 03 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1039&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; Bitbucket 가입화면, 정보 입력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정까지 진행하셨다면, 다음과 같이 등록이 완료되었다는 것을 확인할 수 있습니다. 여기에서&lt;b&gt; &lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (5).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdEaZK/btszDR8hJO2/5EmrU2AA9RZlUbVmKKjrik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdEaZK/btszDR8hJO2/5EmrU2AA9RZlUbVmKKjrik/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 - Bitbucket 등록 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdEaZK/btszDR8hJO2/5EmrU2AA9RZlUbVmKKjrik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdEaZK%2FbtszDR8hJO2%2F5EmrU2AA9RZlUbVmKKjrik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;440&quot; data-filename=&quot;2023-11-01 22 58 03 (5).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 - Bitbucket 등록 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그런 후에, 현재 연결할 수 있는 버전 관리 시스템(VCS)에 대해서 표시를 합니다. 그리고, 소스트리(Source Tree)를 사용하기 위한 필요로 하는 툴에 대해서 같이 다운로드하여 설치할 수 있도록 합니다. 그런후에 &lt;b&gt;[다음]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (6).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z66J5/btszySH6sZZ/xFRHcdPYwczGsKNHkvZyS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z66J5/btszySH6sZZ/xFRHcdPYwczGsKNHkvZyS1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; GIT / Mercurial 설치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z66J5/btszySH6sZZ/xFRHcdPYwczGsKNHkvZyS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ66J5%2FbtszySH6sZZ%2FxFRHcdPYwczGsKNHkvZyS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;440&quot; data-filename=&quot;2023-11-01 22 58 03 (6).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; GIT / Mercurial 설치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정까지 진행하시면, 다음과 같이 &quot;Tool installation completed.&quot;라는 부분을 확인할 수 있습니다. 그 과정 후에&lt;b&gt; [다음]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (7).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3Ebbe/btszyLCrQDE/MfWlw8kuDKkQ9zjQH9JPbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3Ebbe/btszyLCrQDE/MfWlw8kuDKkQ9zjQH9JPbk/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; 연결툴 정상 설치 완료 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3Ebbe/btszyLCrQDE/MfWlw8kuDKkQ9zjQH9JPbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3Ebbe%2FbtszyLCrQDE%2FMfWlw8kuDKkQ9zjQH9JPbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;440&quot; data-filename=&quot;2023-11-01 22 58 03 (7).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; 연결툴 정상 설치 완료 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 과정까지 진행한 후에, 현재 입력한 이름과 Email에 대해서 나타냅니다. 이 부분에 대해서, 수정이 가능합니다. 크게 수정할 부분이 없다면, &lt;b&gt;[다음]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 03 (8).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6JCUX/btszC0j7B0o/03LegWdEK68VFuvkyk4Xy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6JCUX/btszC0j7B0o/03LegWdEK68VFuvkyk4Xy1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; 이름 / 이메일 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6JCUX/btszC0j7B0o/03LegWdEK68VFuvkyk4Xy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6JCUX%2FbtszC0j7B0o%2F03LegWdEK68VFuvkyk4Xy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;440&quot; data-filename=&quot;2023-11-01 22 58 03 (8).png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; 이름 / 이메일 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 과정까지 진행하시면 다음과 같이 SSH 키를 불러올 것인가에 대해서 명시합니다. 현재는 이 부분에 대해서 향후에 수정이 가능함으로, 현단계에서는 [아니오]부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 04.png&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6MMR4/btszzDjAPUC/aNRYHENg2IJq5U5eiAnhK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6MMR4/btszzDjAPUC/aNRYHENg2IJq5U5eiAnhK1/img.png&quot; data-alt=&quot;소스트리(Source Tree) 설치 화면 -&amp;amp;amp;nbsp; SSH 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6MMR4/btszzDjAPUC/aNRYHENg2IJq5U5eiAnhK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6MMR4%2FbtszzDjAPUC%2FaNRYHENg2IJq5U5eiAnhK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;451&quot; height=&quot;138&quot; data-filename=&quot;2023-11-01 22 58 04.png&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 설치 화면 -&amp;amp;nbsp; SSH 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 과정까지 진행하셔다면, 다음과 같이&lt;span style=&quot;text-align: center;&quot;&gt; 소스트리(Source Tree)가 정상적으로 동작하는 것을 알 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-11-01 22 58 04 (2).png&quot; data-origin-width=&quot;1201&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fi4T7/btszCH58cQg/93u9BOGoKwRs6AKhKrvgFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fi4T7/btszCH58cQg/93u9BOGoKwRs6AKhKrvgFK/img.png&quot; data-alt=&quot;소스트리(Source Tree) 정상 동작화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fi4T7/btszCH58cQg/93u9BOGoKwRs6AKhKrvgFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFi4T7%2FbtszCH58cQg%2F93u9BOGoKwRs6AKhKrvgFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1201&quot; height=&quot;800&quot; data-filename=&quot;2023-11-01 22 58 04 (2).png&quot; data-origin-width=&quot;1201&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;소스트리(Source Tree) 정상 동작화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이와 같은 방법으로 &lt;span style=&quot;text-align: center;&quot;&gt;소스트리(Source Tree)에 대해서 설치를 진행해하였습니다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/719&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698848936134&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&quot; data-og-description=&quot;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/719&quot; data-og-url=&quot;https://appia.tistory.com/719&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/yMjV7/hyUnNEVmKa/a9i9DeHDEa4VXkiG38i0Y1/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/QT4sz/hyUnXgtMIl/Y6R9xfEubgpcVBg9oJO2mk/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/hVDxP/hyUnLmMRLS/FcikffPMuB7BbwtnFbjqUK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/719&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/719&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/yMjV7/hyUnNEVmKa/a9i9DeHDEa4VXkiG38i0Y1/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/QT4sz/hyUnXgtMIl/Y6R9xfEubgpcVBg9oJO2mk/img.png?width=781&amp;amp;height=781&amp;amp;face=0_0_781_781,https://scrap.kakaocdn.net/dn/hVDxP/hyUnLmMRLS/FcikffPMuB7BbwtnFbjqUK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10 Windows10] Git Client Fork 다운로드 받고 설치하기 이번 포스팅은 GIT을 사용하는 사람들을 위해서 GIT Client인 Fork을 다운로드 받고 설치하는 방법에 대해서 포스팅을 해보고자 합니다. 실제 S&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;이번 포스팅에서는 [윈도우10/11 Windows10/11] 무료 깃(Git) GUI 프로그램 소스트리(Source Tree) 다운로드 및 설치하기라는 부분에 대해서 포스팅을 해봤습니다. 실제 이 부분을 토대로, 깃(Git) GUI을 사용하는 방법등에 대해서 살펴볼 예정입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>FreeGUI</category>
      <category>git</category>
      <category>gitGUI</category>
      <category>sourcetree</category>
      <category>깃</category>
      <category>소스트리</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/860</guid>
      <comments>https://appia.tistory.com/860#entry860comment</comments>
      <pubDate>Thu, 2 Nov 2023 07:29:38 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기</title>
      <link>https://appia.tistory.com/859</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[윈도우11&amp;nbsp;Windows11]&amp;nbsp;깃(Git)&amp;nbsp;다운로드&amp;nbsp;및&amp;nbsp;설치하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNVLD0/btszlJ4iJJO/6XLUizXWJiohfDy4Af5fd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNVLD0/btszlJ4iJJO/6XLUizXWJiohfDy4Af5fd0/img.png&quot; data-alt=&quot;[윈도우11&amp;amp;nbsp;Windows11]&amp;amp;nbsp;깃(Git)&amp;amp;nbsp;다운로드&amp;amp;nbsp;및&amp;amp;nbsp;설치하기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNVLD0/btszlJ4iJJO/6XLUizXWJiohfDy4Af5fd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNVLD0%2FbtszlJ4iJJO%2F6XLUizXWJiohfDy4Af5fd0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;798&quot; data-filename=&quot;2023-10-29 00 21 47.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[윈도우11&amp;nbsp;Windows11]&amp;nbsp;깃(Git)&amp;nbsp;다운로드&amp;nbsp;및&amp;nbsp;설치하기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전 관리 시스템에서 현재 가장 인기 있는 시스템을 찾아본다면 당연히 깃(GIT)일것입니다. 물론, 저 또한 최근 몇년 사이에 SVN에서 GIT으로 변경을 하게 되었답니다. 그래서 이번 블로그 포스팅에서는 GIT을 다운로드 받고 설치하는 방법에 대해서 이야기를 해보고자 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 다운로드를 받기 위해서는 하기 링크를 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1698506995677&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bUJ0yI/hyUnTc0cLW/wYpkrKqsmMkFusg50IsM3k/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bUJ0yI/hyUnTc0cLW/wYpkrKqsmMkFusg50IsM3k/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상기에 있는 링크를 클릭하신다면, 다음과 같은 화면이 나타날것 입니다. 여기에서, 빨간색 상자에 있는 Download for windows 부분을 클릭하여 주시길 바랍니다. (물론, 윈도우 아닐 경우에 해당 부분에 맞춰서 다운로드 환경이 나타날 것입니다.)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbGXxh/btszi4onT36/w1whCmCmO1XqGg7kDPR2Y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbGXxh/btszi4onT36/w1whCmCmO1XqGg7kDPR2Y1/img.png&quot; data-alt=&quot;GIT 홈페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbGXxh/btszi4onT36/w1whCmCmO1XqGg7kDPR2Y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbGXxh%2Fbtszi4onT36%2Fw1whCmCmO1XqGg7kDPR2Y1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-10-29 00 21 47 (2).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 홈페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 과정에서, Download 부분을 클릭하셨다면, 다음과 같은 윈도우(Windows)에 맞춰서 제공하는 설치 및 portable 버전에 대해서 다운로드 할 수 있게 나타날 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOLvKN/btszojcUdat/m2KQtpY0K7t2WXvg2CqbLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOLvKN/btszojcUdat/m2KQtpY0K7t2WXvg2CqbLK/img.png&quot; data-alt=&quot;GIT 다운로드 홈페이지 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOLvKN/btszojcUdat/m2KQtpY0K7t2WXvg2CqbLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOLvKN%2FbtszojcUdat%2Fm2KQtpY0K7t2WXvg2CqbLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-10-29 00 21 47 (3).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 다운로드 홈페이지 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 과정을 통해서 원하는 운영체제의 bit를 확인하여 다운로드를 완료하면, 다음과 같이 완료됨을 확인할 수 있고, 이 파일을 실행하여 설치를 진행하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rX4ra/btsznCXWiDT/KUBPxk3Y6SBevxCuADauS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rX4ra/btsznCXWiDT/KUBPxk3Y6SBevxCuADauS0/img.png&quot; data-alt=&quot;GIT 다운로드 완료화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rX4ra/btsznCXWiDT/KUBPxk3Y6SBevxCuADauS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrX4ra%2FbtsznCXWiDT%2FKUBPxk3Y6SBevxCuADauS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1040&quot; data-filename=&quot;2023-10-29 00 21 47 (4).png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 다운로드 완료화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드를 완료하고, 처음 실행하면 다음과 같은 다이얼로그가 나타난 것을 알 수 있습니다. 여기에서는 라이센스관련된 정보를 나타내고 있습니아. 다이얼로그에서 보는 바와 같이 이 부분은 무료입니다. 따라서, &lt;b&gt;[Next]&lt;/b&gt;버튼을 클릭해주시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (5).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnXcyB/btszlnf3MQP/wM9sK7oyuz7w2Xe27XH2G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnXcyB/btszlnf3MQP/wM9sK7oyuz7w2Xe27XH2G0/img.png&quot; data-alt=&quot;GIT 설치 화면 - 라이센스 관련 정보&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnXcyB/btszlnf3MQP/wM9sK7oyuz7w2Xe27XH2G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnXcyB%2Fbtszlnf3MQP%2FwM9sK7oyuz7w2Xe27XH2G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 47 (5).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 라이센스 관련 정보&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 후에 현재 GIT이 설치된 경로를 설정해 주시면 됩니다. 저의 경우에는 별다른 설정없이 기본 설정으로 설치하는데, 원하시는 폴더 경로가 있으실 경우 해당 부분에 대해서 변경하실 수 있습니다. 만약 변경하실 분들은 파란색 선택된 부분을 변경하시거나, &lt;b&gt;[Browse...]&lt;/b&gt;부분을 클릭하신 후에 원하시는 경로를 선택할 수 있습니다. 그런 후에 &lt;b&gt;[Next]&lt;/b&gt; 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (6).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pc8Pj/btszlJwqFlL/7BMo1BrAXr7ak4DJnlySOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pc8Pj/btszlJwqFlL/7BMo1BrAXr7ak4DJnlySOk/img.png&quot; data-alt=&quot;GIT 설치 화면 - 폴더 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pc8Pj/btszlJwqFlL/7BMo1BrAXr7ak4DJnlySOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpc8Pj%2FbtszlJwqFlL%2F7BMo1BrAXr7ak4DJnlySOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 47 (6).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 폴더 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, GIT 설치시에 각 구성 요소에 대해서 선택할 수 있습니다. 실제 처음 접근 하시는 분들은 이 부분에서 그냥 &lt;b&gt;[Next]&lt;/b&gt;부분을 클릭하셔도 무방합니다. 하지만, 원하시는 부분에 대해서는 각 부분을 검토해보시고, 선택 또는 선택해제 하셔서, &lt;b&gt;[Next]&lt;/b&gt;버튼을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 47 (7).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctgiVe/btszjtVVWvO/AkJ5OLB3LPVxoGtXhO2ByK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctgiVe/btszjtVVWvO/AkJ5OLB3LPVxoGtXhO2ByK/img.png&quot; data-alt=&quot;GIT 설치 화면 - 구성 요소 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctgiVe/btszjtVVWvO/AkJ5OLB3LPVxoGtXhO2ByK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctgiVe%2FbtszjtVVWvO%2FAkJ5OLB3LPVxoGtXhO2ByK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 47 (7).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 구성 요소 확인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나면, 현재 윈도우 시작 메뉴에서 표시될 이름에 대해서 선택할 수 있습니다. 저의 경우 별다른 취향이 없어서 그냥 기본 설정을 유지합니다. 하지만, 경우에 따라서 해당 버전명을 같이 표기하는 분들도 살펴볼 수 있습니다. 원하시는 이름을 기재 하신 후에 &lt;b&gt;[Next]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NJkds/btsziPkEYRi/GxvKurnyv1D4pwq1QZ5U0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NJkds/btsziPkEYRi/GxvKurnyv1D4pwq1QZ5U0k/img.png&quot; data-alt=&quot;GIT 설치 화면 - 메뉴 표시 이름 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NJkds/btsziPkEYRi/GxvKurnyv1D4pwq1QZ5U0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNJkds%2FbtsziPkEYRi%2FGxvKurnyv1D4pwq1QZ5U0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 메뉴 표시 이름 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, 이 부분이 가장 중요합니다. Git에서 기본으로 사용할 editor 파일을 설정해주셔야 합니다. vim이 기본 설정이나, 대부분 개발자 분들은 익숙하지 않기 때문에 저의 경우에는 &lt;b&gt;Visual Studio Code&lt;/b&gt;로 변경하여 설치를 진행할 것입니다. 만약 Visual Studio Code가 없을 경우에는 하기에 있는 링크를 이용하여 설치해주시길 바랍니다. 여기에서도 원하시는 에디터 프로그램을 선택하신 후에&lt;b&gt; [Next]&lt;/b&gt; 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bE998Y/btszj6THCRP/ecC1gbO7nlHUCgcx3c6Eo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bE998Y/btszj6THCRP/ecC1gbO7nlHUCgcx3c6Eo0/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (2).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bE998Y/btszj6THCRP/ecC1gbO7nlHUCgcx3c6Eo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbE998Y%2Fbtszj6THCRP%2FecC1gbO7nlHUCgcx3c6Eo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MyzIC/btszkTGj15e/aKfAluXHPEmPkg6Z9wt0y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MyzIC/btszkTGj15e/aKfAluXHPEmPkg6Z9wt0y0/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (3).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MyzIC/btszkTGj15e/aKfAluXHPEmPkg6Z9wt0y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMyzIC%2FbtszkTGj15e%2FaKfAluXHPEmPkg6Z9wt0y0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;GIT 설치 화면 - 에디터 설정(좌 - 기본 , 우 - Visual Code로 변경)&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #fafbfd; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/303&quot;&gt;[초보HTML배우기 00]HTML / CSS 환경설정 - Visual Studio Code 설치&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698747887066&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[초보HTML배우기 00]HTML / CSS 환경설정 - Visual Studio Code 설치&quot; data-og-description=&quot;[초보HTML배우기00]HTML / CSS 환경설정 - Visual Studio Code 설치 최근 크롤러 스터디를 준비하는 과정 중에 몇가지 선수 지식이 요구된다는 것을 인지하였습니다. 그중 가장 먼저 필요로 하는 것이 HTML&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/303&quot; data-og-url=&quot;https://appia.tistory.com/303&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/9oSbg/hyUlvkR57J/wozL99JdVkDxHR7P1AUIyK/img.png?width=800&amp;amp;height=650&amp;amp;face=0_0_800_650,https://scrap.kakaocdn.net/dn/vsc1j/hyUnOJ6VBB/7rkuq9RYiaKq8pH0q0X8S0/img.png?width=800&amp;amp;height=650&amp;amp;face=0_0_800_650,https://scrap.kakaocdn.net/dn/pMoLH/hyUnO4p2y0/eVtGDUJcmZMweuHso0fAEK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/303&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/303&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/9oSbg/hyUlvkR57J/wozL99JdVkDxHR7P1AUIyK/img.png?width=800&amp;amp;height=650&amp;amp;face=0_0_800_650,https://scrap.kakaocdn.net/dn/vsc1j/hyUnOJ6VBB/7rkuq9RYiaKq8pH0q0X8S0/img.png?width=800&amp;amp;height=650&amp;amp;face=0_0_800_650,https://scrap.kakaocdn.net/dn/pMoLH/hyUnO4p2y0/eVtGDUJcmZMweuHso0fAEK/img.png?width=1280&amp;amp;height=1040&amp;amp;face=0_0_1280_1040');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[초보HTML배우기 00]HTML / CSS 환경설정 - Visual Studio Code 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[초보HTML배우기00]HTML / CSS 환경설정 - Visual Studio Code 설치 최근 크롤러 스터디를 준비하는 과정 중에 몇가지 선수 지식이 요구된다는 것을 인지하였습니다. 그중 가장 먼저 필요로 하는 것이 HTML&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서, 기본으로 설정할 Repository의 초기 브랜치(Branch)이름에 대해서 선택할 수 있습니다. 실제 이 부분에 대해서 여기에서 설정하지 않더라도, 별도로 선택이 가능합니다. 따라서, 이 부분에 대해서는 &lt;b&gt;[Next]&lt;/b&gt;부분으로 넘어가도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (4).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCbuR7/btszloeYWDY/lgZVRL9SliDkvy2CN0guy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCbuR7/btszloeYWDY/lgZVRL9SliDkvy2CN0guy0/img.png&quot; data-alt=&quot;GIT 설치 화면 - 초기 브랜치 이름 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCbuR7/btszloeYWDY/lgZVRL9SliDkvy2CN0guy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCbuR7%2FbtszloeYWDY%2FlgZVRL9SliDkvy2CN0guy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (4).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 초기 브랜치 이름 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, 환경 변수에 대해서 설정할 수 있는 탭이 나옵니다. 가운대 부분을 선택하신다면, Git의 Cmd에 대해서 환경 변수에 추가 합니다. 이 부분을 통해서 Git Bash에 대한 접근을 용이하게 해줍니다. 각 항목에 대해서 읽어보시고, 원하는 부분을 설정할 수 있으나, 추천옵션을 사용할 것을 권장합니다. 그런 후에 &lt;b&gt;[Next]&lt;/b&gt;부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (5).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYb2wZ/btszkCkoqkH/pXz2i6g2Ke8HqHaMmBnLz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYb2wZ/btszkCkoqkH/pXz2i6g2Ke8HqHaMmBnLz1/img.png&quot; data-alt=&quot;GIT 설치 화면 - 환경 변수 ,&amp;amp;amp;nbsp; Path 입력여부&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYb2wZ/btszkCkoqkH/pXz2i6g2Ke8HqHaMmBnLz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYb2wZ%2FbtszkCkoqkH%2FpXz2i6g2Ke8HqHaMmBnLz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (5).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 환경 변수 ,&amp;amp;nbsp; Path 입력여부&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;그리고 나서, SSH와 SSL에 대해서 설정할 수 있습니다. 실제 이 부분에 대해서는 기본 설정을 그대로 유지하면 됩니다. 따라서 이 부분에 대해서 &lt;b&gt;[Next]&lt;/b&gt; 버튼을 클릭하여 다음 단계로 넘어가 주시면 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tHx17/btszk3oqgOp/lVzlekOhMIuFb7skkFonq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tHx17/btszk3oqgOp/lVzlekOhMIuFb7skkFonq0/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (6).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tHx17/btszk3oqgOp/lVzlekOhMIuFb7skkFonq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtHx17%2Fbtszk3oqgOp%2FlVzlekOhMIuFb7skkFonq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXG31K/btszkSABBWc/gnrJzkpARqz2MCLVDWlO2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXG31K/btszkSABBWc/gnrJzkpARqz2MCLVDWlO2k/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (7).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXG31K/btszkSABBWc/gnrJzkpARqz2MCLVDWlO2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXG31K%2FbtszkSABBWc%2FgnrJzkpARqz2MCLVDWlO2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;GIT 설치 화면 - SSH(좌), SSL(우) 부분에 대해서 설정&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 단계는 Checkout / Commit 스타일에 대해서 설정하는 것입니다. 이 부분 또한 기본 설정을 유지하고, &lt;b&gt;[Next]&lt;/b&gt; 부분을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (8).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGunip/btsziQqotLj/9k0fkUnXGGYNmOXJs1EcSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGunip/btsziQqotLj/9k0fkUnXGGYNmOXJs1EcSk/img.png&quot; data-alt=&quot;GIT 설치 화면 - 에디터 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGunip/btsziQqotLj/9k0fkUnXGGYNmOXJs1EcSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGunip%2FbtsziQqotLj%2F9k0fkUnXGGYNmOXJs1EcSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (8).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - 에디터 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 Git Bash에서 사용하는 터미널 프로그램을 설정하는 것입니다. 기본적으로 MinTTY을 제공하나, 윈도우에서 제공하는 Command Console을 선택할 수 있습니다. 저의 경우 MinTTY가 선택한 후 &lt;b&gt;[Next]&lt;/b&gt; 버튼을 클릭하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (9).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lpisI/btszlolKFSO/T3TRF4V44PFOxpcdMnJYvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lpisI/btszlolKFSO/T3TRF4V44PFOxpcdMnJYvK/img.png&quot; data-alt=&quot;GIT 설치 화면 - GIT Bash 터미널 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lpisI/btszlolKFSO/T3TRF4V44PFOxpcdMnJYvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlpisI%2FbtszlolKFSO%2FT3TRF4V44PFOxpcdMnJYvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (9).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - GIT Bash 터미널 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git Pull에 대한 기본 동작에 대해서 설정할 수 있습니다. 이 부분에 대해서 향후 포스팅에서 각 의미에 대해서 다루어 볼 예정입니다. 따라서, 본 단계에서는 Default로 선택한 후 [Next]버튼을 클릭하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (10).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lKtiG/btszj75ZaB0/H0qoeMn6fvUoGzVTBmAEDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lKtiG/btszj75ZaB0/H0qoeMn6fvUoGzVTBmAEDk/img.png&quot; data-alt=&quot;GIT 설치 화면 - Git pull 초기 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lKtiG/btszj75ZaB0/H0qoeMn6fvUoGzVTBmAEDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlKtiG%2Fbtszj75ZaB0%2FH0qoeMn6fvUoGzVTBmAEDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (10).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면 - Git pull 초기 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이후에 Credential Helper을 선택하고 System Cache을 사용 여부를 선택하는 부분에 대해서는 그냥 &lt;b&gt;[Next]&lt;/b&gt; 부분을 이용하여 진행하여 주시길 바랍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBxWEa/btszjzVZXu5/ktA2jFKhIKpF1vLgIfGQyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBxWEa/btszjzVZXu5/ktA2jFKhIKpF1vLgIfGQyk/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (11).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBxWEa/btszjzVZXu5/ktA2jFKhIKpF1vLgIfGQyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBxWEa%2FbtszjzVZXu5%2FktA2jFKhIKpF1vLgIfGQyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oct66/btszhtILze1/JnMi9wQXw4vPk3tAIC5s51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oct66/btszhtILze1/JnMi9wQXw4vPk3tAIC5s51/img.png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (12).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oct66/btszhtILze1/JnMi9wQXw4vPk3tAIC5s51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Foct66%2FbtszhtILze1%2FJnMi9wQXw4vPk3tAIC5s51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;GIT 설치 화면 -&amp;nbsp; (좌)Credential Helper을 선택 (우)System Cache을 사용 여부를 선택 &amp;nbsp; &amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 단계까지 진행을 하였다면, 이제 드디어 설치가 진행이 될것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (13).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nQbs0/btszlXVAfzR/EedVUQyBMmkHy2Iuh0VKt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nQbs0/btszlXVAfzR/EedVUQyBMmkHy2Iuh0VKt1/img.png&quot; data-alt=&quot;GIT 설치 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nQbs0/btszlXVAfzR/EedVUQyBMmkHy2Iuh0VKt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnQbs0%2FbtszlXVAfzR%2FEedVUQyBMmkHy2Iuh0VKt1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (13).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 과정 이후에 설치가 완료되면 다음과 같은 화면이 나타날 것입니다. 여기에서&lt;b&gt; [Launch Git Bash]&lt;/b&gt;부분을 체크 해주시고, &lt;b&gt;[Finish]&lt;/b&gt;부분을 클릭하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (14).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6ldwQ/btszlXBiyEu/5uI3Ug6ksIa9bIcghUFP5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6ldwQ/btszlXBiyEu/5uI3Ug6ksIa9bIcghUFP5k/img.png&quot; data-alt=&quot;GIT 설치 완료화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6ldwQ/btszlXBiyEu/5uI3Ug6ksIa9bIcghUFP5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6ldwQ%2FbtszlXBiyEu%2F5uI3Ug6ksIa9bIcghUFP5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;392&quot; data-filename=&quot;2023-10-29 00 21 48 (14).png&quot; data-origin-width=&quot;499&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 완료화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 다음과 같은 MinTTY 터미널 창이 나타날 것입니다. 이 경우에 정상적으로 설치된것을 볼 수 있습니다. 저의 경우 &quot;git --version&quot;을 통해서 제가 설치한 버전이 맞는지 다시한번 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xpLno/btszhvs2b3G/Ojw8KBRW4ePfoxQnIcQkEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xpLno/btszhvs2b3G/Ojw8KBRW4ePfoxQnIcQkEk/img.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;2023-10-29 00 21 48 (15).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xpLno/btszhvs2b3G/Ojw8KBRW4ePfoxQnIcQkEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxpLno%2Fbtszhvs2b3G%2FOjw8KBRW4ePfoxQnIcQkEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W76D4/btszl0Y4xco/DlJrVoUKihilBMoHFjLF50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W76D4/btszl0Y4xco/DlJrVoUKihilBMoHFjLF50/img.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;370&quot; data-filename=&quot;2023-10-29 00 21 48 (16).png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W76D4/btszl0Y4xco/DlJrVoUKihilBMoHFjLF50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW76D4%2Fbtszl0Y4xco%2FDlJrVoUKihilBMoHFjLF50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;GIT 설치 완료 화면 -&amp;nbsp; Git Bash 실행화면&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, 시작메뉴에서도 git bash을 검색하여 다음과 같이 정상적으로 앱이 나타나는 것을 확인할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-10-29 00 21 48 (17).png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sP1VO/btszj8cMNN3/Au6xYsRDPZvSxVgZYK8gRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sP1VO/btszj8cMNN3/Au6xYsRDPZvSxVgZYK8gRK/img.png&quot; data-alt=&quot;GIT 설치 완료 화면 -&amp;amp;amp;nbsp; Git Bash 검색화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sP1VO/btszj8cMNN3/Au6xYsRDPZvSxVgZYK8gRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsP1VO%2Fbtszj8cMNN3%2FAu6xYsRDPZvSxVgZYK8gRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;784&quot; height=&quot;680&quot; data-filename=&quot;2023-10-29 00 21 48 (17).png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;680&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;GIT 설치 완료 화면 -&amp;amp;nbsp; Git Bash 검색화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 과정으로 Git을 설치할 수 있습니다. 생각보다 많은 과정이 필요로 하나, 에디터 설정하는 부분만 신경쓰셔서 설치하셔도 무방합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot; href=&quot;https://appia.tistory.com/391&quot;&gt;[윈도우10, windows10] Github가 안될 때, 오픈 소스 프리웨어 프로그램 다운로드 할 수 있는 사이트 - Fossies&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1698749434925&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[윈도우10, windows10] Github가 안될 때, 오픈 소스 프리웨어 프로그램 다운로드 할 수 있는 사이트 - F&quot; data-og-description=&quot;[윈도우10, windows10] Github가 안될 때, 프리웨어 프로그램 다운로드 할 수 있는 사이트 회사에서 오픈 소스 프로그램등을 다운로드 받을 때, Github와 연결된 곳에서 다운로드를 많이 받게 됩니다. 종&quot; data-og-host=&quot;appia.tistory.com&quot; data-og-source-url=&quot;https://appia.tistory.com/391&quot; data-og-url=&quot;https://appia.tistory.com/391&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/232AZ/hyUnQ2dzmf/kDxuRCoLYZdb06OEr1k991/img.png?width=800&amp;amp;height=649&amp;amp;face=0_0_800_649,https://scrap.kakaocdn.net/dn/bwuTt8/hyUnJaYB30/waIKg7oc7qptpkJhn9De7k/img.png?width=800&amp;amp;height=649&amp;amp;face=0_0_800_649,https://scrap.kakaocdn.net/dn/4vZBw/hyUnQBbOmI/Idhhn9i3dJSwZuDo5P7Qd0/img.png?width=1273&amp;amp;height=1033&amp;amp;face=0_0_1273_1033&quot;&gt;&lt;a href=&quot;https://appia.tistory.com/391&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://appia.tistory.com/391&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/232AZ/hyUnQ2dzmf/kDxuRCoLYZdb06OEr1k991/img.png?width=800&amp;amp;height=649&amp;amp;face=0_0_800_649,https://scrap.kakaocdn.net/dn/bwuTt8/hyUnJaYB30/waIKg7oc7qptpkJhn9De7k/img.png?width=800&amp;amp;height=649&amp;amp;face=0_0_800_649,https://scrap.kakaocdn.net/dn/4vZBw/hyUnQBbOmI/Idhhn9i3dJSwZuDo5P7Qd0/img.png?width=1273&amp;amp;height=1033&amp;amp;face=0_0_1273_1033');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10, windows10] Github가 안될 때, 오픈 소스 프리웨어 프로그램 다운로드 할 수 있는 사이트 - F&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[윈도우10, windows10] Github가 안될 때, 프리웨어 프로그램 다운로드 할 수 있는 사이트 회사에서 오픈 소스 프로그램등을 다운로드 받을 때, Github와 연결된 곳에서 다운로드를 많이 받게 됩니다. 종&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;appia.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 포스티에서는 [윈도우11 Windows11] 깃(Git) 다운로드 및 설치하기라는 주제로 포스팅을 해봤습니다. 실제 약간의 번거로움이 있는 과정이지만, 반드시 진행해야하는 부분입니다. 다음 포스팅에서는 Git에 대해서 하나씩 하나씩 다루어볼 예정입니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT_OS_ETC../[OS]Windows10&amp;amp;11</category>
      <category>git</category>
      <category>git 설치</category>
      <category>VCS설치</category>
      <category>깃(git)</category>
      <category>윈도우</category>
      <author>Appia</author>
      <guid isPermaLink="true">https://appia.tistory.com/859</guid>
      <comments>https://appia.tistory.com/859#entry859comment</comments>
      <pubDate>Wed, 1 Nov 2023 07:20:16 +0900</pubDate>
    </item>
  </channel>
</rss>