<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Space Shift !</title>
    <link>https://rayfeels.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Apr 2026 17:33:11 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>레이필</managingEditor>
    <item>
      <title>Git</title>
      <link>https://rayfeels.tistory.com/384</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;git 커맨드는&lt;span&gt;&amp;nbsp;&lt;/span&gt;git [커맨드 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;형태로 구성된다. 필요에 따라&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;또는&lt;span&gt;&amp;nbsp;&lt;/span&gt;--&lt;span&gt;&amp;nbsp;&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;git init&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소(repository) 생성&lt;/li&gt;
&lt;li&gt;git config user.name [작성자 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 작성자 이름 설정&lt;/li&gt;
&lt;li&gt;git config user.email [이메일 계정]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 작성자 이메일 설정&lt;/li&gt;
&lt;li&gt;git config --list&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소 설정 전체 출력&lt;/li&gt;
&lt;li&gt;git config --get [설정항목]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 일부 설정항목만 출력(ex : git config --get user.name)&lt;/li&gt;
&lt;li&gt;git help [커맨드 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 도움말&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git의 작업영역 3가지
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Working directory, Staging area, Repository&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;git의 파일상태 구분 3가지
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Modified, Staged, Committed&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git reset [파일명] : Staging area에 올렸던 파일 내리기&lt;/li&gt;
&lt;li&gt;.gitignore&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 이력관리 대상에서 제외할 경로나 파일 지정&lt;/li&gt;
&lt;li&gt;git status&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소의 상태정보 출력&lt;/li&gt;
&lt;li&gt;git add [파일이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 파일을 staging area에 올리기&lt;/li&gt;
&lt;li&gt;git add [디렉토리 명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 디렉토리 내에 수정된 모든 파일들을 staging area에 올리기&lt;/li&gt;
&lt;li&gt;git add .&lt;span&gt;&amp;nbsp;&lt;/span&gt;: working directory 내에 수정된 모든 파일들을 staging area에 올리기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&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;git commit&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 이력 저장(commit)&lt;/li&gt;
&lt;li&gt;git commit -m &quot;[메시지]&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: vim을 사용하지 않고 인라인으로 메시지를 추가하여 commit&lt;/li&gt;
&lt;li&gt;git commit -am &quot;[메시지]&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: add와 commit을 일괄적으로 진행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&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;git status&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소 파일의 상태정보 출력&lt;/li&gt;
&lt;li&gt;git status -s&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 파일 상태정보를 간략하게 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&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;git log&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소의 commit이력을 출력&lt;/li&gt;
&lt;li&gt;git log --pretty=oneline&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 각 commit을 한줄로 출력(--pretty 옵션 사용)&lt;/li&gt;
&lt;li&gt;git log --oneline&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 각 commit을 한줄로 출력&lt;/li&gt;
&lt;li&gt;git log --decorate=full&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 브랜치나 태그정보를 상세히 출력&lt;/li&gt;
&lt;li&gt;git log --graph&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 그래프 형태로 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&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;git show&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 가장 최근의 commit 정보 출력&lt;/li&gt;
&lt;li&gt;git show [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 commit의 정보 출력&lt;/li&gt;
&lt;li&gt;git show HEAD&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD가 참조하는 commit의 정보 출력&lt;/li&gt;
&lt;li&gt;git show HEAD^^^&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD를 기준으로 3단계 이전의 commit정보 출력&lt;/li&gt;
&lt;li&gt;git show HEAD~[n]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD를 기준으로 n단계 이전의 commit정보 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git diff&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 최근 commit과 변경사항이 발생한(Unstaged) 파일들의 내용비교&lt;/li&gt;
&lt;li&gt;git diff --staged&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 최근 commit과 Staging area의 파일들 간의 변경사항 출력&lt;/li&gt;
&lt;li&gt;git diff [commit hash1] [commit hash2]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 두 commit의 파일들 간의 변경사항 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git reset&lt;span&gt;&amp;nbsp;&lt;/span&gt;: Staging area의 파일 전체를 unstaged 상태로 되돌리기&lt;/li&gt;
&lt;li&gt;git reset [파일명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 파일을 unstaged 상태로 되돌리기&lt;/li&gt;
&lt;li&gt;git commit --amend&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 최근 commit을 수정하기&lt;/li&gt;
&lt;li&gt;git commit --amend -m &quot;[commit 메시지]&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 메시지로 commit 수정하기&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git checkout [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 commit으로 파일상태 변경&lt;/li&gt;
&lt;li&gt;git checkout -&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD가 이전에 참조했던 commit으로 상태변경&lt;/li&gt;
&lt;li&gt;git checkout master&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD가 master를 참조&lt;/li&gt;
&lt;li&gt;git checkout HEAD~n&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD를 기준으로 n단계 이전 commit으로 상태변경&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git reset [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 commit으로 브랜치의 참조를 변경&lt;/li&gt;
&lt;li&gt;git reset &amp;ndash;-hard [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: working directory, staging area, commit 모두 reset&lt;/li&gt;
&lt;li&gt;git reset &amp;ndash;-mixed [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: working directory 유지, staging area, commit reset , default option&lt;/li&gt;
&lt;li&gt;git reset &amp;ndash;-soft [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: working directory, staging area 유지, commit reset&lt;/li&gt;
&lt;li&gt;git reset HEAD^&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD를 기준으로 직전의 commit으로 reset&lt;/li&gt;
&lt;li&gt;git reset HEAD~[정수]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD를 기준으로 정수 값 단계 전 commit으로 reset&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&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;git reflog&lt;span&gt;&amp;nbsp;&lt;/span&gt;: HEAD가 참조한 commit 이력을 공개&lt;/li&gt;
&lt;li&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;브랜치(branch)&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장소(repository) 내의 독립적인 관리영역&lt;/li&gt;
&lt;li&gt;master&lt;span&gt;&amp;nbsp;&lt;/span&gt;브랜치 : 저장소를 처음 생성할 때 만들어지는 브랜치&lt;/li&gt;
&lt;li&gt;master&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 브랜치의 끝(최신 commit)을 참조하는 개체&lt;/li&gt;
&lt;li&gt;HEAD&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 어떤 commit을 가리키는 개체, HEAD가 이전 commit을 참조하면 Working directory의 내용이 이전 commit의 내용으로 변경됨&lt;/li&gt;
&lt;li&gt;HEAD는 참조를 참조할 수 있음. (master를 참조하거나 commit을 직접 참조 가능)&lt;/li&gt;
&lt;li&gt;HEAD는 git에서 사용되는 공식 명침임. master, origin 또한 공통적으로 사용되는 명칭이나 필수는 아님(다른 이름으로 변경가능)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git remote&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 추가된 원격저장소 리스트 출력&lt;/li&gt;
&lt;li&gt;git remote -v (--verbose)&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격저장소 리스트 출력&lt;/li&gt;
&lt;li&gt;git remote add [원격 저장소 이름] [원격 저장소 주소]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 이름으로 원격 저장소 등록&lt;/li&gt;
&lt;li&gt;git remote rm [원격저장소 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 원격 저장소를 등록 리스트에서 삭제&lt;/li&gt;
&lt;li&gt;git push -u (--set-upstream-to) [원격 저장소 이름] [로컬 브랜치 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 로컬 저장소의 브랜치가 원격 저장소를 추적하도록 설정하고 파일들을 원격 저장소로 push&lt;/li&gt;
&lt;li&gt;git push [원격 저장소 이름] [로컬 브랜치 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 로컬 저장소의 변경사항을 원격 저장소로 업로드&lt;/li&gt;
&lt;li&gt;git push&lt;span&gt;&amp;nbsp;&lt;/span&gt;: upstream(-u) 설정 후 인자 생략 가능&lt;/li&gt;
&lt;li&gt;git pull [원격 저장소 이름] [원격 브랜치 이름]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 정보를 현재 로컬 브랜치에 가져와서 병합(fetch + merge)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예) 원격 저장소의 브랜치가&lt;span&gt;&amp;nbsp;&lt;/span&gt;origin/master이면&lt;span&gt;&amp;nbsp;&lt;/span&gt;git pull origin master&lt;/li&gt;
&lt;li&gt;=&lt;span&gt;&amp;nbsp;&lt;/span&gt;git fetch origin&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;git merge origin/master&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;git pull&lt;span&gt;&amp;nbsp;&lt;/span&gt;: upstream(-u) 설정 후 인자 생략 가능&lt;/li&gt;
&lt;li&gt;git tag&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 로컬 저장소의 모든 tag를 조회&lt;/li&gt;
&lt;li&gt;git tag [tag명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 현재 commit에 tag를 생성 (Lightweight tag)&lt;/li&gt;
&lt;li&gt;git tag [tag명] [commit ID]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 commit에 tag를 생성 (Lightweight tag)&lt;/li&gt;
&lt;li&gt;git tag -a [tag명] &amp;ndash;m &amp;ldquo;[tag message]&amp;rdquo; [commit ID]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 메시지를 추가하여 tag 생성 (Annotated tag)&lt;/li&gt;
&lt;li&gt;git tag -am [tag명] &amp;ldquo;[tag message]&amp;rdquo;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 현재 commit에 메시지를 추가하여 tag 생성 (Annotated tag)&lt;/li&gt;
&lt;li&gt;git show [tag명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 tag가 부착된 commit의 상세정보 확인&lt;/li&gt;
&lt;li&gt;git push --tags&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 생성된 전체 tag를 원격 저장소에 push ( = git push origin --tags)&lt;/li&gt;
&lt;li&gt;git push [tag명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 tag를 원격 저장소에 push ( = git push origin &amp;ldquo;[tag명]&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;git tag &amp;ndash;d [tag명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 tag 삭제&lt;/li&gt;
&lt;li&gt;git push &amp;ndash;d [tag명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 해당 tag 삭제&lt;/li&gt;
&lt;li&gt;git revert [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 commit을 되돌리기&lt;/li&gt;
&lt;li&gt;git revert --no-edit [commit hash]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: revert commit messege 수정하지 않고 default 사용&lt;/li&gt;
&lt;li&gt;git revert [commit hash1]..[commit hash2]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 구간만큼 commit 되돌리기. commit ID1은 해당되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git clone [원격 저장소 주소]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 내용을 복제&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git diff origin/master master&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 master와 로컬 저장소의 master 브랜치의 참조 commit의 차이 비교&lt;/li&gt;
&lt;li&gt;git merge --abort&lt;span&gt;&amp;nbsp;&lt;/span&gt;: merging 작업 종료&lt;/li&gt;
&lt;li&gt;git fetch&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 내용을 로컬 저장소로 가져오기&lt;/li&gt;
&lt;li&gt;git diff origin/master master&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 master와 로컬 저장소의 master 브랜치의 참조 commit의 차이 비교&lt;/li&gt;
&lt;li&gt;git merge origin/master&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 원격 저장소의 master 브랜치의 내용을 현재 로컬 브랜치에 병합&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git stash&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 인덱스 영역에 트래킹 되는 파일을 임시영역에 저장하고, modified부분 Working directiory에서 제거(기본 명칭 WIP로 저장됨)&lt;/li&gt;
&lt;li&gt;git stash&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;ndash;u : 새롭게 추가된 파일(untracked)도 함께 임시영역에 저장&lt;/li&gt;
&lt;li&gt;git stash save [저장명칭]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 저장명칭을 주어 저장&lt;/li&gt;
&lt;li&gt;git stash &amp;ndash;m &amp;ldquo;[메시지]&amp;rdquo;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 메시지를 기록하여 저장&lt;/li&gt;
&lt;li&gt;git stash list&lt;span&gt;&amp;nbsp;&lt;/span&gt;: stash 기록 확인&lt;/li&gt;
&lt;li&gt;git stash apply&lt;span&gt;&amp;nbsp;&lt;/span&gt;; 가장 최근의 작업내용 불러오기&lt;/li&gt;
&lt;li&gt;git stash apply [stash명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: stash명에 해당하는 저장내용 반영&lt;/li&gt;
&lt;li&gt;git stash drop&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 가장 최근의 stash 제거&lt;/li&gt;
&lt;li&gt;git stash drop [stash명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 이름의 stash 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git branch&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 브랜치 목록 표시&lt;/li&gt;
&lt;li&gt;git branch [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 브랜치 명으로 브랜치 생성&lt;/li&gt;
&lt;li&gt;git checkout [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 브랜치로 전환&lt;/li&gt;
&lt;li&gt;git checkout &amp;ndash;b [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 브랜치 생성과 동시에 전환&lt;/li&gt;
&lt;li&gt;git branch -m [브랜치명] [새로운 브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 브랜치명 변경&lt;/li&gt;
&lt;li&gt;git branch &amp;ndash;d [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 해당 브랜치 삭제&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git merge [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 현 브랜치에 해당 브랜치의 내용 병합&lt;/li&gt;
&lt;li&gt;git merge --ff [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: fast-forward 관계에 있으면 commit을 생성하지 않고 현재 브랜치의 참조 값 만 변경(default)&lt;/li&gt;
&lt;li&gt;git merge --no-ff [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: fast-forward 관계에 있어도 merged commit 생성&lt;/li&gt;
&lt;li&gt;git merge --squash [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: fast-forward 관계에 있어도 merged commit 생성, merging 브랜치 정보 생략&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git rebase [브랜치명]&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 현재 브랜치가 해당 브랜치(브랜치명)에부터 분기하도록 재배치&lt;/li&gt;
&lt;li&gt;git rebase --continue&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 충돌 수정 후 재배치 진행(commit 대신)&lt;/li&gt;
&lt;li&gt;git rebase --abort&lt;span&gt;&amp;nbsp;&lt;/span&gt;: rebase 취소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd; color: #ee2323;&quot;&gt;$ git clone https://&lt;/span&gt;&lt;b&gt;[ID]&lt;/b&gt;&lt;span style=&quot;background-color: #dddddd; color: #ee2323;&quot;&gt;:&lt;/span&gt;&lt;b&gt;[PASSWORD or Access Token]&lt;/b&gt;&lt;span style=&quot;background-color: #dddddd; color: #ee2323;&quot;&gt;@github.com/&lt;/span&gt;&lt;i&gt;&lt;b&gt;[ID]&lt;/b&gt;&lt;/i&gt;&lt;span style=&quot;background-color: #dddddd; color: #ee2323;&quot;&gt;/myrepo.git&lt;/span&gt;&lt;/p&gt;</description>
      <category>레벨업(level up)/Programming</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/384</guid>
      <comments>https://rayfeels.tistory.com/384#entry384comment</comments>
      <pubDate>Mon, 5 Dec 2022 15:34:29 +0900</pubDate>
    </item>
    <item>
      <title>쉘에서 가상환경실행하기</title>
      <link>https://rayfeels.tistory.com/383</link>
      <description>&lt;pre id=&quot;code_1650343892810&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sh oops.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;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;p data-ke-size=&quot;size16&quot;&gt;oops.sh 내용은 아래와 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1650343947572&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# oops.sh

#!/bin/bash

a() {
  source venv/bin/activate
}

a&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1650343984163&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source : not found&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 에러가 난단면 /etc/profile 에 아래 추가&lt;/p&gt;
&lt;pre id=&quot;code_1650344047172&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export PATH=$PATH:&amp;lt;실행파일 위치&amp;gt;&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;/p&gt;
&lt;pre id=&quot;code_1650344233499&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source oops.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 삽질한 내용 정리&lt;/p&gt;</description>
      <category>레벨업(level up)/Programming</category>
      <category>Activate</category>
      <category>not found</category>
      <category>source</category>
      <category>가상환경실행</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/383</guid>
      <comments>https://rayfeels.tistory.com/383#entry383comment</comments>
      <pubDate>Tue, 19 Apr 2022 13:58:29 +0900</pubDate>
    </item>
    <item>
      <title>Tesseract-ocr 이미지 프로세싱</title>
      <link>https://rayfeels.tistory.com/382</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;웹크롤링을 하는중 이미지에서 글씨를 추출할 필요가 생겼다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;docker에 Ubuntu가 깔려있어 바로 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;tesseract 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1649980515267&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# tesseract-ocr 4.x.x 설치
apt install tesseract-ocr
apt install libtesseract-dev

# 언어팩위치
https://github.com/tesseract-ocr/tessdoc/blob/main/Data-Files.md
wget https://github.com/tesseract-ocr/tessdata/raw/4.00/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/4.00/kor.traineddata

# tesseract-ocr 4.x.x 설치 확인
tesseract --version

# tesseract-ocr 언어팩 설치 확인
tesseract --list-lanags&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&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;python에서 사용을 위해 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1649985031641&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install tesseract
pip install tesseract-ocr&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이상한 에러가 중간에&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <category>tesseract-ocr</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/382</guid>
      <comments>https://rayfeels.tistory.com/382#entry382comment</comments>
      <pubDate>Fri, 15 Apr 2022 09:34:31 +0900</pubDate>
    </item>
    <item>
      <title>sylonogy docker 관련</title>
      <link>https://rayfeels.tistory.com/381</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;docker 사용시 매번 sudo를 써야하는 번거러움을 해소하기 위해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그룹을 추가&lt;/p&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;sudo synogroup --add docker $USER
sudo chown root:docker /var/run/docker.sock&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <category>Docker</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/381</guid>
      <comments>https://rayfeels.tistory.com/381#entry381comment</comments>
      <pubDate>Sat, 29 Jan 2022 10:44:43 +0900</pubDate>
    </item>
    <item>
      <title>(Django) STEP1. 개발 설정하기</title>
      <link>https://rayfeels.tistory.com/380</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. sylonogy docker 를 이용해서 django 설치&lt;/p&gt;
&lt;pre id=&quot;code_1643186032094&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker start &amp;lt;프로젝트 이름&amp;gt;

docker attach &amp;lt;프로젝트 이름&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. django로 가상환경생성하기&lt;/p&gt;
&lt;pre id=&quot;code_1643186493660&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python3 -m vitualenv django
# python3-8 이상부터 python3 -m venv django

source ./activate

pip install Django

mkdir &amp;lt;프로젝트 이름&amp;gt;

cd &amp;lt;프로젝트 이름&amp;gt;

mkdir repo

django-admin startproject &amp;lt;conf&amp;gt;

# MariaDB를 사용

pip install mysqlclient // error sylonogy

pip install pymysql&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. settings.py 에 database 정보 등록&lt;/p&gt;
&lt;pre id=&quot;code_1643351937227&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import pymysql

pymysql.install_as_MySQLdb()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database name',
        'USER' : 'user',
        'PASSWORD' : 'pw',
        'HOST': '127.0.0.1',
        'PORT':'3306',
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 프로젝트 테스트&lt;/p&gt;
&lt;pre id=&quot;code_1643354360804&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python manage.py runserver&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 마이그레이션(프로젝트 버전 관리)&lt;/p&gt;
&lt;pre id=&quot;code_1643355081220&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 마이그레이션을 생성한다.
python manage.py makemigrations [app name]

# app name을 생략하면 전체를 생성한다.


# 마이그레이션 적용.
python manage.py migrate [app name] [migration name]

# migration name 으로 되돌릴수 있다.

# 생성된 마이그레이션 정보.
python manage.py showmigrations [app name]


참고) https://tibetsandfox.tistory.com/24&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/380</guid>
      <comments>https://rayfeels.tistory.com/380#entry380comment</comments>
      <pubDate>Fri, 28 Jan 2022 16:34:37 +0900</pubDate>
    </item>
    <item>
      <title>Synology에서 python pip 설치</title>
      <link>https://rayfeels.tistory.com/379</link>
      <description>&lt;pre id=&quot;code_1636124776802&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# python3 -m pip install &amp;lt;package name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Step 1. get-pip 다운로드&lt;/p&gt;
&lt;pre id=&quot;code_1636124057369&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# wget https://bootstrap.pypa.io/get-pip.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;191&quot; data-filename=&quot;get-pip.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKg9oH/btrj2frunxa/pwgMNoeVcLDteKRIUisekk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKg9oH/btrj2frunxa/pwgMNoeVcLDteKRIUisekk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKg9oH/btrj2frunxa/pwgMNoeVcLDteKRIUisekk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cKg9oH/btrj2frunxa/pwgMNoeVcLDteKRIUisekk/img.gif&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;191&quot; data-filename=&quot;get-pip.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Step 2. get-pip 실행&lt;/p&gt;
&lt;pre id=&quot;code_1636124688044&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# python3 get-pip.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;257&quot; data-filename=&quot;install pip.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciHKlk/btrj2TaquR3/kiWhss9koJpY85jTmrxRsk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciHKlk/btrj2TaquR3/kiWhss9koJpY85jTmrxRsk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciHKlk/btrj2TaquR3/kiWhss9koJpY85jTmrxRsk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/ciHKlk/btrj2TaquR3/kiWhss9koJpY85jTmrxRsk/img.gif&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;257&quot; data-filename=&quot;install pip.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Step 3. package module install&lt;/p&gt;
&lt;pre id=&quot;code_1636124821038&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# python3 -m pip install &amp;lt;package name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;174&quot; data-filename=&quot;package install.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Au2Hx/btrj3hCdhKT/KlGxB7hokoT6x9uBxkvo00/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Au2Hx/btrj3hCdhKT/KlGxB7hokoT6x9uBxkvo00/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Au2Hx/btrj3hCdhKT/KlGxB7hokoT6x9uBxkvo00/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/Au2Hx/btrj3hCdhKT/KlGxB7hokoT6x9uBxkvo00/img.gif&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;174&quot; data-filename=&quot;package install.gif&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;package 리스트를 저장해놓았다면&lt;/p&gt;
&lt;pre id=&quot;code_1636124970549&quot; class=&quot;html xml&quot; style=&quot;display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# python3 -m pip install -r package.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pip list를 package하려면 freeze 를 이용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1636125164713&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# python3 -m pip freeze &amp;gt; packages.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;157&quot; data-filename=&quot;pa.gif&quot; width=&quot;858&quot; height=&quot;169&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9l0Ky/btrj2A3i30g/q9NP5YYyBfubu9kdiDvGbK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9l0Ky/btrj2A3i30g/q9NP5YYyBfubu9kdiDvGbK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9l0Ky/btrj2A3i30g/q9NP5YYyBfubu9kdiDvGbK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/9l0Ky/btrj2A3i30g/q9NP5YYyBfubu9kdiDvGbK/img.gif&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;157&quot; data-filename=&quot;pa.gif&quot; width=&quot;858&quot; height=&quot;169&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <category>pip</category>
      <category>Python</category>
      <category>Synology</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/379</guid>
      <comments>https://rayfeels.tistory.com/379#entry379comment</comments>
      <pubDate>Sat, 6 Nov 2021 00:16:33 +0900</pubDate>
    </item>
    <item>
      <title>PIP install 오류날때</title>
      <link>https://rayfeels.tistory.com/378</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;#&amp;nbsp;관리자권한으로&amp;nbsp;실행해야&amp;nbsp;전체적으로&amp;nbsp;pip&amp;nbsp;install이&amp;nbsp;정상적으로&amp;nbsp;됨&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1635926319461&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org --upgrade &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;#&amp;nbsp;powershell&amp;nbsp;권한&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Get-ExecutionPolicy &lt;br /&gt;#&amp;nbsp;powershell&amp;nbsp;권한&amp;nbsp;획득 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set-ExecutionPolicy&amp;nbsp;Unrestricted &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Restricted(제한된): 파워쉘의 실행 권한 정책 기본 옵션(기본적으로 적용되어 있음), 명령어 하나씩 실행 가능.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ps1 스크립트 파일을 로드하여 실행할 수 없음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AllSigned:&amp;nbsp;오직&amp;nbsp;신뢰된&amp;nbsp;배포자에&amp;nbsp;의해&amp;nbsp;서명된&amp;nbsp;스크립트만&amp;nbsp;실행할&amp;nbsp;수&amp;nbsp;있음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RemoteSigned:&amp;nbsp;로컬&amp;nbsp;컴퓨터에서&amp;nbsp;본인이&amp;nbsp;생성한&amp;nbsp;스크립트만&amp;nbsp;실행&amp;nbsp;가능,&amp;nbsp;인터넷에서&amp;nbsp;다운로드받은&amp;nbsp;스크립트는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 신뢰된 배포자에 의해 서명된 것만 실행할 수 있음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unrestricted(무제한):&amp;nbsp;제한없이&amp;nbsp;모든&amp;nbsp;스크립트를&amp;nbsp;실행할&amp;nbsp;수&amp;nbsp;있음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByPass:&amp;nbsp;어떤&amp;nbsp;것도&amp;nbsp;차단하지&amp;nbsp;않고&amp;nbsp;경고없이&amp;nbsp;실행할&amp;nbsp;수&amp;nbsp;있음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Undefined:&amp;nbsp;정책&amp;nbsp;적용&amp;nbsp;않함,&amp;nbsp;기본&amp;nbsp;실행&amp;nbsp;권한&amp;nbsp;정책&amp;nbsp;적용됨(Restricted) &lt;br /&gt;#가상환경설정&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;virtualenv&amp;nbsp;&amp;lt;이름&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <category>python #pip install</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/378</guid>
      <comments>https://rayfeels.tistory.com/378#entry378comment</comments>
      <pubDate>Wed, 3 Nov 2021 17:00:33 +0900</pubDate>
    </item>
    <item>
      <title>Step 1.</title>
      <link>https://rayfeels.tistory.com/377</link>
      <description>&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;1. 어드레스&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;2. 테이크 웨이&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;3. 백스윙(탑)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;4. 임팩트 &amp;amp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;5. 팔로스로우&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;6. 피니쉬&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;※&amp;nbsp; 배운것을 정리해보자.&lt;/p&gt;</description>
      <category>레벨업(level up)/Golf</category>
      <category>골프</category>
      <category>골프레슨</category>
      <category>골프자세</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/377</guid>
      <comments>https://rayfeels.tistory.com/377#entry377comment</comments>
      <pubDate>Fri, 19 Jun 2020 13:42:08 +0900</pubDate>
    </item>
    <item>
      <title>python) 설치 및 가상환경</title>
      <link>https://rayfeels.tistory.com/376</link>
      <description>&lt;p&gt;아래 싸이트를 참조하자 &amp;amp; VS&amp;nbsp; code 라는 강력한 에디터 툴까지...&lt;/p&gt;
&lt;figure id=&quot;og_1554100536699&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a href=&quot;https://blog.naver.com/gracehappyworld/221490620526&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-original-url=&quot;https://gracehappyworld.blog.me/221490620526&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/JoL4j/hyAANDm0wq/vUO1pEWPTFT77566bAS7u0/img.png?width=743&amp;amp;height=329&amp;amp;face=0_0_743_329');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;파이썬 python 설치 및 실행 / VS code / venv 가상환경 구축&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;1. 파이썬 다운로드 페이지로 이동해주세요.2. 자신에게 맞는 운영체제 선택저는 Windows 사용자이기 때문...&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>레벨업(level up)/Python</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/376</guid>
      <comments>https://rayfeels.tistory.com/376#entry376comment</comments>
      <pubDate>Mon, 1 Apr 2019 15:36:42 +0900</pubDate>
    </item>
    <item>
      <title>Corsair K63</title>
      <link>https://rayfeels.tistory.com/375</link>
      <description>&lt;div style=&quot;text-align:left&quot;&gt;&lt;p&gt;​&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994FAC405C7DDF7C13&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994FAC405C7DDF7C13&quot; width=&quot;820&quot; height=&quot;614&quot; filename=&quot;190305112706.204.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;br&gt;드디어 커세어. K63 을 구매했다.&lt;br&gt;아마존 가격 $89.99 + 배송비 $1 +@&lt;br&gt;현재 15만원을 육박하는 가격을 따져보면 저렴하게 샀다.&lt;br&gt;단 배송기간이 길어서 기다리다 지친다는 점을 빼면...&lt;br&gt;&lt;br&gt;무선 2.5k + 유선 + 블루투스&lt;br&gt;&lt;br&gt;회사에서 업무PC(유선), 무선(인터넷PC), 블루투스(핸드폰)으로 사용중.&lt;br&gt;너저분한 키보드 여러개 놓고 하다가 깔끔하게 정리된 모습을 보고 있으면 기분이 좋아진다.&lt;br&gt;&lt;br&gt;요즘 ioT 에  관심이 많아지고 있다.. &lt;br&gt;&lt;br&gt;무섭다.&lt;/div&gt;</description>
      <category>이야기(talk)</category>
      <category>Corsair</category>
      <category>K63</category>
      <author>레이필</author>
      <guid isPermaLink="true">https://rayfeels.tistory.com/375</guid>
      <comments>https://rayfeels.tistory.com/375#entry375comment</comments>
      <pubDate>Tue, 5 Mar 2019 11:31:24 +0900</pubDate>
    </item>
  </channel>
</rss>