git tag

  • Git 에서 Tag는 commit을 참조하기 쉽도록 알기 쉬운 이름을 붙이는 것을 의미
  • 보통 tag는 소프트웨어의 버전을 릴리즈 할 때 사용

tag의 종류

Lightweight 태그

  • 브랜치와 비슷한데 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지 않음.
  • 단순히 특정 커밋에 대한 포인터
  • git tag 태그 명령어로 태깅
  • git show 태그 명령으로 생성된 태그가 붙은 커밋 확인

Annotated 태그

  • Git 데이터베이스에 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜, 그리고 태그 메시지도 저장.
  • 일반적으로 Annotated 태그를 만들어 이 모든 정보를 사용할 수 있도록 함
  • git tag -a 태그 -m "코멘트" 명령어로 태깅

삭제

  • git tag -d "tag명"

'개발환경' 카테고리의 다른 글

Git branch  (0) 2024.06.08
설치형 eXERD v3 SVN 플러그인 설치  (0) 2024.03.27
서버단에 프로그램 올리기  (0) 2022.11.17

branch

  • git에서 브랜치는 개발의 독립적인 라인
  • 소프트웨어 개발시 개발자들은 동일한 소스코드를 함께 공유하고 다룸 -> 각각 서로 다은 버전의 코드가 만들어짐
  • 여러 개발자들이 동시에 다양한 작업을 할 수 있게 해주는 기능이 브랜치(Branch)
  • 각각의 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있음

branch의 이해

  • git으로 버전관리 시작시 기본적으로 브랜치가 생성된 상태로 작업 수행 (메인 브랜치)
  • 마스터 브랜치가 존재하는 상황에서 수정 또는 새로운 개발이 필요하다면 이를 바로 마스터 브랜치에서 수정하는 것이 아니라 새로운 브랜치를 생성하여 수정
  • merge 기능을 통해 브랜치간 차이점을 비교하고 통합을 하게 된다.

git flow

  • Git Flow는 Git으로 형상관리를 할 때 브랜치를 효율적으로 관리하기 위해 사용하는 브랜치 관리 전략이다.
  • git flow에서 사용하는 branch의 종류
    • master : 제품으로 출시될 수 있는 브랜치
    • develop : 다음 출시 버전을 개발하는 브랜치
    • feature : 기능을 개발하는 브랜치
    • release : 이번 출시 버전을 준비하는 브랜치
    • hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치

branch 생성

  • git branch : 현재 branch 확인
  • git branch 신규브랜치명 : 신규 branch 생성
  • git log : 만들어진 브랜치 확인, 현재 작업 중인 Head 브랜치 확인
  • git checkout 이동할브랜치명 : 브랜치 이동

branch 병합

두 개의 브랜치가 서로 다른 파일을 작업 한 경우 병합

  • Merge 명령어로 작업 (충돌없음)
  • 병합의 주체가 마스터 브랜치이기 때문에 현재 HEAD가 마스터 브랜치를 가리키고 있는지 확인

서로 같은 파일 내 다른 위치를 수정했을 때 병합

  • Merge 명령어로 작업 (충돌없음)

서로 같은 파일 내 같은 위치를 수정했을 때 병합

  • Conflict(충돌) 발생 -> Merge 작업 중단, 해당 내용을 직접 수정한 후 다시 merge 실행
  • 개발 수행시에 업무 영역을 최대한 잘 정의하여 브랜치 merge해야함

branch 병합 원리

fast-forward merge

  • 신규 브랜치를 생성한 후 master branch에 변화가 없는 경우
  • fast-forward 관계에 있는 브랜치에서 git merge 명령을 입력하면 새로운 commit이 생기지 않음
  • 이전 브랜치의 참조 객체가 앞서있는 브랜치가 가리키는 개체를 참조하도록 이동

3-way merge

  • 공통 부모를 가리키는 커밋을 중심으로 merge 커밋이 생성되는 방식을 3-way merge라고 한다.
  • Master에도 변경 사항이 생기고, 특정 Branch에도 변경사항이 생겼을 때 병합하면 Merge Commit이 생기면서 양쪽 변경점을 모두 포함한 상태로 Merge가 된다.

rebase

  • 공통 base(조상)를 가진 두 branch에서 하나의 branch 의 base를 다른 branch 의 최신 Commit을
    base로 하게끔 재정렬 하는 것을 의미
  • 병합의 명령어라기 보다는 브랜치의 commit을 정리하는 명령어
  • merge 에 비해 commit log 를 깔끔하게 관리 할 수 있음
  • Merge는 branch를 통합하는 것이고, Rebase는 branch의 base를 옮 긴다는 개념의 차이

branch 관리

branch 삭제

  • 병합된 branch 삭제할 때는 git branch –d branch-name 명령을 통해 삭제가 가능하다.
  • 병합되지 않은 branch를 삭제할 때는 git branch –D branch-name 으로 삭제가 가능하다.

'개발환경' 카테고리의 다른 글

Git Tag  (0) 2024.06.08
설치형 eXERD v3 SVN 플러그인 설치  (0) 2024.03.27
서버단에 프로그램 올리기  (0) 2022.11.17
  • eXERD v2를 사용하다가 v3로 변경하여 사용하려고함
  • v3.3.40 exe 설치 버전에는 GIT 기능만 포함되어 있고 SVN 플러그인 기능은 추가 설치 필요

eXERD 단독 실행 버전(exe 설치 버전)에서 SVN Plug-in을 설치하는 방법

  • SVN은 eXERD에서 제공하는 공식적인 플러그인이 아닙니다. SVN 플러그인이 업데이트 됨에 따라 배포되는 UpdateSite URL이 변경될 수 있습니다.
  • 아래 방법으로 업데이트가 되지 않을경우 아래 링크에 있는 UpdateSite URL을 확인하여 주시기 바랍니다.
  • 위 주소에서 제공하는 URL로 다운로드가 진행되지 않을경우 Eclipse플러그인 방식으로 eXERD를 설치하신 뒤, Market Place에서 SVN플러그인을 다운로드 하여 이용해주시기 바랍니다.
    • 또한 UpdateSite URL은 플러그인을 배포하는 주소로, 브라우저로 접속시 404오류가 표시되며 접속이 안됩니다.

(1) eXERD 도움말 → Install New Software ... 를 선택합니다.

(2) Available Software 탭 → Add Site... 를 선택합니다.

(3) https://subclipse.github.io/updates/subclipse/1.12.x/ 를 입력합니다.

(4) 아래 그림의 체크된 항목을 선택하고, 설치를 진행합니다. (설치후 재시작)

SubClipse > SubClipse(Required)
SubClipse > SubClipse Client Adapter(Required)
SVNKit > SVNKit Client Adapter(Not required)

  1. SVN 서버 연결방법

(1) eXERD를 재 시작하고, 창 → Perspective 열기(O) → 기타(O)... 를 선택합니다.

(2) Perspective 열기 다이얼로그에서 SVN Repository Exploring를 선택합니다.

(3) SVN Repositories Perspective에서 New →Repository Location...을 선택합니다.

(4) 연결하고자 하는 SVN 서버 URL을 입력합니다.


v3.3.40 exe 설치 버전에서 동작 확인 (2024-03-27)

참고문헌

'개발환경' 카테고리의 다른 글

Git Tag  (0) 2024.06.08
Git branch  (0) 2024.06.08
서버단에 프로그램 올리기  (0) 2022.11.17

1. JDK 설치

  • 톰캣 구동을 위해서는 자바가 필요
 

java 설치 확인

  • cmd 창에서 자바 버전 확인
java -version
  • 이미 설치되었고, JAVA_HOME 환경변수가 등록되어 있다면 다음 단계로 이동. 아니라면 이어서...
 

JDK 설치


JAVA_HOME 환경변수 등록

  • 윈도우의 경우,  내PC > 속성 > 고급 시스템 설정 > 환경변수의 시스템변수에 등록

 

2. tomcat 설치

  • 8.5나 9 버전으로 설치
  • 설치경로 안의 bin 폴더의 starup.bat으로 구동
  • 브라우저의 ‘localhost:8080’ 주소로 톰캣이 구동되고 있는지 확인

tomcat 로그 한글 깨짐

  • conf > logging.properties
java.util.logging.ConsoleHandler.encoding = EUC-KR
  • UTF-8 로 되어 있다면 EUC-KR로 변경해준다
 

OJDBC

  • lib 경로에 ojdbc6.jar 추가 (오라클)

war 파일 다운로드

 
  • 설치경로 안의 webapps 폴더에 war파일 이동
 

Server.xml (Context path)

  • 설치경로 안의 conf 폴더에 server.xml 파일 수정
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context path="/appName" docBase="applicationWarName"  reloadable="false" > </Context>  
</Host>
  • Host 태그 내부에 Context태그 추가
 

Server.xml (JNDI)

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

    <!-- oracle -->
    <Resource name="jdbc/ds_erp_app" auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@devdb.erp.co.kr:1521:xe"
              username="id" password="pw"
              maxTotal="10" maxWaitMillis="5000"
              testOnBorrow="false" testWhileIdle="true"
              />

  </GlobalNamingResources>
 
 
 

conf> context.xml

 
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
    <!-- cache : 50MB -->
    <Resources cachingAllowed="true" cacheMaxSize="51200"/>
    <!-- Uncomment this to disable session persistence across Tomcat restarts --                                                                      >
    <!--
    <Manager pathname="" />
    -->

    <ResourceLink name="jdbc/ds_erp_app"
                  global="jdbc/ds_erp_app"
                  type="javax.sql.DataSource"
                  />

</Context>
 

 

3. Oracle 11g xe 설치

 
  • 오라클 11g xe 다운로드 링크
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
  • SID 등 기억
  • 설치확인 cmd
sqlplus
 

sqlplus에서  포트 변경

 
  • 디폴트는 8080

  • EXEC DBMS_XDB.SETHTTPPORT(9080);
     

프로그램 기초 데이터 생성

  • 사용자 아이디 비밀번호 대소문자 구분

 

'개발환경' 카테고리의 다른 글

Git Tag  (0) 2024.06.08
Git branch  (0) 2024.06.08
설치형 eXERD v3 SVN 플러그인 설치  (0) 2024.03.27

+ Recent posts