반응형

http.csrf().disable();
logging:
    level:
        root: INFO
        com.lge.cdp: DEBUG
        #org.hibernate:
          #SQL: DEBUG
          #type.descriptor.sql.BasicBinder: TRACE

-pageSize -> size
-pageNumber -> page
-POST시 []로 수정
-CUD 응답형식 다른거 참고
* AWS 키신청한것 접속해보기
* column 순서조정할 방법 생각해보자
* boolean은 bit(1)로 변환됨, 그런데 이게 default 0인지 아니면 실제 0인지 알수가 없음
* useFlag,captionFlag 등 boolean 기본값 0들어가고 있음
* varchar 길이조정 - 기존에는 varchar(1)? char(1) char(1)
* java long,int에는 null이 못들어감 
* @Column(updatable = false): mysql update가능함 무슨의미가 있음?
* mySQL char, varchar, bit, int에는 null가능? 가능함 
* mySQL char에 ''가능? 가능함 
* mySQL char에 더 적은 스트링도 들어감, 다만 공간을 그만큼 쓰는듯 
* mySQL bit, int에 ''가능? 가능함 근데 1 warning(s): 1366 Incorrect integer value ''이 0으로 들어감  

JPA Foreign key is update with null after
https://stackoverflow.com/questions/43806173/spring-data-rest-foreign-key-is-update-with-null-after-post-call-in-one-to-man
https://stackoverflow.com/questions/22591684/hibernate-many-to-one-updating-foreign-key-to-null

https://stackoverflow.com/questions/40353605/hibernate-cant-delete-entity-with-foreign-key-foreign-key-gets-set-to-null

https://minwan1.github.io/2018/12/21/2018-12-26-jpa-%EA%B4%80%EA%B3%84%EC%84%A4%EC%A0%95/

https://developer.mozilla.org/ko/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript#Object-oriented_programming

https://okky.kr/article/335497 JPA-Hibernate 에서 복잡한 쿼리를 조회 할 경우 어떤식으로 하시는지...
http://blog.eomdev.com/java/2016/01/13/jpa_05_relationshipMappingBasic.html
https://docs.oracle.com/javase/tutorial/datetime/iso/overview.html

https://www.mkyong.com/java/how-to-loop-arraylist-in-java/

hibernate ddl 설정
https://github.com/HomoEfficio/dev-tips/blob/master/hibernate.hbm2ddl.auto%20%EC%9C%84%ED%97%98%20%ED%97%B7%EC%A7%80.md
http://egloos.zum.com/gyumee/v/2483659

반응형
반응형

리눅스 PC에 백업하실 분들은

 

sudo apt-get install vsftpd

sudo vi /etc/vsftpd.conf

 

# enable write permission

write_enable=YES

 

하셔서 리눅스에 ftp 서버 설치하고,

파일 백업하시면 됩니다.

ftp 클라이언트는 fileZilla 같은 것 쓰시면 됩니다.

 

sftp 사용을 권장한다고 해서, 이것 저것 해보다가 잘 안되어서

위의 방법을 권장해드립니다.

 

반응형

'etc > linux' 카테고리의 다른 글

linux 원격접속  (0) 2022.04.07
linux java process 찾기, java 실행  (0) 2020.01.31
Ubuntu 단축키  (0) 2019.04.26
시스템 관련  (0) 2019.04.23
troubleshooting  (0) 2019.04.02
반응형
  •  mySQL
select str_to_date(A.start_time,'%H%i') utc, date_add(str_to_date(A.start_time,'%H%i'),INTERVAL 9 HOUR) kr, A.svc_act_flag, A.* from tb_ic_contents_set_job_gr A order by 5;
select serial_no, contents_set_id,job_type,gen_date,complt_date,schdr_prcs_stat flag,TIMEDIFF(COMPLT_DATE, GEN_DATE) time, 
	CONVERT_TZ(gen_date,'+00:00','+09:00') kr_start, CONVERT_TZ(complt_date,'+00:00','+09:00') kr_end from TB_IC_DMON_SCHD_HIST A 
	where contents_set_id like 'xumo%'
	ORDER BY 4 DESC;
select * from TB_IC_ERROR_HIST where error_code like 'DM%' order by error_occur_date desc;
select DATE(strt_time),IC_CONTENTS_SET_ID,COUNT(*) from tb_ic_n_svc_bas GROUP BY DATE(strt_time),IC_CONTENTS_SET_ID;
select strt_date,IC_CONTENTS_SET_ID,COUNT(*) from vi_ic_n_brdcst_schd GROUP BY strt_date,IC_CONTENTS_SET_ID;

select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no, use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
	from TB_IC_N_CRL_BRDCST_PGM_HIST ORDER BY 4 DESC;
select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no,use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
	from TB_IC_N_CRL_BRDCST_SCHD_HIST A ORDER BY 4 DESC;
select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no,use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
	from TB_IC_N_CRL_PERSON_DETAIL_HIST A ORDER BY 4 DESC;
select * from tb_ic_n_crl_brdcst_pgm where crawling_hist_map_seq='63731';
select * from tb_ic_n_crl_brdcst_schd where crawling_hist_map_seq='63731';
select * from tb_ic_n_crl_person_detail where crawling_hist_map_seq='63731';
select * from tb_ic_n_svc_bas where IC_CONTENTS_SET_ID='';
select * from tb_ic_n_brdcst_pgm_mir where IC_CONTENTS_SET_ID='';
select * from tb_ic_n_brdcst_schd_org where IC_CONTENTS_SET_ID='';
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_BRDCST_PGM group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_BRDCST_schd group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_PERSON_DETAIL group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;

-- ipchannels

select A.ip_url, A.* from tb_ic_mso_bas A where mso_code like '30%'; 
select mso_code,mso_prdt_itm_code,prdt_ver,chan_ver,call_ver,chan_logo_ver,use_flag,interact_url, A.* from tb_ic_mso_prdt_itm_bas A where dvc_src_idx='7'; 
select A.mso_prdt_itm_code,A.use_flag, count(*) from tb_ic_mso_chan_map A, tb_ic_chan_bas B where A.mso_prdt_itm_code like '300%' and A.mso_prdt_itm_code!='300'
	and A.ic_contents_set_id=B.ic_contents_set_id and A.chan_code=B.chan_code and B.use_flag='Y' group by A.mso_prdt_itm_code,A.use_flag;
select chan_code from tb_ic_mso_chan_map where mso_prdt_itm_code='3000' order by chan_code;
select conf_code, stat_code, count(*) from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.conf_no=B.conf_no group by conf_code, stat_code;
select conf_code, stat_code, chan_no, count(*) from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.conf_no=B.conf_no group by conf_code, stat_code, chan_no;
select chan_code from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.CONF_NO=B.conf_no and stat_code='IB172' and conf_code='3000' order by chan_code;
select cntry_code,svc_set_cntry_id,use_flag,count(*) from tb_ic_chan_svc_cntry group by cntry_code,svc_set_cntry_id,use_flag; 
-- select IC_CONTENTS_SET_ID,src_id,use_flag, count(*) from tb_ic_chan_bas group by IC_CONTENTS_SET_ID,src_id,use_flag;
-- select IC_CONTENTS_SET_ID,chan_gr_id,use_flag, count(*) from tb_ic_chan_bas group by IC_CONTENTS_SET_ID,chan_gr_id,use_flag;
-- select IC_CONTENTS_SET_ID,phys_brdcst_type,use_flag, count(*) from tb_ic_chan_bas where phys_brdcst_type='IP' group by IC_CONTENTS_SET_ID,phys_brdcst_type,use_flag;
select IC_CONTENTS_SET_ID,cp_id,use_flag, count(*) from tb_ic_dmost_chan_bas group by IC_CONTENTS_SET_ID,cp_id,use_flag;

select str_to_date(A.start_time,'%H%i') utc, date_add(str_to_date(A.start_time,'%H%i'),INTERVAL 9 HOUR) kr, A.svc_act_flag, A.* from tb_ic_contents_set_job_gr A order by 5;
select serial_no, contents_set_id,job_type,gen_date,complt_date,schdr_prcs_stat flag,TIMEDIFF(COMPLT_DATE, GEN_DATE) time, 
    CONVERT_TZ(gen_date,'+00:00','+09:00') kr_start, CONVERT_TZ(complt_date,'+00:00','+09:00') kr_end from TB_IC_DMON_SCHD_HIST A 
    where contents_set_id like 'xumo%'
    ORDER BY 4 DESC;
select * from TB_IC_ERROR_HIST where error_code like 'DM%' order by error_occur_date desc;
select DATE(strt_time),IC_CONTENTS_SET_ID,COUNT(*) from tb_ic_n_svc_bas GROUP BY DATE(strt_time),IC_CONTENTS_SET_ID;
select strt_date,IC_CONTENTS_SET_ID,COUNT(*) from vi_ic_n_brdcst_schd GROUP BY strt_date,IC_CONTENTS_SET_ID;

select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no, use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
    from TB_IC_N_CRL_BRDCST_PGM_HIST ORDER BY 4 DESC;
select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no,use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
    from TB_IC_N_CRL_BRDCST_SCHD_HIST A ORDER BY 4 DESC;
select IC_CONTENTS_SET_ID,CRAWLING_SEQ,DB_DAEMON_JOB_TYPE type,CRT_DATE, LAST_CHG_DATE,gen_usr_no,use_flag,CONVERT_TZ(CRT_DATE,'+00:00','+09:00') kr_crt, CONVERT_TZ(LAST_CHG_DATE,'+00:00','+09:00') kr_last
    from TB_IC_N_CRL_PERSON_DETAIL_HIST A ORDER BY 4 DESC;
select * from tb_ic_n_crl_brdcst_pgm where crawling_hist_map_seq='63731';
select * from tb_ic_n_crl_brdcst_schd where crawling_hist_map_seq='63731';
select * from tb_ic_n_crl_person_detail where crawling_hist_map_seq='63731';
select * from tb_ic_n_svc_bas where IC_CONTENTS_SET_ID='';
select * from tb_ic_n_brdcst_pgm_mir where IC_CONTENTS_SET_ID='';
select * from tb_ic_n_brdcst_schd_org where IC_CONTENTS_SET_ID='';
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_BRDCST_PGM group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_BRDCST_schd group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;
select ic_contents_set_id,crawling_hist_map_seq, count(*) from TB_IC_N_CRL_PERSON_DETAIL group by ic_contents_set_id, crawling_hist_map_seq order by 3 desc;

-- ipchannels
select A.ip_url, A.* from tb_ic_mso_bas A where mso_code like '30%'; 
select mso_code,mso_prdt_itm_code,prdt_ver,chan_ver,call_ver,chan_logo_ver,use_flag,interact_url, A.* from tb_ic_mso_prdt_itm_bas A where dvc_src_idx='7'; 
select A.mso_prdt_itm_code,A.use_flag, count(*) from tb_ic_mso_chan_map A, tb_ic_chan_bas B where A.mso_prdt_itm_code like '300%' and A.mso_prdt_itm_code!='300'
    and A.ic_contents_set_id=B.ic_contents_set_id and A.chan_code=B.chan_code and B.use_flag='Y' group by A.mso_prdt_itm_code,A.use_flag;
select * from tb_ic_mso_chan_map where mso_prdt_itm_code like '3000%';
select conf_code, stat_code, count(*) from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.conf_no=B.conf_no group by conf_code, stat_code;
select conf_code, stat_code, chan_no, count(*) from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.conf_no=B.conf_no group by conf_code, stat_code, chan_no;
select A.stat_code, B.conf_code, A.chan_no, A.chan_code, A.chan_name 
    from tb_ib_conf_file A, tb_ib_conf_mgmt B where A.CONF_NO=B.conf_no and stat_code='IB171' and A.use_flag='Y' and B.use_flag='Y' and conf_code like '3000%';
select cntry_code,svc_set_cntry_id,use_flag,count(*) from tb_ic_chan_svc_cntry group by cntry_code,svc_set_cntry_id,use_flag; 
-- select IC_CONTENTS_SET_ID,src_id,use_flag, count(*) from tb_ic_chan_bas group by IC_CONTENTS_SET_ID,src_id,use_flag;
-- select IC_CONTENTS_SET_ID,chan_gr_id,use_flag, count(*) from tb_ic_chan_bas group by IC_CONTENTS_SET_ID,chan_gr_id,use_flag;
-- select IC_CONTENTS_SET_ID,phys_brdcst_type,use_flag, count(*) from tb_ic_chan_bas where phys_brdcst_type='IP' group by IC_CONTENTS_SET_ID,phys_brdcst_type,use_flag;
select IC_CONTENTS_SET_ID,cp_id,use_flag, count(*) from tb_ic_dmost_chan_bas group by IC_CONTENTS_SET_ID,cp_id,use_flag;

  • oracle

SELECT A.IC_CONTENTS_SET_ID,A.CRAWLING_SEQ seq,A.DB_DAEMON_JOB_TYPE type,gen_usr_no NO,TO_CHAR(CRT_DATE, 'YYYY/MM/DD hh24:mi') crt, TO_CHAR(LAST_CHG_DATE, 'YYYY/MM/DD hh24:mi') last_Chg, A.use_flag, 
TO_CHAR(CRT_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_crt, TO_CHAR(LAST_CHG_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_last
FROM hesdp_app.TB_IC_N_CRL_BRDCST_PGM_HIST A ORDER BY crt_date DESC;
SELECT A.IC_CONTENTS_SET_ID,A.CRAWLING_SEQ seq,A.DB_DAEMON_JOB_TYPE type,gen_usr_no NO,TO_CHAR(CRT_DATE, 'YYYY/MM/DD hh24:mi') crt, TO_CHAR(LAST_CHG_DATE, 'YYYY/MM/DD hh24:mi') last_Chg, A.use_flag, 
TO_CHAR(CRT_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_crt, TO_CHAR(LAST_CHG_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_last
FROM hesdp_app.TB_IC_N_CRL_BRDCST_SCHD_HIST A ORDER BY crt_date DESC;
SELECT A.IC_CONTENTS_SET_ID,A.CRAWLING_SEQ seq,A.DB_DAEMON_JOB_TYPE type,gen_usr_no NO,TO_CHAR(CRT_DATE, 'YYYY/MM/DD hh24:mi') crt, TO_CHAR(LAST_CHG_DATE, 'YYYY/MM/DD hh24:mi') last_Chg, A.use_flag, 
TO_CHAR(CRT_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_crt, TO_CHAR(LAST_CHG_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_last
FROM hesdp_app.TB_IC_N_CRL_PERSON_DETAIL_HIST A ORDER BY crt_date DESC; 

SELECT SERIAL_NO seq,CONTENTS_SET_ID,TO_CHAR(GEN_DATE, 'YYYY/MM/DD hh24:mi') GEN, TO_CHAR(COMPLT_DATE, 'YYYY/MM/DD hh24:mi') COMPLT, SCHDR_PRCS_STAT F,JOB_TYPE,
TO_CHAR(GEN_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_gen, TO_CHAR(COMPLT_DATE + 9/24, 'YYYY/MM/DD hh24:mi') kr_complt, ROUND((COMPLT_DATE - GEN_DATE) * 24 * 60, 0) time
FROM hesdp_app.TB_IC_DMON_SCHD_HIST A ORDER BY 1 DESC; 

SELECT TO_CHAR(TO_DATE(A.start_time,'hh24mi')+9/24,'hh24:mi') KST, 'UTC'||TO_CHAR(TO_DATE(A.start_time,'hh24mi'),'hh24:mi') GMT,A.INTVL_TIME intvl , A.SVC_ACT_FLAG F, A.* 
FROM hesdp_app.tb_ic_contents_set_job_gr A ORDER BY 6,1; 

SELECT IC_CONTENTS_SET_ID, TO_CHAR(STRT_TIME,'YYYY-MM-DD'), COUNT(*) FROM hesdp_app.TB_IC_N_SVC_BAS GROUP BY IC_CONTENTS_SET_ID, TO_CHAR(STRT_TIME,'YYYY-MM-DD') ORDER BY 1,2; 
SELECT IC_CONTENTS_SET_ID, TO_CHAR(STRT_DATE,'YYYY-MM-DD'), COUNT(*) FROM hesdp_app.VI_IC_N_BRDCST_SCHD WHERE use_flag='Y' GROUP BY IC_CONTENTS_SET_ID, TO_CHAR(STRT_DATE,'YYYY-MM-DD') ORDER BY 1,2; 
SELECT chan_code, COUNT(*) FROM TB_IC_N_SVC_BAS WHERE hesdp_app.chan_code LIKE '9999%' GROUP BY chan_code; 
SELECT chan_code, COUNT(*) FROM VI_IC_N_BRDCST_SCHD WHERE hesdp_app.chan_code LIKE '9999%' GROUP BY chan_code; 
SELECT TO_CHAR(STRT_TIME,'YYYY-MM-DD'), COUNT(*) FROM hesdp_app.TB_IC_N_SVC_BAS WHERE chan_code LIKE '9999%' GROUP BY TO_CHAR(STRT_TIME,'YYYY-MM-DD');
SELECT TO_CHAR(STRT_DATE,'YYYY-MM-DD'), COUNT(*) FROM hesdp_app.VI_IC_N_BRDCST_SCHD WHERE chan_code LIKE '9999%' GROUP BY TO_CHAR(STRT_DATE,'YYYY-MM-DD');

SELECT * FROM hesdp_app.tb_ic_error_hist WHERE ERROR_CODE LIKE 'DM%' ORDER BY error_occur_date DESC;
SELECT * FROM hesdp_app.tb_ic_last_upd_time_bas;

 

반응형

'db' 카테고리의 다른 글

oracle VS mysql  (0) 2020.02.26
mysql query tip  (0) 2020.01.31
H2 DB 사용방법  (0) 2019.10.30
mysql.*, information_schema.*  (0) 2019.09.06
mySQL local 설치 및 실행 (on windows)  (0) 2019.02.27
반응형
반응형
반응형

* [{},{},] 이렇게 json 잘못 요청하면
400 Bad Request
"JSON parse error: Unexpected character (']' (code 93)): expected a value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character (']' (code 93)): expected a value\n at [Source: (PushbackInputStream); line: 108, column: 3] (through reference chain: java.lang.Object[][2]))"

반응형

'java, spring' 카테고리의 다른 글

JPA ddl설정, queryDSL  (0) 2019.11.21
javax.validation.constraints.NotBlank vs NotNull  (0) 2019.11.12
spring  (0) 2019.06.12
spring security...  (0) 2019.06.11
jpa ...  (0) 2019.03.08
반응형
반응형

'java, spring' 카테고리의 다른 글

javax.validation.constraints.NotBlank vs NotNull  (0) 2019.11.12
spring error  (0) 2019.06.14
spring security...  (0) 2019.06.11
jpa ...  (0) 2019.03.08
spring JPA 환경설정  (0) 2019.02.28
반응형

git bash shorcuts

  • copy(ctrl+insert)
  • paste(shift+insert)
반응형

'git' 카테고리의 다른 글

git stash: branch에 따라 달라지지 않고 전체적으로 공유됨  (0) 2019.12.18
git ignore  (0) 2019.09.03
git rebase, cherry-pick을 잘 이해해보자  (0) 2019.06.11
git tag  (0) 2019.06.07
git diff troubleshooting  (0) 2019.06.07
반응형

HttpServletRequest.servletRequest.isUserInRole("ADMIN")

Returns a <code>java.security.Principal</code> object containing the name

* of the current authenticated user. If the user has not been

* authenticated, the method returns <code>null</code>

흠..어떻게 동작하는건지...

 

spring JwtAuthenticationFilter 401 unauthorized 안나도록 하기 위해 뭔가 처리를 해주니까 적용이 됬는데...
어떤 method 내용을 주석처리하고 대신 http.csrf.....이런거 추가했던거 같은데
정확히 기억이 안남 ㅠㅠ

http.csrf().disable(); 이거였던듯
(https://cnpnote.tistory.com/entry/SPRING-Spring-Boot-401-Unauthorized-%EB%B3%B4%EC%95%88-%EA%B8%B0%EB%8A%A5-%EC%97%86%EC%9D%8C)

SecurityConfig extends WebSecurityConfigurerAdapter

@Override
protected void configure(HttpSecurity http) throws Exception {
/////요부분이었던듯
///// permitAll로는 해결안되었고 http.crsf().xxxxxx로 해결되었던거 같음

http.cors().and().csrf().disable().exceptionHandling()
.authenticationEntryPoint(unauthorizedHandler).and().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
.antMatchers("/", "/favicon.ico", "/manifest.json", "/**/*.png", "/**/*.gif",
"/**/*.svg", "/**/*.jpg", "/**/*.html", "/**/*.css", "/**/*.js")
.permitAll().antMatchers("/api/auth/**").permitAll()
.antMatchers("/api/users/checkUsernameAvailability",
"/api/users/checkEmailAvailability")
.permitAll().anyRequest().authenticated();


// Add our custom JWT security filter
http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);


}

https://stackoverflow.com/questions/52904227/spring-security-401-unauthorized-even-with-permitall

반응형

'java, spring' 카테고리의 다른 글

javax.validation.constraints.NotBlank vs NotNull  (0) 2019.11.12
spring error  (0) 2019.06.14
spring  (0) 2019.06.12
jpa ...  (0) 2019.03.08
spring JPA 환경설정  (0) 2019.02.28
반응형

현재 이런상태라고 할 때

  • A <-B(master)
  • A <-C(develop)

mater와 develop branch를 합치려면 merge 또는 rebase 할수 있음

merge를 한다는 것은 parent를 2개로 모시겠다는 것,

rebase는 특정한 branch를 base(parent의 의미로 봐도 무방할 듯, 혹은 공통조상)로 보고 그 이후 수정을 모두 복사해봐서 갖다붙여서 일렬로 만들겠다는 것

git checkout master, git rebase develp을 하면

  • A <- C(develop) <-B'(master) 가 된다.

git checkout develp, git rebase master를 하면

  • A <- B(master) <- C(develop)이 된다
git rebase [branch] 를 한다는 것은 [branch]까지는 base로 보존하고 그 이후에는 현재 checkout 되있는 애의 변경을 다 복사해서 갖다붙이겠다는 것

cherry-pick은 한개 commit만 rebase하는 것과 같은 효과를 낼수 있다. 다만 cherry-pick과 rebase는 수동태/능동태 처럼 주어/목적어가 반대로 사용된다. cherry-pick은 특정커밋을 가져오는 것이고 rebase는 특정 브랜치를 base로 만들어버리는 것

  • A <- C(develop) <-B'(master) 로 만드려면, 다음 2가지로 가능
    • git checkout develop, git cherry-pick (B No.)
    • git checkout master, git rebase develop
반응형

'git' 카테고리의 다른 글

git ignore  (0) 2019.09.03
git bash shorcuts: copy(ctrl+insert), paste(shift+insert)  (0) 2019.06.11
git tag  (0) 2019.06.07
git diff troubleshooting  (0) 2019.06.07
gerrit  (0) 2019.04.30
반응형
  • git log --pretty=format:"%h %s"
  • git log --oneline [직전 반영된 submission번호] ..[반영할 submission번호]  git log --oneline submissions/2..submissions/5
  • local에 tag 추가 (annotated tab)
    • git tag -a submissions/1 -m "submissions/1" → 현재 HEAD가 가리키는 커밋을 가리키는 태그가 생성, HEAD가 뭔지 봐야함
    • git tag -a versions/1.0.0 -m "versions/1.0.0"
    • lightweight tag를 붙이려면 -a -m option "message" 빼고 git tag myTag
    • 특정 commit에 붙이려면 뒤에 hashCode 붙임 git tag myTag 9fceb02
  •  remote에 tag push
    • git push --tag → remote에는 적용안됨, local에만 적용되는 듯 remote에 적용됨
    • git push origin v1.0.0 → remote에 특정태그 적용
    • git push origin --tags → remote에 모든태그 적용
  • tig 해보면 맨 위에가 submissions/1이라는게 로그에 붙어져있음...
  • tag 확인
    • git tag
    • git show-ref submissions/1
  • tag삭제
    • git tag -d v1.0.0 → local에서 v1.0.0 태그 삭제
    • git push origin :v1.0.0 → remote 서버에서 v1.0.0 태그 삭제
반응형

'git' 카테고리의 다른 글

git bash shorcuts: copy(ctrl+insert), paste(shift+insert)  (0) 2019.06.11
git rebase, cherry-pick을 잘 이해해보자  (0) 2019.06.11
git diff troubleshooting  (0) 2019.06.07
gerrit  (0) 2019.04.30
Git: ssh public key 등록  (0) 2019.04.26

+ Recent posts