git

[git] git push ์ทจ์†Œํ•˜๊ธฐ ๋ฐ commit ๋‚ ์งœ ์ˆ˜์ •ํ•˜๊ธฐ

moaoh 2023. 8. 1. 20:37

์ƒํ™ฉ

๋งค์ผ ๊ฐ™์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์–ด์„œ ๊ทธ๋‚  ํ•ด๊ฒฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๊ทธ๋‚  ๋ฐ”๋กœ github์— ์˜ฌ๋ ค์„œ ํ•ด๋‹นํ•˜๋Š” ๋‚ ์งœ์—
commit์ด ๋‚จ๊ฒŒ ํ•˜๋Š”๊ฒŒ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉฐ ์ง„ํ–‰์„ ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์–ด์ œ ๊นŒ๋จน๊ณ  ๋ฌธ์ œ๋Š” ํ’€์—ˆ๋Š”๋ฐ github์— ์˜ฌ๋ฆฌ๋Š” ๊ฑธ ๊นŒ๋จน์—ˆ๊ณ ,
์‹ค์ˆ˜๋กœ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ push๊นŒ์ง€ ํ•ด๋ฒ„๋ ค์„œ github์—๋Š” ์˜ค๋Š˜๋‚ ์งœ๋กœ ๋ฐ•์ œ๊ฐ€ ๋˜์–ด๋ฒ„๋ ธ๋‹ค..
๊ทธ๋ž˜์„œ ์ง€๊ธˆ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€ ์˜ค๋Š˜ ์‹ค์ˆ˜๋กœ github์— ์˜ฌ๋ ค๋ฒ„๋ฆฐ push๋ฅผ ์ทจ์†Œํ•˜๊ณ  ์–ด์ œ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ commit์˜ ๋‚ ์งœ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ push๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

 

 

๊ฐ€์žฅ ์ตœ๊ทผ ์ปค๋ฐ‹ ์ทจ์†Œํ•˜๊ธฐ

์ผ๋‹จ์€ ์ฒซ ๋ฒˆ์งธ๋กœ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ์‹ค์ˆ˜๋กœ ์˜ฌ๋ ค๋ฒ„๋ฆฐ push๋ฅผ ์ทจ์†Œํ•˜๋Š” ์ž‘์—…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ github์—์„œ๋Š” push๋งŒ ๋”ฐ๋กœ ์ทจ์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŒŒ์ผ๋“ค์˜ commit log๋ฅผ ์ˆ˜์ •ํ•ด์„œ github๋ฅผ
๋ฎ์–ด์”Œ์šฐ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ( ์˜ค๋Š˜๋‚ ์งœ๋กœ ๋˜์–ด์žˆ๋Š” commit log ๋ง๊ณ , ์–ด์ œ๋‚ ์งœ๋กœ commit log๋ฅผ ์ˆ˜์ • )

 

$ git reset HEAD^

์œ„์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ๊ทผ์— ์‚ฌ์šฉํ–ˆ๋˜ commit ๊ธฐ๋ก์„ ์‚ญ์ œํ•ด ์ค€๋‹ค.

๋ช…๋ น์–ด ์‚ฌ์šฉ ์ „ / ๋ช…๋ น์–ด ์‚ฌ์šฉ ํ›„

$ git reset HEAD^

๊ทธ๋ž˜์„œ ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ ์ „๊ณผ ์‚ฌ์šฉ ํ›„๋ฅผ ๋น„๊ตํ•ด์„œ ๋ณด๋ฉด ๊ฐ€์žฅ ์ตœ๊ทผ commit์ด์—ˆ๋˜ 28113๋ฒˆ - ์ •๋ณด์„ฌ์˜ ๋Œ€์ค‘๊ตํ†ต์ด ์‚ฌ๋ผ์ง„ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ปค๋ฐ‹ ๋‚ ์งœ ์ˆ˜์ •ํ•˜์—ฌ ์ปค๋ฐ‹ํ•˜๊ธฐ

๊ทธ๋ž˜์„œ ์ด์ œ๋Š” ์ปค๋ฐ‹์„ ์ทจ์†Œ์‹œ์ผฐ์œผ๋‹ˆ ์˜ฌ๋ฆฌ๊ณ  ํ•˜์ž๋Š” 28113๋ฒˆ - ์ •๋ณด์„ฌ์˜ ๋Œ€์ค‘๊ตํ†ต์„ ์›ํ•˜๋Š” ๋‚ ์งœ๋กœ ๋‹ค์‹œ ์˜ฌ๋ฆฌ๋ฉด ๋œ๋‹ค.

$ git commit --amend --no-edit --date "{date}"
ex) $ git commit --amend --no-edit --date "Mon 31 Jul 2023 20:19:19 KST"

์œ„์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ commit์„ ์›ํ•˜๋Š” ๋‚ ์งœ๋กœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
{date}์— ์š”์ผ, ๋‚ ์งœ, ์›”, ๋…„, ์‹œ๊ฐ„์„ ๊ธฐ์ž…ํ•˜๋ฉด ๋œ๋‹ค.

 

 

 

๊ฐ•์ œ๋กœ pushํ•˜๊ธฐ

๊ทธ ํ›„์— commit์ด ๋˜์—ˆ์œผ๋‹ˆ ๋ฐ”๋กœ push๋ฅผ ํ•ด๋ฒ„๋ฆฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๋ฌธ๊ตฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฐœ์ƒ๋˜๋Š” ์ด์œ ๋Š” ๊ธฐ์กด์— github์— ์˜ฌ๋ผ๊ฐ€์ ธ ์žˆ๋Š” commit log์™€ ์ง€๊ธˆ ๋‚ด๊ฐ€ ์˜ฌ๋ฆฌ๊ณ ์žํ•˜๋Š” commit log๊ฐ€
์„œ๋กœ ๋‹ฌ๋ผ์„œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด ์œ„์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ์ด ๋˜๋Š”๋ฐ
์ง€๊ธˆ ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์กด์— commit log๋ฅผ ๋‚ ๋ฆฌ๊ณ  ์ง€๊ธˆ ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” commit log๋กœ ๋ฎ์–ด ์”Œ์šฐ๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ

$ git push -f
$ git push origin +{branch์ด๋ฆ„}

์œ„์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ push๋ฅผ ๊ฐ•์ œ๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

( push๋ฅผ ๊ฐ•์ œ๋กœ ํ•œ๋‹ค๋Š” ๊ฑฐ ์ž์ฒด๊ฐ€ ๊ธฐ์กด ๊ฒƒ๋“ค์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ ์ตœ๋Œ€ํ•œ ํ™•์ธํ•˜๊ณ  ์กฐ์‹ฌํžˆ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. )