GitHub 연동하기(기본)

2019. 7. 30. 23:27

1) GitHub - Create a new repository

Repository 생성

 

2) 원하는 경로에 clone

   - git clone https://github.com/bisu77/GITHUB_TUTORIAL.git

 

3) commiter 정보 설정

  git config --global user.name DEV_YKJ

  git config --global user.email rudwns7552@gmail.com

 

4) clone한 Repository(GITHUB_TUTORIAL) 아래 JAVA PROJECT 생성

 

 

5) git status 확인

  - git status

 

 

6) 생성된 프로젝트 git add

  - git add . : 현재 경로의 파일 및 폴더를 StagingArea 로 이동

 

 

7) 생성된 프로젝트 git commit

  - git commt -m 'first commit' : StagingArea 의 영역을 Repository 로 이동

 

 

8) git push origin master 입력 후 GitHub 계정정보 입력

  - git push origin master : master 브랜치를 origin 서버에 push

                                    (clone으로 복사된 원격저장소의 이름은 origin으로 설정됨)

 

 

9) GitHub 확인

'Git' 카테고리의 다른 글

Git 기본 튜토리얼  (2) 2019.07.30

Git 기본 튜토리얼

2019. 7. 30. 14:54

■ commiter 정보 설정

  - git config --global user.name DEV_YKJ(이름)

  - git config --global user.email rudwns7552@gmail.com(이메일)

 

■ Git의 작업영역

  - Working tree : 수정한 로컬 파일

  - Staging Area : 버전관리를 하기 위해 업로드 된 파일

  - Repository : 버전관리가 된 파일

 

■ Git 기본 명령어

  - git init : 원하는 경로에 .git 파일 생성(즉, git과 버전관리 할 경로 설정)

  - git status : 현재 경로에 git과의 상호교류 상태를 나타냄

    * Untracked files : Working tree 영역의 파일

    * new file : Staging Area 영역의 파일

    * noting to commit, working tree clean : 모든 파일이 commit된 상태

 

f1.txt 파일이 수정되었지만 add는 되어있지 않음.

  - git add f1.txt : f1.txt 파일을 commit 대기 상태로 이전한다. (Staging Area로 이동)

 

  - git commit -m '커밋 메세지' : add된 파일을 commit한다(Registory로 이동)

  - git commit -am '커밋 메세지' : add와 commit을 동시에

                                             (단, Staging Area에 올라와 있어야 함 = add 명령 실행된 파일)

 

  - git log : 버전의 History 출력

  - git log-p : 이전 commit한 history에서 compare 가능

 

'-' : 이전버전 / '+' 현재버전

  - git log 커밋아이디1 : 커밋아이디1 까지의 history를 알 수 있음.

 

  - git diff : 커밋된 파일(Repository)과 현재 수정된 파일(Staging Area) 비교

  - git diff 커밋아이디1..커밋아이디2 : 커밋아이디1과 커밋아이디2의 버전 비교

 

■ Git 심화명령어

  - git checkout 커밋아이디 : 해당 commit 버전으로 돌아간다. (head는 그대로 있음)

  - git checkout master : 제일 마지막 commit 버전으로 돌아간다.

 

  - git reset 커밋아이디 --hard : 해당 commitId 상태로 되돌아감 (HEAD가 바뀜. 이후 commit 버전은 사라짐)

 

  - git revert 커밋아이디 : commit 상태를 이전 commit 버전으로 되돌린다. (되돌리면서 새로운 commit이 됨).

                                       역순으로 revert 해야 함 그렇지 않으면 충돌이 일어남.

 

  - git branch exp : exp라는 브랜치 생성

  - git checkout exp : exp 브랜치로 세팅

  - git log --branches --decorate --graph --oneline

                                                             1) 브런치의 모든 commit log를 호출 

                                                             2) 브런치의 마지막 commit 버전 확인 

                                                             3) commit의 그래프 형식으로 출력

                                                             4) 1라인으로 출력해줌(간단히)

 

  - git log -p master..exp : 브런치의 commit log 차이 확인(첫 인자 값인 master 기준)

  - git diff master..exp : 브런치의 현재 파일 버전 차이(첫 인자 값인 master 기준)

 

- git merge exp : 현재 HEAD브런치와 exp 브런치의 commit 버전을 동기화 시킨다.

    * Fast-forward 응답 : exp브런치와 HEAD브런치의 사이에서 HEAD브런치 변경사항(commit 버전)이 없었다.

                             (exp브런치의 마지막 commit 버전으로 동기화)

    * Merge made by the 'recursive' strategy 응답 :

                                  exp브런치와 HEAD브런치사이에서 HEAD브런치 변경사항(commit 버전)이 있었다.

                                  (새로운 commit 버전으로 동기화)

 

    - git stash : branch 이동 시 발생하는 동기화 이슈로 인해, 해당 branch에 임시저장 할 수 있는 기능,

                    단 git add로 버전관리에 올라와 있는 파일에 한해서 가능

       * git stash list : 현재 stash 되어 있는 list 확인

       * git stash apply : 제일 마지막에 저장된 stash로 복원

       * git stash drop : 제일 마지막에 저장된 stash 삭제

       * git stash pop : apply와 drop을 한번에 하는 기능, 복원과 동시에 stash 삭제

 

'Git' 카테고리의 다른 글

GitHub 연동하기(기본)  (0) 2019.07.30

1. java 설치

        1-1) java 홈페이지에서 리눅스 버전 java 다운로드

wget --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn/java/jdk/11.0.3+12/37f5e150db5247ab9333b11c1dddcd30/jdk-11.0.3_linux-x64_bin.tar.gz

        1-2) alternatives 환경설정 세팅

alternatives --install /usr/bin/java java /usr/local/java/jdk-11.0.3/bin/java 1
alternatives --install /usr/bin/java javac /usr/local/java/jdk-11.0.3/bin/javac 1
alternatives --install /usr/bin/java javaws /usr/local/java/jdk-11.0.3/bin/javaws 1
alternatives --set java /usr/local/java/jdk-11.0.3/bin/java
alternatives --set javac /usr/local/java/jdk-11.0.3/bin/javac
alternatives --set javaws /usr/local/java/jdk-11.0.3/bin/javaws>

        1-3) 환경설정 확인

alternatives --list

 

2. tomcat 설치

        2-1) tomcat 홈페이지에서 리눅스 버전 java 다운로드

wget http://mirror.apache-kr.org/tomcat/tomcat-8/v8.5.40/bin/apache-tomcat-8.5.40.tar.gz

        2-2) iptables 8080포트 허용

vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

       2-3) vi /etc/profile에 JAVA_HOME / CATALINA_HOME 설정

 

3. mod_jk.so 설치

        3-1) gcc / gcc-c++ / httpd-devel 설치

yum install gcc gcc-c++ httpd-devel

        3-2) tomcat 홈페이지에서 connector JK 설치

wget -c http://mirror.apache-kr.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz

        3-3) 압축 풀은 후 make 명령어 실행 

        /home/was/tomcat-connectors-1.2.46-src/native 에서 명령어 2개 실행

./configure --with-apxs=/usr/bin/apxs
make && make install

        3-4) 설치 확인

find / -name mod_jk.so

        3-5) Selinux 보안설정 변경

chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

 

4. Apache - Tomcat 연동

        4-1) /etc/httpd/conf.d/httpd-jk.conf 만들기

LoadModule jk_module modules/mod_jk.so #mod_jk.so 모듈 Load
<IfModule jk_module>
	JkWorkersFile conf.d/workers.properties # AJP 설정 / 포트설정 / host 설정
	JkLogFile logs/mod_jk.log  # 로그경로
	JkLogLevel info # 로그레벨
	JkShmFile run/mod_jk.shm
	JkMountFile conf.d/uriworkermap.properties # 확장자 설정(WAS Tomcat으로 태울 확장자)
</IfModule>

        4-2) /etc/httpd/conf.d/workers.properties 만들기

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=192.168.25.40
worker.worker1.port=8009

        4-3) /etc/httpd/conf.d/uriworkermap.properties 만들기

/*.do=worker1
/*.jsp=worker1

        4-4) /etc/httpd/conf DocumentRoot 추가

DocumentRoot "/opt/apache-tomcat-8.5.40/webapps/ROOT"
<Directory "/opt/apache-tomcat-8.5.40/webapps/ROOT">
	AllowOverride All
	Require all granted
</Directory>

        4-5) Selinux 보안 설정(ls -alZ /var/www / ls-alZ /opt/apache-tomcat-8.5.40/webapps/ROOT 비교)

    

chcon -R --type=httpd_sys_content_t /opt/apache-tomcat-8.5.40/webapps/ROOT

        4-6) tomcat 기본 8080 포트 주석처리(/opt/apache-tomcat-8.5.40/conf/server.xml)

<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->

 

5. DocumentRoot 경로의 chmod 설정

 chmod -R 711 /opt/apache-tomcat-8.5.40/webapps (O)

     -> DocumentRoot 경로의 한 단계 아래의 Depth에 설정해주어야 한다.

        DocumentRoot 경로에 설정 후 안 돼서 이상한 거만 1시간 넘게 만짐... 

chmod -R 711 /opt/apache-tomcat-8.5.40/webapps/ROOT (X)

 

기타)

웹 서버 경로 : /etc/httpd

WAS 경로 : /opt/apache-tomcat-8.5.40

웹 서버 로그경로 : /var/log/httpd

WAS 로그경로 : /opt/apache-tomcat-8.5.40/catalina.2019-07-07.log

파일, 폴더 소유자 변경 : chown -R was:was /opt/apache-tomcat-8.5.40/webapps/ROOT

 

참고 페이지 : 

https://suwoni-codelab.com/linux/2017/05/29/Linux-CentOS-Apache-Tomcat/

https://offbyone.tistory.com/332

https://goddaehee.tistory.com/77

 

+ Recent posts