# 파일 내용 확인
cat test.txt
# 파일 내용 변경
cat > test.txt
# 덮어쓰지 않고 기존 내용에 추가
cat >> test.txt
# 저장 : ctrl+D
cat > hello.py
print('hello world')
cat > hello.py
print('hello cat')
git commit -m 'modify 1' hello.py
git checkout -b dev
cat > hello.py
print('hello dog')
git commit -m 'modify 2' hello.py
branch별 변경 이력을 보여주는 명령어
# main branch에서 실행하면 main branch의 log를 보여줌
git log
# wait: command line으로 VSCode를 실행한 경우, VSCode 인스턴스를 닫을 때까지 command 대기
git config --global core.editor <editorname> --wait
버전 간 차이점을 조회해주는 명령어
# git configuration 파일 열기
git config --global -e
# git diff 설정 추가
[diff]
tool = vscode
[difftool "vscode"]
cmd = "code --wait --diff $LOCAL $REMOTE"
main branch hello.py : print('hello, cat')
dev branch hello.py : print('hello, dog')
# commithash 확인
git log
# branch 간 비교
git diff <branch1> <branch2>
git difftool <branch1> <branch2>
# commit 간 비교
git diff <commithash> <commithash>
git difftool <commithash> <commithash>
# 마지막 commit과 이전 commit 비교
git diff HEAD HEAD^
git difftool HEAD HEAD^
# 마지막 commit과 현재 변경사항 비교
git diff HEAD
git difftool HEAD
# local과 remote 간 비교
git diff <branch> origin/<branch2>
# 세팅
cat > hello.py
print('hello, pig')
# push
git push origin main
# commit
git commit -m 'modify 3' hello.py
# local과 remote 간 비교
git diff <branch> origin/<branch2>
>>>
--- a/hello.py
+++ b/hello.py
@@ -1 +1 @@
-print('hello, pig')
+print('hello, cat')
# git configuration 파일 열기
git config --global -e
# git merge 설정 추가
[merge]
tool = vscode
[mergetool "vscode"]
cmd = "code --wait $MERGED"
현재 위치한 branch(main)에 다른 branch(dev) 병합하기
# main branch에 위치한 상태에서
git merge dev
merge, push, pull 할 때 충돌이 일어날 수 있다.
# in main
cat > test.txt
hello, ggomi.
git branch dev3
cat > test.txt
hello, zero.
git commit -m "modify -zero" test.txt
# in dev3
cat > test.txt
hello, dev.
git commit -m "modify -dev" test.txt
# in main (main에서 dev3을 merge하려고 함)
git merge dev3
>>>
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
conflict 발생 후 merge tool을 실행하면 conflict 발생한 파일이 차례대로 열린다.
git mergetool
원하는 코드를 선택하여 수정하고 저장한다.
터미널에 돌아와서 conflict을 해제한다. (add + commit)
git add test.txt
git commit
특정 버전(commit)에 tag를 달고 싶을 때 사용한다.
예) version release - ver 1.0.0
# tag 목록 확인
git tag
# tag 상세 정보 확인
git show <tagname>
# 현재 버전에 tag 달기
git tag <tagname>
# 특정 버전에 tag 달기
git tag <tagname> <commithash>
앞선 작업은 모두 local에서 이루어진 것이다.
tag를 remote repository에 push 하려면?
git push origin <tagname>
# tag 삭제
git tag --delete <tagname>
local에서 삭제했다고 remote에서도 삭제되는 것은 아니다.
remote에서도 삭제하려면,
git push --delete origin <tagname>
github에서 제공하는 기능으로, 프로젝트에 대한 설명, 사용방법, 라이센스, 설치방법 같은 내용을 기술하는 파일이다.
프로젝트를 진행할 때도 적절히 활용해보자!
# This is H1
## This is H2
> This is a first blockquote
> * list 1
> * list 2
> > This is a second blockquote
> > > This is a third blockquote
1. first
2. second
3. third
* 1단계
* 2단계
* 3단계
+ 1단계
+ 2단계
+ 3단계
- 1단계
- 2단계
- 3단계
(* + - 혼용 가능)
<code>print('This is codeblock')</code>
<pre><code>print('This is codeblock')</code></pre>
``` print('This is codeblock') ```
* * *
***
*****
- - -
-----
- slocat: https://velog.io/@slocat/posts
- link: [slocat](https://velog.io/@slocat/posts, "slocat velog 입니다.")
* *single asterisks*
* _single underscores_
* **double asterisks**
* __double underscores__
* ~~cancleline~~
image updload: 이미지가 어딘가에 업로드 되어 있어야 함
* github 저장소 - issue- new issue
* 내용에 업로드할 이미지를 넣으면 생성되는 마크다운 링크를 copy
* <pre><code>![Alt text](/path/to/img.png)</code></pre>
* <pre><code>![Alt text](/path/to/img.png "Optional title")</code></pre>