เจเฉ เจคเฉเจธเฉเจ เจเจฟเฉฑเจ เจเจฎเจพเจเจกเจพเจ เจธเจฟเฉฑเจเฉเจเจ เจนเจจ เจชเจฐ เจเจฒเจชเจจเจพ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ (CI) เจ เจธเจฒ เจตเจฟเฉฑเจ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ? เจเจพเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจเจชเจฃเฉเจเจ เจฐเฉเจเจผเจพเจจเจพ เจฆเฉเจเจ เจเจคเฉเจตเจฟเจงเฉเจเจ เจจเฉเฉฐ เจ เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ? เจเจน เจเฉเจฐเจธ เจคเฉเจนเจพเจจเฉเฉฐ GitHub เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจตเจฟเฉฑเจ เจตเจฟเจนเจพเจฐเจ เจนเฉเจจเจฐ เจชเฉเจฐเจฆเจพเจจ เจเจฐเฉเจเจพเฅค เจเจน เจเฉเจฐเจธ เจเฉฑเจ เจตเจฟเจเจผเจพเจฐเจก เจฌเจฃเจจ เจฆเจพ เจเจฐเจพเจฆเจพ เจจเจนเฉเจ เจนเฉ เจเจฟเจธ เจจเฉเฉฐ เจคเฉเจธเฉเจ เจฌเจธ เจเจฒเจฟเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ; เจเจธเจฆเฉ เจเจฒเจ, เจคเฉเจธเฉเจ เจเจนเฉ เจเจพเจฐเจตเจพเจเจเจ เจเจฐเฉเจเฉ เจเฉ เจฒเฉเจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจเฉฐเจฎ 'เจคเฉ เจเจฐเจฆเฉ เจนเจจ, เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจเจฟเจตเฉเจ เจเจน เจเจฐเจฆเฉ เจนเจจเฅค เจฎเฉเจ เจฅเจฟเจเจฐเฉ เจฆเฉ เจตเจฟเจเจเจฟเจ เจเจฐเจพเจเจเจพ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจเจธ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฆเจฎเจพเจ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจเจฆเฉ เจนเฉเฅค
เจธเจพเจจเฉเฉฐ เจเฉ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ?
เจเจฟเจตเฉเจ เจ เจธเฉเจ เจคเจฐเฉฑเจเฉ เจเจฐเจฆเฉ เจนเจพเจ, เจ เจธเฉเจ เจนเฉเจฒเฉ-เจนเฉเจฒเฉ เจเจฎ CI เจเจฆเจฎเจพเจ เจฆเฉ เจเฉฑเจ เจธเฉเจเฉ เจฌเจฃเจพเจตเจพเจเจเฉ, เจเฉ เจเจฟ เจเจธ เจธเฉเจเฉ เจจเฉเฉฐ เจฏเจพเจฆ เจฐเฉฑเจเจฃ เจฆเจพ เจเฉฑเจ เจตเจงเฉเจ เจคเจฐเฉเจเจพ เจนเฉเฅค เจฆเฉเจเฉ เจธเจผเจฌเจฆเจพเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจนเจจเจพเจ เจเจพเจฐเจตเจพเจเจเจ เจฆเฉ เจเฉฑเจ เจธเฉเจเฉ เจฌเจฃเจพเจตเจพเจเจเฉ เจเฉ เจกเจฟเจตเฉเจฒเจชเจฐ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจเจฐเจฆเฉ เจนเฉเจ เจเจฐเจฆเฉ เจนเจจ, เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจเจฐเจฆเฉ เจนเจจเฅค เจ เจธเฉเจ เจเจชเจฃเฉ CI เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจ เจธเจฒ เจฆเฉ เจจเฉเฉเฉ เจฒเจฟเจเจเจฃ เจฒเจ เจเฉเจธเจเจพเจ เจฆเฉ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจธเฉเฉฑเจ เจฆเฉ เจตเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค
เจเจน GIF เจฏเฉเจเจจเจพเจฌเฉฑเจง เจคเฉเจฐ 'เจคเฉ เจคเฉเจนเจพเจกเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจเฉเจฐเจธ เจตเจฟเฉฑเจ เจ เฉฑเจเฉ เจตเจงเจฆเฉ เจนเฉเฅค เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจตเฉเจ เจธเจเจฆเฉ เจนเฉ, เจเฉฑเจฅเฉ เจเฉเจ เจตเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจจเจนเฉเจ เจนเฉ เจ เจคเฉ เจธเจฟเจฐเจซ เจธเจญ เจคเฉเจ เจเจผเจฐเฉเจฐเฉ เจนเฉ.
เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฎเจฟเจเจฐเฉ CI เจฆเฉเจฐเจฟเจธเจผเจพเจ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจเฉเจเฉ:
- เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ 'เจคเฉ เจเฉฐเจฎ;
- เจเฉเจฃเจตเฉฑเจคเจพ เจจเฉเฉฐ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฒเจ เจธเจตเฉเจเจฒเจฟเจค เจเฉเจธเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ;
- เจคเจฐเจเฉเจนเฉ เจเฉฐเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ;
- เจธเจผเจพเจเจพเจตเจพเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจฃ เจตเฉเจฒเฉ เจ เจชเจตเจพเจฆ เจฆเจพ เจนเฉฑเจฒ (เจ เจญเฉเจฆ เจตเจฟเจฐเฉเจง);
- เจเฉฑเจ เจชเฉเจฐเฉเจกเจเจธเจผเจจ เจตเจพเจคเจพเจตเจฐเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจฒเจคเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจคเฉเจธเฉเจ เจเฉ เจธเจฟเฉฑเจเฉเจเฉ?
เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจตเจพเจฒเจพเจ เจฆเฉ เจเจตเจพเจฌ เจฆเฉเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเฉ:
- เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ (CI) เจเฉ เจนเฉ?
- CI เจตเจฟเฉฑเจ เจเจฟเจธ เจเจฟเจธเจฎ เจฆเฉ เจธเจตเฉเจเจพเจฒเจฟเจค เจเฉเจธเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจจ, เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเจนเฉเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจฆเฉ เจเจตเจพเจฌ เจตเจฟเฉฑเจ เจเจพเจฒเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ?
- เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจเฉ เจนเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจฆเฉ เจเจฆเฉเจ เจฒเฉเฉ เจนเฉ?
- เจเฉเจธเจ เจกเฉเจฐเจพเจเจตเจจ เจกเจฟเจตเฉเจฒเจชเจฎเฉเจเจ (TDD) เจเฉ เจนเฉ เจ เจคเฉ เจเจน CI เจจเจพเจฒ เจเจฟเจตเฉเจ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเฉ?
- เจเฉ เจฎเฉเจจเฉเฉฐ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจพเจ เจฐเฉเจฌเฉเจธ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ?
- เจตเจพเจชเจธ เจฐเฉเจฒ เจเจฐเฉ เจเจพเจ เจ เจเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจ เฉเจ เจเจฐเฉ?
เจชเจนเจฟเจฒเจพเจ เจฎเฉเจ เจนเจฐ เจฅเจพเจ "เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ" เจตเจฐเจเฉเจเจ เจเฉเจเจผเจพเจ เจฆเจพ เจ เจจเฉเจตเจพเจฆ เจเฉเจคเจพ, เจชเจฐ เจจเจคเฉเจเฉ เจตเจเฉเจ เจฎเฉเจ เจเฉเจเจธเจ เจตเจฟเฉฑเจ เจชเจพเจเจฒเจชเจจ เจฆเฉ เจกเจฟเจเจฐเฉ เจจเฉเฉฐ เจเจเจพเจเจฃ เจฒเจ เจเฉเจ เจฅเจพเจตเจพเจ 'เจคเฉ เจ เฉฐเจเจฐเฉเจเจผเฉ เจตเจฟเฉฑเจ เจตเจพเจเจพเจเจธเจผ เจตเจพเจชเจธ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเฅค เจฎเฉเจ เจเจ เจตเจพเจฐ "เจชเฉเจฐเฉเจเจฐเจพเจฎเจฐ เจธเจฐเจเจผเจฟเจ" เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเจพ เจเจฟเจตเฉเจ เจเจฟ เจธเจผเจพเจจเจฆเจพเจฐ เจเฉเจฐเจฟเจ "เจเจฎเจฟเจ" เจเจฟเฉฑเจฅเฉ เจฒเฉเจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจเฉฐเจฎ 'เจคเฉ เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจเฅค
เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจเฉ เจนเฉ?
เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ, เจเจพเจ CI, เจเฉฑเจ เจคเจเจจเฉเจเฉ เจ เจญเจฟเจเจธ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจเฉเจฎ เจฎเฉเจเจฌเจฐ เจเจชเจฃเฉ เจเฉเจก เจจเฉเฉฐ เจเฉฑเจ เจเจฎ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจฆเจฟเจจ เจตเจฟเฉฑเจ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจจเจคเฉเจเจพ เจเฉเจก เจเฉฑเจเฉ-เจเฉฑเจ เจเจฒเจคเฉเจเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจฌเจฃเจพเจเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจธ เจธเจผเจฌเจฆ เจฌเจพเจฐเฉ เจฎเจคเจญเฉเจฆ เจนเจจ
เจตเจฟเจตเจพเจฆ เจฆเจพ เจฌเจฟเฉฐเจฆเฉ เจเจเฉเจเจฐเจฃ เจฆเฉ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจนเฉ. เจเฉเจ เจฒเฉเจ เจฆเจฒเฉเจฒ เจฆเจฟเฉฐเจฆเฉ เจนเจจ เจเจฟ เจเฉเจก เจจเฉเฉฐ เจเฉฑเจ เจฆเจฟเจจ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจตเจพเจฐ เจฎเจฟเจฒเจพเจเจฃเจพ เจ เจธเจฒ เจตเจฟเฉฑเจ เจฒเจเจพเจคเจพเจฐ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐเจจ เจฒเจ เจเจพเจซเจผเฉ เจจเจนเฉเจ เจนเฉเฅค เจเฉฑเจ เจเฉเจฎ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจฆเจฟเฉฑเจคเฉ เจเจ เจนเฉ เจเจฟเฉฑเจฅเฉ เจนเจฐ เจเฉเจ เจธเจตเฉเจฐเฉ เจคเจพเจเจผเจพ เจเฉเจก เจฒเฉเจเจฆเจพ เจนเฉ เจ เจคเฉ เจธเจผเจพเจฎ เจจเฉเฉฐ เจเฉฑเจ เจตเจพเจฐ เจเจธเจจเฉเฉฐ เจเฉเฉเจฆเจพ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ เจเจน เจเฉฑเจ เจตเจพเจเจฌ เจเจคเจฐเจพเจเจผ เจนเฉ, เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจฎเฉฐเจจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฟ เจเฉฑเจ เจฆเจฟเจจ เจฆเฉ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจตเจพเจเจฌ เจคเฉเจฐ 'เจคเฉ เจตเจฟเจนเจพเจฐเจ, เจเจพเจธ เจ เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจเจเจพเจฐเจพเจ เจฆเฉเจเจ เจเฉเจฎเจพเจ เจฒเจ เจขเฉเจเจตเฉเจ เจนเฉเฅค
เจเฉฑเจ เจนเฉเจฐ เจเจคเจฐเจพเจเจผ เจเจน เจนเฉ เจเจฟ C++ เจนเฉเจฃ เจตเจฟเจเจพเจธ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจพเจฃ เจตเจพเจฒเฉ เจเฉฑเจเฉ เจเฉฑเจ เจญเจพเจธเจผเจพ เจจเจนเฉเจ เจนเฉ, เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจฆเฉ เจเฉฑเจ เจขเฉฐเจ เจตเจเฉเจ เจเจฒเจคเฉ-เจฎเฉเจเจค เจ เจธเฉเจเจฌเจฒเฉ เจฆเฉ เจฒเฉเฉ เจเจฎเจเจผเฉเจฐ เจนเฉเฅค เจเฉเจธเจเจพเจ เจฆเฉ เจเฉเจ เจธเฉเฉฑเจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเฉเจคเฉ เจเจ เจฏเฉเจจเจฟเจ เจเฉเจธเจ) เจจเฉเฉฐ เจตเฉ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจชเฉเจฐเจพ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจธ เจธเจฎเฉเจ, เจญเจพเจเจเจพเจฐเจพ เจเจธ เจจเฉเฉฐ เจเฉฑเจ เจฒเฉเฉ เจฌเจฃเจพเจเจฃ เจตเฉฑเจฒ เจตเจง เจฐเจฟเจนเจพ เจนเฉ, เจ เจคเฉ เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ "เจฌเจฟเจฒเจก + เจฏเฉเจจเจฟเจ เจเฉเจธเจ" เจธเฉฐเจญเจต เจคเฉเจฐ 'เจคเฉ เจเจฎ เจ เจญเจฟเจเจธ เจฌเจฃ เจเจพเจตเฉเจเจพ, เจเฉเจเจฐ เจเจน เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจจเจนเฉเจ เจนเฉเฅค
เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจคเฉเจ เจตเฉฑเจเจฐเจพ เจฒเจเจพเจคเจพเจฐ เจกเจฟเจฒเฉเจตเจฐเฉ (เจจเจฟเจฐเฉฐเจคเจฐ เจกเจฟเจฒเจฟเจตเจฐเฉ, เจธเฉเจกเฉ) เจเจธ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจเจเฉเจเจฐเจฃ เจเฉฑเจเจฐ เจคเฉเจ เจฌเจพเจ เจฆ เจเฉฑเจ เจฐเฉเจฒเฉเจเจผ เจเจฎเฉเจฆเจตเจพเจฐ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจเจฆเจฎเจพเจ เจฆเฉ เจธเฉเจเฉ เจเฉ เจ เจธเฉเจ เจชเฉเจฐเฉ เจเฉเจฐเจธ เจฆเฉเจฐเจพเจจ เจตเจฐเจคเจพเจเจเฉ
- เจจเจตเฉเจจเจคเจฎ เจเฉเจก เจตเจฟเฉฑเจ เจเจฟเฉฑเจเฉ. เจคเฉเจ เจเฉฑเจ เจธเจผเจพเจเจพ เจฌเจฃเจพเจ
master
. เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเฉเฅค - เจเจชเจฃเฉ เจจเจตเฉเจ เจธเจผเจพเจเจพ 'เจคเฉ เจเจฎเจฟเจ เจฌเจฃเจพเจเฅค เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจฌเจฃเจพเจ เจ เจคเฉ เจเฉเจธเจ เจเจฐเฉเฅค เจชเจพเจธ? เจ เจเจฒเฉ เจชเฉเจพเจ 'เจคเฉ เจเจพเจเฅค เจซเฉเจฒ? เจเจฒเจคเฉเจเจ เจเจพเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจ เฉเจ เจเจฐเฉ เจ เจคเฉ เจฆเฉเจฌเจพเจฐเจพ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเฅค
- เจเจชเจฃเฉ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเจพเจ เจฐเจฟเจฎเฉเจ เจธเจผเจพเจเจพ เจตเฉฑเจฒ เจงเฉฑเจเฉเฅค
- เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเฅค เจคเจฌเจฆเฉเจฒเฉเจเจ 'เจคเฉ เจเจฐเจเจพ เจเจฐเฉ, เจเจฐเจเจพ เจเจพเจฐเฉ เจฐเจนเจฟเจฃ เจฆเฉ เจจเจพเจฒ เจนเฉเจฐ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค เจซเฉเจเจฐ เจธเจผเจพเจเจพ 'เจคเฉ เจเฉเจธเจ เจชเจพเจธ เจเจฐเฉเฅค
- เจฎเจพเจธเจเจฐ เจคเฉเจ เจฎเจฐเจ/เจฐเฉเจฌเฉเจธ เจเจฎเจฟเจเฅค เจ เจญเฉเจฆ เจจเจคเฉเจเฉ 'เจคเฉ เจเฉเจธเจ เจชเจพเจธ เจเจฐเฉเฅค
- เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจธเจผเจพเจเจพ เจคเฉเจ เจเจคเจชเจพเจฆเจจ เจคเฉฑเจ เจคเฉเจจเจพเจค เจเจฐเฉเฅค
- เจเฉ เจเฉเจ เจธเจฎเฉเจ เจฒเจ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจธเจญ เจเฉเจ เจตเจงเฉเจ เจนเฉ, เจคเจพเจ เจฎเจพเจธเจเจฐ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเฅค
๏ธ เจคเจฟเจเจฐเฉ
เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจธเจนเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจนเฉ
เจเจธ เจเฉเจฐเจธ เจจเฉเฉฐ เจฒเฉเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ
เจคเฉเจธเฉเจ เจเจฟเจธเฉ เจตเฉ เจเจฟเฉฑเจ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจฎเฉเจ เจธเจฟเจฐเจซ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจฒเจ เจเจฎเจพเจเจกเจพเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจพเจเจเจพเฅค
เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเจฟเฉฑเจ เจเจฒเจพเจเฉฐเจ เจธเจฅเจพเจชเจฟเจค เจนเฉ เจเฉ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉ
เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจ
เจเฉ เจคเฉฑเจ เจเฉเจ Git เจเจฒเจพเจเฉฐเจ เจจเจนเฉเจ เจนเฉ เจเฉ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจจเจฟเจฐเจฆเฉเจธเจผ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉ
เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเจฟเจเจฐ เจเจฐเฉ
เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจจเจฟเฉฑเจเฉ เจเจพเจชเฉ (เจเจพเจเจเจพ) เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ
เจนเฉ เจเจฟเจ? เจเฉเจเจฐ เจคเฉเจธเฉเจ เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจจเจนเฉเจ เจฌเจฆเจฒเจฟเจ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจกเฉ เจเฉเจฐเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจฌเฉเจฒเจพเจเจ เจเจพเจตเฉเจเจพ continuous-integration-team-scenarios-students
, เจเจน เจคเฉเจนเจพเจกเฉ GitHub เจเจพเจคเฉ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเฉ เจ
เจคเฉ URL เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ
https://github.com/<ะฒะฐัะต ะธะผั ะฟะพะปะทะพะฒะฐัะตะปั ะฝะฐ GitHub>/continuous-integration-team-scenarios-students
เจฎเฉเจ เจฌเจธ เจเจธ เจชเจคเฉ 'เจคเฉ เจเจพเจฒ เจเจฐเจพเจเจเจพ <URL ัะตะฟะพะทะธัะพัะธั>
.
เจเฉเจฃ เจฌเจฐเฉเจเจเจธ เจตเจฐเจเฉ
<ััั>
เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉเจตเฉเจเจพ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจ เจเจฟเจนเฉ เจธเจฎเฉเจเจฐเจจ เจจเฉเฉฐ เจเจเจฟเจค เจฎเฉเฉฑเจฒ เจจเจพเจฒ เจฌเจฆเจฒเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ GitHub เจเจพเจฐเจตเจพเจเจเจ เจเจธ เจเฉเจฐเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจธเจผเจพเจฎเจฒ เจนเฉเฅค เจเฉเจเจฐ เจเจน เจธเจฎเจฐเฉฑเจฅ เจจเจนเฉเจ เจนเจจ, เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจชเฉฐเจจเฉ เจฆเฉ เจฎเฉฑเจง เจตเจฟเฉฑเจ เจตเฉฑเจกเฉ เจฌเจเจจ เจคเฉ เจเจฒเจฟเจ เจเจฐเจเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเฉ, เจเจฟเจธเจจเฉเฉฐ เจคเฉเจธเฉเจ GitHub เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจเจพเจฐเจตเจพเจเจเจ เจจเฉเฉฐ เจฆเจฌเจพ เจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจเฉเจเจฐ GitHub เจเจเจธเจผเจจเจธ เจฏเฉเจ เจจเจนเฉเจ เจนเจจ เจคเจพเจ เจคเฉเจธเฉเจ เจฎเฉเจฐเฉเจเจ เจนเจฟเจฆเจพเจเจคเจพเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจฐเจธ เจจเฉเฉฐ เจชเฉเจฐเจพ เจจเจนเฉเจ เจเจฐ เจธเจเฉเจเฉเฅค
เจคเฉเจธเฉเจ เจนเจฎเฉเจธเจผเจพ เจฎเจพเจฐเจเจกเจพเจเจจ เจจเฉเฉฐ เจฐเฉเจเจกเจฐ เจเจฐเจจ เจฒเจ GitHub เจฆเฉ เจฏเฉเจเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจคเจพเจ เจเจฟ เจ เจธเฉเจ เจเฉฑเจฅเฉ เจเฉ เจธเฉเจเฉ เจคเจฟเจเจฐ เจเจฐ เจฐเจนเฉ เจนเจพเจ เจเจธ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจฆเฉเจเจฃ เจฒเจ
https://github.com/<your GitHub user name>/continuous-integration-team-scenarios-students/blob/master/ci.md
เจเจตเจพเจฌเจพเจ เจฌเจพเจฐเฉ
เจนเจพเจฒเจพเจเจเจฟ เจเจธ เจเฉเจฐเจธ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจฆเจพ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจคเจฐเฉเจเจพ เจนเฉ เจเจธเจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเจฐเจจเจพ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจ เจฎเฉเจธเจผเจเจฒเจพเจ เจ เจธเจเจฆเฉเจเจ เจนเจจเฅค
เจเฉ เจคเฉเจธเฉเจ เจฎเจนเจฟเจธเฉเจธ เจเจฐเจฆเฉ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจธเจฎเจ เจจเจนเฉเจ เจฐเจนเฉ เจเจฟ เจเฉ เจเจฐเจจเจพ เจนเฉ เจ
เจคเฉ เจเจพเจฐเฉ เจจเจนเฉเจ เจฐเฉฑเจ เจธเจเจฆเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจฅเจฐเจฟเฉฑเจก เจจเฉเฉฐ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ solution
, เจเฉ เจคเฉเจนเจพเจกเฉ เจธเจผเฉเจฐเฉเจเจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจนเฉเฅค
เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจ
เจญเฉเจฆ เจจเจพ เจเจฐเฉ solution
ะฒ master
เจเฉเจฐเจธ เจฆเฉเจฐเจพเจจ. เจคเฉเจธเฉเจ เจเจธ เจฌเฉเจฐเจพเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฒเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเฉ เจเจฐเจจเจพ เจนเฉ, เจเจพเจ เจฒเฉเจเจ เจฆเฉ เจจเจพเจฒ เจเจชเจฃเฉ เจเฉเจก เจฆเฉ เจคเฉเจฒเจจเจพ เจเจฐเจจ เจฒเจ, เจเจนเจจเจพเจ เจธเจพเจฐเฉเจเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉ Git เจธเจพเจจเฉเฉฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเฉเจเจ เจเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฌเจฆเจฒ เจธเจเจฆเฉ เจนเฉ master
เจเฉฑเจ เจธเจผเจพเจเจพ 'เจคเฉ solution
เจ
เจคเฉ เจซเจฟเจฐ เจเจชเจฃเฉ เจตเจฐเจเจฟเฉฐเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจคเฉเจนเจพเจกเฉ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจฐเจธ เจชเฉเจพเจ
'เจคเฉ เจฐเฉเจธเฉเจ เจเจฐเฉเฅค
เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจ เจธเจฒ เจตเจฟเฉฑเจ เจเจธเจฆเฉ เจฒเฉเฉ เจนเฉ เจคเจพเจ เจนเฉ เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ
เจเจชเจฃเจพ เจเฉเจก เจฆเจฟเจ
git add .
git commit -m "Backing up my work"
เจเจน เจนเฉเจเจฎ
- เจจเจพเจฎ เจฌเจฆเจฒเฉ
master
ะฒmaster-backup
; - เจจเจพเจฎ เจฌเจฆเจฒเฉ
solution
ะฒmaster
; - เจเฉฑเจ เจจเจตเฉเจ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจเฉเฉฑเจเจเจเจ เจเจฐเฉ
master
เจ เจคเฉ เจตเจฐเจเจฟเฉฐเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฆเฉเจเจ เจธเจฎเฉฑเจเจฐเฉเจเจ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจเฉ; - เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ "เจนเฉฑเจฒ" เจธเจผเจพเจเจพ เจฆเฉ เจฒเฉเฉ เจนเฉ เจคเจพเจ "เจฎเจพเจธเจเจฐ" (เจเฉ "เจนเฉฑเจฒ" เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจธเฉ) เจคเฉเจ เจเฉฑเจ "เจนเฉฑเจฒ" เจธเจผเจพเจเจพ เจฌเจฃเจพเจเฅค
git branch -m master master-backup
git branch -m solution master
git checkout master -f
git branch solution
เจเจนเจจเจพเจ เจเจฆเจฎเจพเจ เจคเฉเจ เจฌเจพเจ
เจฆ เจคเฉเจธเฉเจ เจตเจฐเจค เจธเจเจฆเฉ เจนเฉ git log master
เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฒเจ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจธ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจตเจฐเจเจฟเฉฐเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจฐเฉเจธเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ:
git reset --hard <the SHA you need>
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจจเจคเฉเจเฉ เจคเฉเจ เจเฉเจธเจผ เจนเฉ, เจคเจพเจ เจเจฟเจธเฉ เจธเจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจเจชเจฃเฉ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉเฅค เจเจฆเฉเจ เจคเฉเจธเฉเจ เจ เจเจฟเจนเจพ เจเจฐเจฆเฉ เจนเฉ เจคเจพเจ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจฐเจฟเจฎเฉเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉเฅค
git push --force origin master
เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจจเฉเจ เจเจฐเฉ เจเจฟ เจ
เจธเฉเจ เจตเจฐเจคเจฆเฉ เจนเจพเจ git push --force
. เจเจน เจ
เจธเฉฐเจญเจต เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจเจน เจ
เจเจธเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจเฉ, เจชเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจฅเฉ เจเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจฌเจนเฉเจค เจเจพเจธ เจฆเฉเจฐเจฟเจธเจผ เจนเฉ, เจเฉ เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจธเจฎเจเจฆเจพ เจนเฉ เจเจฟ เจเจน เจเฉ เจเจฐ เจฐเจฟเจนเจพ เจนเฉเฅค
เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจเจ CI เจเจฆเจฎเจพเจ เจฆเฉ เจธเจพเจกเฉ เจธเฉเจเฉ เจจเฉเฉฐ เจเฉฐเจชเจพเจเจฒ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ เจคเฉเจธเฉเจ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจเฉเจก เจฆเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจเจพเจเจ เจเจฐเจเฉ เจเจธ เจชเฉเจพเจ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฉ, เจชเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจ เจเฉ เจเฉเจ เจธเจฅเจพเจจเจ เจญเฉฐเจกเจพเจฐ เจจเจนเฉเจ เจนเฉ, เจเจธเจฒเจ เจ เจธเฉเจ เจเจธ เจฆเฉ เจฌเจเจพเจ เจฐเจฟเจฎเฉเจ เจคเฉเจ เจเจธ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเจฆเฉ เจนเจพเจเฅค
๏ธ เจเจพเจธเจ: เจธเจฅเจพเจจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจ
เจชเจกเฉเจ เจเจฐเฉ, เจเจธ เจคเฉเจ เจเฉฑเจ เจธเจผเจพเจเจพ เจฌเจฃเจพเจ master
, เจเฉฐเจฎ เจธเจผเฉเจฐเฉ เจเจฐเฉ
- เจคเฉเจ เจเฉเจฐเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเฉ
<URL ัะตะฟะพะทะธัะพัะธั>
. - เจฐเจจ
npm install
เจเฉเจฐเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ; เจธเจพเจจเฉเฉฐ เจเฉเจธเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฒเจ เจเจธเจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจฟเจธเจฆเฉ เจตเจฐเจคเฉเจ เจ เจธเฉเจ เจเฉเจธเจ เจเจฒเจพเจเจฃ เจฒเจ เจเจฐเจฆเฉ เจนเจพเจเฅค - เจเฉฑเจ เจธเจผเจพเจเจพ เจฌเจฃเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจจเจพเจฎ เจฆเจฟเจ
feature
. เจเจธ เจฅเจฐเจฟเฉฑเจก 'เจคเฉ เจเจพเจเฅค -
เจตเจฟเฉฑเจ เจเฉเจธเจ เจเฉเจก เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.test.js
เจฎเฉเจจเฉเฉฐ เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ เจเจนเจฟเจฃ เจตเจพเจฒเฉเจเจ เจเจฟเฉฑเจชเจฃเฉเจเจ เจฆเฉ เจตเจฟเจเจเจพเจฐเฅคit('1. pull latest code', () => { expect(/.*pull.*/ig.test(fileContents)).toBe(true); }); it('2. add commits', () => { expect(/.*commit.*/ig.test(fileContents)).toBe(true); }); it('3. push to the remote branch with the same name', () => { expect(/.*push.*/ig.test(fileContents)).toBe(true); }); it('4. create a pull request and continue working', () => { expect(/.*pulls+request.*/ig.test(fileContents)).toBe(true); });
- เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเฉ 4 เจชเฉเจพเจตเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉเจเจธเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.md
.1. Pull in the latest code. Create a branch from `master`. Start working. 2. Create commits on your new branch. Build and test locally. Pass? Go to the next step. Fail? Fix errors or tests and try again. 3. Push to your remote repository or remote branch. 4. Create a pull request. Discuss the changes, add more commits as discussion continues. Make tests pass on the feature branch.
ะะพะผะฐะฝะดั
# ะะปะพะฝะธััะนัะต ัะตะฟะพะทะธัะพัะธะน ะบัััะฐ
git clone <repository URL>
cd <repository name>
# ะัะฟะพะปะฝะธัะต npm install ะฒ ะบะฐัะฐะปะพะณะต ัะตะฟะพะทะธัะพัะธั ะบัััะฐ; ะพะฝ ัััะฐะฝะพะฒะธั Jest, ะบะพัะพััะน ะผั ะธัะฟะพะปัะทัะตะผ ะดะปั ะทะฐะฟััะบะฐ ัะตััะพะฒ.
npm install
# ะกะพะทะดะฐะนัะต ะฒะตัะบั ะธ ะฝะฐะทะพะฒะธัะต ะตะต feature. ะะตัะตะบะปััะธัะตัั ะฝะฐ ััั ะฒ ะฒะตัะบั.
git checkout -b feature
# ะััะตะดะฐะบัะธััะนัะต ci.test.js ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒััะต.
# ะััะตะดะฐะบัะธััะนัะต ci.md ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒััะต
เจจเจตเฉเจ เจธเจผเจพเจเจพ 'เจคเฉ เจเจฎเจฟเจ เจฌเจฃเจพเจ, เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจฌเจฃเจพเจ เจ เจคเฉ เจเฉเจธเจ เจเจฐเฉ
เจ เจธเฉเจ เจเจฎเจฟเจ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจฒเจพเจเจฃ เจฒเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐเจจ เจเจพ เจฐเจนเฉ เจนเจพเจ, เจ เจคเฉ เจซเจฟเจฐ เจเฉเจก เจจเฉเฉฐ เจเจฎเจฟเจ เจเจฐเจพเจเจเฉเฅค
เจเจฎ เจฆเฉเจฐเจฟเจธเจผ เจเจฆเฉเจ เจเฉเจธเจ เจเจชเจฃเฉ เจเจช เจเฉฑเจฒเจฆเฉ เจนเจจ
- เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ:
- เจฒเจเจพเจคเจพเจฐ เจเจพเจ เจเจเจฟเจค เจเฉเจก เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเจตเจพเจฌ เจตเจฟเฉฑเจ;
- เจธเฉฐเจญเจพเจฒเจฃ 'เจคเฉ (เจฆเฉเจญเจพเจธเจผเฉเจ เจเจพเจ JIT-เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉเจเจ เจญเจพเจธเจผเจพเจตเจพเจ เจฒเจ);
- เจ เจธเฉเจเจฌเจฒเฉ เจฆเฉ เจฆเฉเจฐเจพเจจ (เจเจฆเฉเจ เจธเฉฐเจเจฒเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ);
- เจตเจเจจเจฌเฉฑเจงเจคเจพ 'เจคเฉ;
- เจเฉฑเจ เจธเจผเฉเจ เจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจตเฉเจฒเฉ.
- เจฌเจฟเจฒเจก เจธเจฐเจตเจฐ เจเจพเจ เจฌเจฟเจฒเจก เจตเจพเจคเจพเจตเจฐเจจ 'เจคเฉ:
- เจเจฆเฉเจ เจเฉเจก เจเจฟเจธเฉ เจจเจฟเฉฑเจเฉ เจธเจผเจพเจเจพ/เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
- เจเจธ เจฅเฉเจฐเฉเจก เจตเจฟเฉฑเจ เจเฉเจก เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจนเฉเฅค
- เจ
เจญเฉเจฆ เจฆเฉ เจธเฉฐเจญเจพเจตเฉ เจจเจคเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ (เจเจฎ เจคเฉเจฐ 'เจคเฉ เจจเจพเจฒ
master
). - เจเฉฑเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจชเฉเจพเจ / เจจเจฟเจฐเฉฐเจคเจฐ เจกเจฟเจฒเจฟเจตเจฐเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเฉเจธเจ เจธเฉเจ เจเจฟเฉฐเจจเฉ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจเจจเฉ เจนเฉ เจเจผเจฟเจเจฆเจพ เจตเจพเจฐ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ เจฐเฉฑเจเจฆเฉ เจนเฉเฅค เจเฉฑเจ เจเจฎ เจชเฉเจพเจ เจฆเฉ เจตเฉฐเจก เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉ เจธเจเจฆเฉ เจนเฉเฅค
- เจซเจพเจธเจ เจฏเฉเจจเจฟเจ เจเฉเจธเจ - เจฌเจฟเจฒเจก เจฆเฉ เจฆเฉเจฐเจพเจจ, CI เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ
- เจนเฉเจฒเฉ เจฏเฉเจจเจฟเจ เจเฉเจธเจ, เจคเฉเจเจผ เจเฉฐเจชเฉเจจเฉเจเจ เจ เจคเฉ เจเจเฉเจเจฐเจฃ เจเฉเจธเจ - CI เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ, เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจนเฉเจฃ 'เจคเฉ
- เจนเฉเจฒเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจ เจคเฉ เจเจเฉเจเจฐเจฃ เจเฉเจธเจ - CI เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ
- เจธเฉเจฐเฉฑเจเจฟเจ เจเฉเจธเจเจฟเฉฐเจ, เจฒเฉเจก เจเฉเจธเจเจฟเฉฐเจ เจ เจคเฉ เจนเฉเจฐ เจธเจฎเจพเจ เจฒเฉเจฃ เจตเจพเจฒเฉ เจเจพเจ เจฎเจนเจฟเฉฐเจเฉ เจเฉเจธเจ - CI/CD เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจตเจฟเฉฑเจ, เจชเจฐ เจฌเจฟเจฒเจก เจฆเฉ เจเฉเจ เจฎเฉเจก/เจชเฉเจพเจ /เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจตเจฟเฉฑเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฐเฉเจฒเฉเจเจผ เจเจฎเฉเจฆเจตเจพเจฐ เจจเฉเฉฐ เจคเจฟเจเจฐ เจเจฐเจจ เจตเฉเจฒเฉ เจเจพเจ เจนเฉฑเจฅเฉเจ เจเจฒเจพเจเจฃ เจตเฉเจฒเฉเฅค
๏ธเจเจพเจธเจ
เจฎเฉเจ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉฑเจฅเฉเจ เจเฉเจธเจ เจเจฒเจพเจเจฃ เจฆเจพ เจธเฉเจเจพเจ
เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ npm test
. เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ, เจเจ เจเจชเจฃเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจฎเจฟเจ 'เจคเฉ เจเจฒเจพเจเจฃ เจฒเจ เจเฉฑเจ เจเจฟเฉฑเจ เจนเฉเฉฑเจ เจเฉเฉเฉเจเฅค เจเฉฑเจฅเฉ เจเฉฑเจ เจเฉเจ เจนเฉ: Git เจนเฉเฉฑเจเจพเจ เจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจจเจนเฉเจ เจฎเฉฐเจจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจเจธเจฒเจ เจฌเจพเจเฉ เจเฉเจฐเจธ เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจพเจฒ GitHub เจคเฉเจ เจเจฒเฉเจจ เจจเจนเฉเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจนเฉเฉฑเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ install_hook.sh
เจเจพเจ เจซเจพเจเจฒ เจฆเฉ เจจเจเจฒ เจเจฐเฉ repo/hooks/pre-commit
เจธเจฅเจพเจจเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ .git/hooks/
.
เจเจฆเฉเจ เจคเฉเจธเฉเจ เจตเจเจจเจฌเฉฑเจง เจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเฉเจธเฉเจ เจฆเฉเจเฉเจเฉ เจเจฟ เจเฉเจธเจ เจเจฒเจพเจ เจเจพเจเจฆเฉ เจนเจจ เจ
เจคเฉ เจเจน เจเจน เจฆเฉเจเจฃ เจฒเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจจ เจเจฟ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจเฉเจ เจเฉเจตเจฐเจก เจฎเฉเจเฉเจฆ เจนเจจ เจเจพเจ เจจเจนเฉเจเฅค
- เจเจฎเจพเจเจก เจเจฒเจพ เจเฉ เจนเฉฑเจฅเฉเจ เจเฉเจธเจ เจเจฒเจพเจ
npm test
เจคเฉเจนเจพเจกเฉ เจเฉเจฐเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ. เจเจพเจเจ เจเจฐเฉ เจเจฟ เจเฉเจธเจ เจชเฉเจฐเฉ เจนเฉ เจเจ เจนเจจเฅค - เจเจฒเจพ เจเฉ เจเฉฑเจ เจเจฎเจฟเจ เจนเฉเฉฑเจ (เจชเฉเจฐเฉ-เจเจฎเจฟเจ เจนเฉเฉฑเจ) เจธเฉเฉฑเจ เจเจฐเฉ
install_hook.sh
. - เจเจชเจฃเฉ เจธเจฅเจพเจจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเจชเจฃเฉเจเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเฉเฅค
- เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจเฉเจธเจ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉเจธเจ เจเฉเจคเฉ เจเจ เจนเจจเฅค
เจเจนเจจเจพเจ เจเจฆเจฎเจพเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ เจคเฉเจนเจพเจกเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
ะะพะผะฐะฝะดั
# ะฃััะฐะฝะพะฒะธัะต pre-commit hook ะฒัะฟะพะปะฝะธะฒ install_hook.sh.
# ะะฐะบะพะผะผะธัััะต ะธะทะผะตะฝะตะฝะธั ะฒ ะปะพะบะฐะปัะฝัะน ัะตะฟะพะทะธัะพัะธะน. ะัะฟะพะปัะทัะนัะต "Add first CI steps" ะฒ ะบะฐัะตััะฒะต ัะพะพะฑัะตะฝะธั ะฟัะธ ะบะพะผะผะธัะต.
git add ci.md ci.test.js
git commit -m "Add first CI steps"
# ะฃะฑะตะดะธัะตัั, ััะพ ัะตััั ะทะฐะฟััะบะฐัััั ะฟะตัะตะด ะบะพะผะผะธัะพะผ.
เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเจพเจ เจฐเจฟเจฎเฉเจ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจเฉเจก เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ
เจเฉฑเจ เจตเจพเจฐ เจเจฆเฉเจ เจเจน เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐ เจฒเฉเจเจฆเฉ เจนเจจ, เจคเจพเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจชเจฃเฉ เจเฉเจก เจจเฉเฉฐ เจเจจเจคเจ เจคเฉเจฐ 'เจคเฉ เจเจชเจฒเจฌเจง เจเจฐเจตเจพเจเจเจฆเฉ เจนเจจ เจคเจพเจ เจเฉ เจเจเจฟเจฐเจเจพเจฐ เจเจธเจจเฉเฉฐ เจเจจเจคเจพ เจจเจพเจฒ เจเฉเฉเจฟเจ เจเจพ เจธเจเฉเฅค GitHub เจฆเฉ เจจเจพเจฒ, เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ (เจจเจฟเฉฑเจเฉ เจซเฉเจฐเจ) เจฆเฉ เจจเจฟเฉฑเจเฉ เจเจพเจชเฉ เจเจพเจ เจจเจฟเฉฑเจเฉ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจเฉ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
- เจซเฉเจฐเจ เจฆเฉ เจจเจพเจฒ, เจเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจผเฉเจ
เจฐเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเจฆเจพ เจนเฉ, เจเจธเจฆเฉ เจเฉฑเจ เจจเจฟเฉฑเจเฉ เจฐเจฟเจฎเฉเจ เจเจพเจชเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจเจฟเจธเจจเฉเฉฐ เจซเฉเจฐเจ เจตเฉ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจซเจฟเจฐ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเจธ เจจเจฟเฉฑเจเฉ เจญเฉฐเจกเจพเจฐ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจฆเฉเจ เจเฉฐเจฎ เจชเฉเจฐเจพ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจเจฎเจฟเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ, เจคเจพเจ เจเจน เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจซเฉเจฐเจ เจตเจฟเฉฑเจ เจงเฉฑเจเจฆเจพ เจนเฉ, เจเจฟเฉฑเจฅเฉ เจเจน เจฆเฉเจเจฟเจเจ เจฒเจ เจเจชเจฒเจฌเจง เจนเฉเฉฐเจฆเฉ เจนเจจ เจ
เจคเฉ เจธเจพเจเจเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเจเฉเจเฉเจฐเจฟเจค เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค เจเจน เจชเจนเฉเฉฐเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ GitHub 'เจคเฉ เจเจชเจจ เจธเฉเจฐเจธ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจน เจฎเฉเจฐเฉ เจเฉฑเจจเจค เจเฉเจฐเจธ [เจเฉเจฎ เจตเจฐเจ เจ
เจคเฉ เจธเฉเจเจ เจตเจฟเจฆ เจเจฟเฉฑเจ] เจตเจฟเฉฑเจ เจตเฉ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (
http://devops.redpill.solutions/ ). - เจเฉฑเจ เจนเฉเจฐ เจคเจฐเฉเจเจพ เจนเฉ เจธเจฟเจฐเจซ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจ
เจคเฉ เจธเจฟเจฐเจซ เจธเจผเจพเจเจพ เจฆเฉ เจเจฟเจฃเจคเฉ เจเจฐเจจเจพ
master
เจธเจผเฉเจ เจฐเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ "เจธเฉเจฐเฉฑเจเจฟเจ เจค"เฅค เจเจธ เจฆเฉเจฐเจฟเจธเจผ เจตเจฟเฉฑเจ, เจตเจฟเจ เจเจคเฉเจเจค เจกเจฟเจตเฉเจฒเจชเจฐ เจเจชเจฃเฉ เจเฉเจก เจจเฉเฉฐ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉเจเจ เจธเจผเจพเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจจ เจคเจพเจ เจเฉ เจฆเฉเจธเจฐเฉ เจเจธ เจเฉเจก เจจเฉเฉฐ เจฆเฉเจ เจธเจเจฃ, เจเฉเจเจฐ เจธเจญ เจเฉเจ เจ เฉเจ เจนเฉ, เจคเจพเจ เจเจธเจจเฉเฉฐ เจเจธ เจจเจพเจฒ เจฎเจฟเจฒเจพเจmaster
เจธเจผเฉเจ เจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ.
เจเจธ เจเจพเจธ เจเฉเจฐเจธ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเฉฑเจ เจตเจฐเจเจซเจฒเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ เจเฉ เจธเจผเจพเจเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค
เจเจ เจธเจพเจกเจพ เจเฉเจก เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉเจเฅค
๏ธเจเจพเจธเจ
- เจฐเจฟเจฎเฉเจ เจฌเฉเจฐเจพเจเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจพเจต เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ เจเจฟเจธ เจจเจพเจฎ เจจเจพเจฒ เจคเฉเจนเจพเจกเฉ เจเจพเจฐเจเจเจพเจฐเฉ เจธเจผเจพเจเจพ เจนเฉ
ะะพะผะฐะฝะดั
git push --set-upstream origin feature
เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ
เจธเจฟเจฐเจฒเฉเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ เจเจฆเจฎ เจธเจฎเฉเจเจฟเจ. เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ feature
เจเจฟเจตเฉเจ "เจธเจฟเจฐ เจฆเฉ เจธเจผเจพเจเจพ" เจ
เจคเฉ master
เจเจฟเจตเฉเจ "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ"เฅค
เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจนเฉ
master
เจเจธ เจฆเฉ เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจซเฉเจฐเจ เจเจฐเฉ เจเฉฑเจ "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ" เจตเจเฉเจ, เจฎเฉเจ เจเฉเจฐเจธ เจธเจฎเฉฑเจเจฐเฉ เจญเฉฐเจกเจพเจฐ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจฆเจพ เจเจตเจพเจฌ เจจเจนเฉเจ เจฆเฉเจตเจพเจเจเจพเฅค
GitHub lingo เจตเจฟเฉฑเจ, "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ" เจเจน เจฌเฉเจฐเจพเจเจ เจนเฉ เจเจฟเจธ 'เจคเฉ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจเฉฐเจฎ เจจเฉเฉฐ เจเจงเจพเจฐเจฟเจค เจเจฐเจฆเฉ เจนเฉ, เจ เจคเฉ "เจนเฉเฉฑเจก เจฌเฉเจฐเจพเจเจ" เจเจน เจฌเฉเจฐเจพเจเจ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจฌเจฆเจฒเจพเจ เจนเฉเฉฐเจฆเฉ เจนเจจเฅค
เจชเจฐเจฟเจตเจฐเจคเจจเจพเจ 'เจคเฉ เจเจฐเจเจพ เจเจฐเฉ, เจเจฐเจเจพ เจเจพเจฐเฉ เจฐเจนเจฟเจฃ เจฆเฉ เจจเจพเจฒ เจจเจตเฉเจ เจเจฎเจฟเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ (PR)
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ (PR) เจเจฐเจเจพ เจเจฐเจจ เจ เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจเฉเจก เจฆเฉ เจจเจพเจฒ-เจจเจพเจฒ เจธเฉฐเจเจพเจฒเจจ เจเฉเจก เจธเจฎเฉเจเจฟเจ เจฆเจพ เจเฉฑเจ เจคเจฐเฉเจเจพ เจนเฉเฅค เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฆเจพ เจจเจพเจฎ เจธเจฎเฉเฉฑเจเฉ เจเฉเจก เจตเจฟเฉฑเจ เจตเจฟเจ เจเจคเฉเจเจค เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐเจจ เจฆเฉ เจเจฎ เจคเจฐเฉเจเฉ เจฆเฉ เจฌเจพเจ เจฆ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเฉเจ เจตเจฟเจ เจเจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจฐเจฟเจฎเฉเจ เจ เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจฒเฉเจจ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเฉเจก 'เจคเฉ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจน เจเฉเจก เจจเฉเฉฐ เจเจชเจฃเฉ เจจเจฟเฉฑเจเฉ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฆเจพ เจนเฉ เจ เจคเฉ เจ เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจเฉเฉฑเจเจฃ เจฒเจ เจเจนเจฟเฉฐเจฆเจพ เจนเฉ(เจเจฟเฉฑเจเฉ) เจเจธเจฆเจพ เจเฉเจก เจเจนเจจเจพเจ เจฆเฉ เจธเจฅเจพเจจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจนเฉ, เจเจฟเฉฑเจฅเฉ เจเจน เจธเจฎเฉเจเจฟเจ เจเจฐเจฆเฉ เจนเจจ เจ เจคเฉ เจธเฉฐเจญเจต เจคเฉเจฐ 'เจคเฉ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐเจฆเฉ เจนเจจ(เจ เจญเฉเจฆ) เจเจธเจฆเจพเฅค เจเจธ เจงเจพเจฐเจจเจพ เจจเฉเฉฐ เจนเฉเจฐ เจจเจพเจตเจพเจ เจจเจพเจฒ เจตเฉ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจฃ เจตเจเฉเจ, เจฎเจฟเจฒเจพเจเจฃ เจฆเฉ เจฌเฉเจจเจคเฉ.
เจคเฉเจนเจพเจจเฉเฉฐ เจ เจธเจฒ เจตเจฟเฉฑเจ GitHub เจเจพเจ เจธเจฎเจพเจจ เจชเจฒเฉเจเจซเจพเจฐเจฎเจพเจ เจฆเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจจเจนเฉเจ เจนเฉ. เจตเจฟเจเจพเจธ เจเฉเจฎเจพเจ เจเจนเจฎเฉ-เจธเจพเจนเจฎเจฃเฉ เจธเฉฐเจเจพเจฐ, เจตเฉเจเจธ เจเจพเจฒเจพเจ, เจเจพเจ เจเจฎเฉเจฒ เจธเจฎเฉเจค เจธเฉฐเจเจพเจฐ เจฆเฉ เจนเฉเจฐ เจคเจฐเฉเจเจฟเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจซเฉเจฐเจฎ-เจธเจผเฉเจฒเฉ เจฆเฉเจเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจ เจเฉ เจตเฉ เจเจ เจเจพเจฐเจจ เจนเจจเฅค เจเฉฑเจฅเฉ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจนเจจ:
- เจเจพเจธ เจเฉเจก เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเฉฐเจเจ เจฟเจค เจเจฐเจเจพเจตเจพเจ;
- เจเจเฉเจเฉเจธเจเจฐเจพเจ เจ เจคเฉ เจธเจพเจฅเฉเจเจ เจฆเฉเจตเจพเจ เจคเฉเจ เจเฉฐเจฎ-เจเจจ-เจชเฉเจฐเจเจคเฉ เจฌเจพเจฐเฉ เจซเฉเจกเจฌเฉเจ เจฆเฉเจเจฃ เจฒเจ เจเฉฑเจ เจธเจฅเจพเจจ เจตเจเฉเจ;
- เจเฉเจก เจธเจฎเฉเจเจฟเจเจตเจพเจ เจฆเจพ เจฐเจธเจฎเฉเจเจฐเจจ;
- เจคเจพเจ เจเฉ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเฉเจก เจฆเฉ เจเจธ เจเจพเจ เจเจธ เจนเจฟเฉฑเจธเฉ เจฆเฉ เจชเจฟเฉฑเจเฉ เจเจพเจฐเจจเจพเจ เจ เจคเฉ เจตเจฟเจเจพเจฐเจพเจ เจฆเจพ เจชเจคเจพ เจฒเจเจพ เจธเจเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจฆเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจธเฉ เจเฉเจเจผ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเจจ เจเจพเจ เจซเฉเจกเจฌเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ เจคเจพเจ เจคเฉเจธเฉเจ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ 'เจคเฉ เจเฉฐเจฎ เจเจฐ เจฐเจนเฉ เจนเฉ เจเจฟเจธ เจจเฉเฉฐ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจตเจฟเจเจพเจฐ เจธเจพเจเจเฉ เจเจฐเจจ เจฒเจ เจเฉเจก เจฆเฉ เจชเจนเจฟเจฒเฉ เจฒเจพเจเจจ เจฒเจฟเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจชเจฃเฉ เจธเจนเจฟเจฏเฉเจเฉเจเจ เจจเจพเจฒ เจเจชเจฃเฉเจเจ เจฏเฉเจเจจเจพเจตเจพเจ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเฉ เจเฉฐเจฎ เจธเฉเจเจพ เจนเฉ, เจคเจพเจ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเฉเจฒเฉเจนเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฆเฉเจ เจเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจตเจเจจเจฌเฉฑเจง เจนเฉ, เจ เจคเฉ เจเจฐเจเจพ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ. เจเฉเจ เจธเจฅเจฟเจคเฉเจเจ เจตเจฟเฉฑเจ, เจคเฉเจธเฉเจ เจเฉเจฃเจตเฉฑเจคเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฆเฉ เจเจพเจฐเจจเจพเจ เจฒเจ เจเฉฑเจ PR เจเฉเจฒเฉเจนเจฃเจพ เจเจพเจน เจธเจเจฆเฉ เจนเฉ: เจธเจตเฉเจเจฒเจฟเจค เจเฉเจธเจ เจเจฒเจพเจเจฃ เจฒเจ เจเจพเจ เจเฉเจก เจธเจฎเฉเจเจฟเจเจตเจพเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจเฅค เจเฉ เจตเฉ เจคเฉเจธเฉเจ เจซเฉเจธเจฒเจพ เจเจฐเจฆเฉ เจนเฉ, เจเจนเจจเจพเจ เจฒเฉเจเจพเจ เจฆเจพ เจเจผเจฟเจเจฐ เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจฎเจจเจเจผเฉเจฐเฉ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเฉฑเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจฆเฉเจ เจเฉฑเจ PR เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ, เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉเฅค
- เจฆเฉฑเจธเฉ เจเจฟ เจคเฉเจธเฉเจ เจเฉ เจฌเจฆเจฒเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจ เจคเฉ เจเจฟเฉฑเจฅเฉเฅค
- เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเจฆเฉเจธเจผ เจฆเฉ เจตเจฟเจเจเจฟเจ เจเจฐเจจ เจตเจพเจฒเจพ เจตเฉเจฐเจตเจพ เจฒเจฟเจเฉเฅค เจคเฉเจธเฉเจ เจเจพเจน เจธเจเจฆเฉ เจนเฉ:
- เจเฉเจ เจตเฉ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจเฉเจเจผ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจเฉ เจเฉเจก เจคเฉเจ เจธเจชเฉฑเจธเจผเจ เจจเจนเฉเจ เจนเฉ, เจเจพเจ เจธเฉฐเจฆเจฐเจญ เจจเฉเฉฐ เจธเจฎเจเจฃ เจฒเจ เจเฉเจ เจฒเจพเจญเจฆเจพเจเจ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ #เจฌเฉฑเจเจธ เจ เจคเฉ เจเจฎเจฟเจ เจจเฉฐเจฌเจฐ;
- เจเจฟเจธเฉ เจตเฉ เจตเจฟเจ เจเจคเฉ เจฆเจพ @ เจเจผเจฟเจเจฐ เจเจฐเฉ เจเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉเจ เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจพเจ เจคเฉเจธเฉเจ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจฆเจพ @ เจเจผเจฟเจเจฐ เจเจฐ เจธเจเจฆเฉ เจนเฉ;
- เจธเจนเจฟเจเจฐเจฎเฉเจเจ เจจเฉเฉฐ เจเจฟเจธเฉ เจเฉเจเจผ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเจจ เจฒเจ เจเจนเฉ เจเจพเจ เจเจฟเจธเฉ เจเจพเจธ เจเฉเจเจผ เจฆเฉ เจเจพเจเจ เจเจฐเฉเฅค
เจเฉฑเจ เจตเจพเจฐ เจเจฆเฉเจ เจคเฉเจธเฉเจ PR เจเฉเจฒเฉเจนเจฆเฉ เจนเฉ, เจคเจพเจ เจ เจเจฟเจนเฉ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ เจเฉฑเจฒเจฃ เจฒเจ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ, เจเจน เจเฉเจธเจเจพเจ เจฆเจพ เจเจนเฉ เจธเฉเฉฑเจ เจนเฉเจตเฉเจเจพ เจเฉ เจ เจธเฉเจ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเจฒเจพเจเจ เจธเฉ, เจชเจฐ เจเฉฑเจ เจ เจธเจฒ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจตเจพเจงเฉ เจเฉเจธเจ เจ เจคเฉ เจเจพเจเจเจพเจ เจนเฉ เจธเจเจฆเฉเจเจ เจนเจจเฅค
เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจเฉเจธเจเจพเจ เจฆเฉ เจชเฉเจฐเฉ เจนเฉเจฃ เจคเฉฑเจ เจเจกเฉเจ เจเจฐเฉเฅค เจคเฉเจธเฉเจ GitHub เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ PR เจเจฐเจเจพ เจฆเฉ เจนเฉเจ เจพเจ เจเฉเจธเจเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉเฅค เจเจฆเฉเจ เจเฉเจธเจ เจชเฉเจฐเฉ เจนเฉ เจเจพเจฃ เจคเจพเจ เจเจพเจฐเฉ เจฐเฉฑเจเฉเฅค
๏ธ CI เจเจฆเจฎเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉ เจฌเฉเจคเจฐเจคเฉเจฌเจคเจพ เจฌเจพเจฐเฉ เจเฉฑเจ เจจเฉเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
เจเจธ เจเฉเจฐเจธ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจ เจธเฉเจเฉ เจเจชเจนเฉเจฆเจฐเฉ เจ เจคเฉ เจตเจฟเจ เจเจคเฉเจเจค เจนเฉ, เจธเจพเจจเฉเฉฐ เจเจธ เจฌเจพเจฐเฉ เจเฉฑเจ เจจเฉเจ เจเฉเฉเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
๏ธ เจเจพเจธเจ: เจเจธ เจเจฟเฉฑเจชเจฃเฉ เจฒเจ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ
- เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจธเจตเจฟเจ เจเจฐเฉ
master
. - เจจเจพเจฎ เจฆเฉ เจเฉฑเจ เจธเจผเจพเจเจพ เจฌเจฃเจพเจ
bugfix
. - เจซเจพเจเจฒ เจฆเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ เจจเฉเจ เจเฉเจเจธเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.md
.> **GitHub flow** is sometimes used as a nickname to refer to a flavor of trunk-based development when code is deployed straight from feature branches. This list is just an interpretation that I use in my [DevOps courses](http://redpill.solutions). The official tutorial is [here](https://guides.github.com/introduction/flow/).
- เจคเจฌเจฆเฉเจฒเฉเจเจ เจฒเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจเจฐเฉ.
- เจงเจพเจเจพ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ
bugfix
เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ. - เจจเจพเจฎ เจฆเฉ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ เจเฉฑเจ เจเจฟเฉฑเจชเจฃเฉ เจเฉเฉ เจฐเจฟเจนเจพ เจนเฉ เจเฉฑเจ เจธเจฟเจฐ เจธเจผเจพเจเจพ เจฆเฉ เจจเจพเจฒ
bugfix
เจ เจคเฉ เจ เจงเจพเจฐ เจธเจผเจพเจเจพmaster
.
เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจนเฉ
master
เจเจธ เจฆเฉ เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจซเฉเจฐเจ เจเจฐเฉ เจเฉฑเจ "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ" เจตเจเฉเจ, เจฎเฉเจ เจเฉเจฐเจธ เจธเจฎเฉฑเจเจฐเฉ เจญเฉฐเจกเจพเจฐ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจฆเจพ เจเจตเจพเจฌ เจจเจนเฉเจ เจฆเฉเจตเจพเจเจเจพเฅค
เจคเฉเจนเจพเจกเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
ะะพะผะฐะฝะดั
# ะะตัะตะบะปััะธัะตัั ะฝะฐ ะฒะตัะบั master. ะกะพะทะดะฐะนัะต ะฒะตัะบั bugfix.
git checkout master
# ะกะพะทะดะฐะนัะต ะฒะตัะบั bugfix-remark.
git checkout -b bugfix
# ะะพะฑะฐะฒััะต ัะตะบัั ะฟัะธะผะตัะฐะฝะธั ะฒะฝะธะทั ci.md.
# ะะฐะบะพะผะผะธัััะต ะธะทะผะตะฝะตะฝะธั
git add ci.md
git commit -m "Add a remark about the list being opinionated"
# ะะฟัะฑะปะธะบัะนัะต ะฒะตัะบั bugfix ะฒ ัะดะฐะปัะฝะฝัะน ัะตะฟะพะทะธัะพัะธะน.
git push --set-upstream origin bugfix
# ะกะพะทะดะฐะนัะต pull request ะฟัะธ ะฟะพะผะพัะธ ะธะฝัะตััะตะนัะฐ GitHub ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒััะต
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฎเจจเจเจผเฉเจฐ เจเจฐเฉ "เจเฉฑเจ เจเจฟเฉฑเจชเจฃเฉ เจเฉเฉเจจเจพ"
๏ธเจเจพเจธเจ
- เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเฅค
- "เจฎเจฟเจฒเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฎเจฟเจฒเจฃ เจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฌเฉเจฐเจพเจเจ เจฎเจฟเจเจพเจ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ, เจธเจพเจจเฉเฉฐ เจนเฉเจฃ เจเจธเจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจเจน เจ
เจญเฉเจฆ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ เจเจฎเจฟเจ เจฆเจพ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจนเฉเฅค
๏ธ เจเฉฐเจฎ เจเจฐเจฆเฉ เจฐเจนเฉ เจ เจคเฉ เจเฉเจธเจ เจเฉเฉเจฆเฉ เจฐเจนเฉ
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ 'เจคเฉ เจธเจนเจฟเจฏเฉเจ เจเจฐเจจ เจจเจพเจฒ เจ เจเจธเจฐ เจตเจพเจงเฉ เจเฉฐเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจเฉเจก เจธเจฎเฉเจเจฟเจ เจเจพเจ เจเจฐเจเจพ เจฆเจพ เจจเจคเฉเจเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจชเจฐ เจธเจพเจกเฉ เจเฉเจฐเจธ เจตเจฟเฉฑเจ เจ เจธเฉเจ CI เจเจฆเจฎเจพเจ เจฆเฉ เจธเจพเจกเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจจเจตเฉเจเจ เจเจเจเจฎเจพเจ เจเฉเฉ เจเฉ เจเจธเจฆเจพ เจฎเจพเจกเจฒ เจฌเจฃเจพเจเจฃ เจเจพ เจฐเจนเฉ เจนเจพเจเฅค
เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจตเจฟเฉฑเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉเจ เจเฉเจธเจ เจเจตเจฐเฉเจ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเฉเจธเจ เจเจตเจฐเฉเจ เจฆเฉเจเจ เจฒเฉเฉเจพเจ เจตเฉฑเจเฉ-เจตเฉฑเจเจฐเฉเจเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจ เจคเฉ เจเจฎ เจคเฉเจฐ 'เจคเฉ "เจฏเฉเจเจฆเจพเจจ เจฆเจฟเจธเจผเจพ-เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ" เจตเจฐเจเฉ เจเฉเจ เจเฉเจเจผ เจเจนเฉ เจเจพเจเจฆเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจตเจฟเฉฑเจ เจฎเจฟเจฒเจฆเฉเจเจ เจนเจจเฅค เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจธเจงเจพเจฐเจจ เจฐเฉฑเจเจพเจเจเฉ เจ เจคเฉ เจธเจพเจกเฉ เจเฉเฉฑเจเจฒเจฟเจธเจ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจฒเจพเจเจจ เจฒเจ เจเฉฑเจ เจเฉเจธเจ เจธเจผเจพเจฎเจฒ เจเจฐเจพเจเจเฉเฅค
เจ
เจธเจพเจเจจเจฎเฉเจเจ เจเจฒเจพเจเจฃ เจตเฉเจฒเฉ, เจชเจนเจฟเจฒเจพเจ เจเฉเจธเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจธเจเจพเจฒ เจเฉเจคเจพ เจนเฉ pre-commit
เจนเฉเฉฑเจ เจชเจนเจฟเจฒเจพเจ, เจจเจตเจพเจ เจเฉเฉเจฟเจ เจเฉเจธเจ เจเจฒเจพเจเจ เจเจพเจตเฉเจเจพ, เจซเฉเจฒ เจนเฉ เจเจพเจตเฉเจเจพ, เจ
เจคเฉ เจเฉเจ เจตเฉ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจจเจนเฉเจ เจนเฉเจตเฉเจเจพเฅค เจจเฉเจ เจเจฐเฉ เจเจฟ เจเจธ เจคเจฐเฉเจนเจพเจ เจ
เจธเฉเจ เจเจพเจฃเจฆเฉ เจนเจพเจ เจเจฟ เจธเจพเจกเฉ เจเฉเจธเจ เจ
เจธเจฒ เจตเจฟเฉฑเจ เจเจฟเจธเฉ เจเฉเจเจผ เจฆเฉ เจเจพเจเจ เจเจฐ เจฐเจนเฉ เจนเจจเฅค เจฆเจฟเจฒเจเจธเจช เจเฉฑเจฒ เจเจน เจนเฉ เจเจฟ, เจเฉเจเจฐ เจ
เจธเฉเจ เจเฉเจธเจเจพเจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉเจก เจจเจพเจฒ เจธเจผเฉเจฐเฉเจเจค เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจชเจพเจธ เจเจฐเจจ เจฆเจพ เจฎเจคเจฒเจฌ เจเจน เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจเฉเจก เจจเฉ เจเจฎเฉเจฆ เจ
เจจเฉเจธเจพเจฐ เจเฉฐเจฎ เจเฉเจคเจพ, เจเจพเจ เจเจน เจเจฟ เจเฉเจธเจ เจ
เจธเจฒ เจตเจฟเฉฑเจ เจเจฟเจธเฉ เจตเฉ เจเฉเจเจผ เจฆเฉ เจเจพเจเจ เจจเจนเฉเจ เจเจฐ เจฐเจนเฉ เจธเจจเฅค เจจเจพเจฒ เจนเฉ, เจเฉเจเจฐ เจ
เจธเฉเจ เจชเจนเจฟเจฒเฉ เจธเจฅเจพเจจ 'เจคเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจจเจพ เจฒเจฟเจเจฟเจ เจนเฉเฉฐเจฆเจพ, เจคเจพเจ เจ
เจธเฉเจ เจเจจเฉเจนเจพเจ เจฌเจพเจฐเฉ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจญเฉเฉฑเจฒ เจเจ เจนเฉเฉฐเจฆเฉ, เจเจฟเจเจเจเจฟ เจเฉเจ เจตเฉ เจธเจพเจจเฉเฉฐ เจเจธ เจฆเฉ เจฏเจพเจฆ เจจเจนเฉเจ เจฆเจฟเจตเจพเจเจเจฆเจพ เจธเฉเฅค
เจเฉเจธเจ เจธเฉฐเจเจพเจฒเจฟเจค เจตเจฟเจเจพเจธ (TDD)
TDD เจเฉเจก เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉเจธเจ เจฒเจฟเจเจฃ เจฆเฉ เจธเจฟเจซเจผเจพเจฐเจธเจผ เจเจฐเจฆเจพ เจนเฉเฅค TDD เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจตเจพเจฒเจพ เจเฉฑเจ เจเจฎ เจตเจฐเจเจซเจฒเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค
- เจเฉฑเจ เจเฉเจธเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค
- เจธเจพเจฐเฉ เจเฉเจธเจ เจเจฒเจพเจ เจ เจคเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจจเจตเจพเจ เจเฉเจธเจ เจซเฉเจฒ เจนเฉ เจเจพเจตเฉเฅค
- เจเฉเจก เจฒเจฟเจเฉเฅค
- เจเฉเจธเจ เจเจฒเจพเจ, เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจธเจพเจฐเฉ เจเฉเจธเจ เจชเจพเจธ เจนเฉ เจเจ เจนเจจเฅค
- เจเจชเจฃเฉ เจเฉเจก เจจเฉเฉฐ เจฐเฉเจซเฉเจเจเจฐ เจเจฐเฉเฅค
- เจฆเฉเจนเจฐเจพเจเฅค
เจเจฟเจเจเจเจฟ เจซเฉเจฒ เจนเฉเจฃ เจตเจพเจฒเฉ เจเฉเจธเจเจพเจ เจฆเฉ เจจเจคเฉเจเฉ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจฒเจพเจฒ เจฐเฉฐเจ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจ เจเจพเจเจฆเฉ เจนเจจ, เจ เจคเฉ เจเฉ เจชเจพเจธ เจนเฉเฉฐเจฆเฉ เจนเจจ เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจนเจฐเฉ เจฐเฉฐเจ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจ เจเจพเจเจฆเฉ เจนเจจ, เจเฉฑเจเจฐ เจจเฉเฉฐ เจฒเจพเจฒ-เจนเจฐเฉ-เจฐเจฟเจซเฉเจเจเจฐ เจตเจเฉเจ เจตเฉ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
๏ธเจเจพเจธเจ
เจชเจนเจฟเจฒเจพเจ, เจเฉเจธเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉ เจ
เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจซเฉเจฒ เจนเฉเจฃ เจฆเจฟเจ, เจซเจฟเจฐ CI เจธเจเฉเจช เจฒเจฟเจธเจ เจฆเฉ เจเฉเจเจธเจ เจจเฉเฉฐ เจเฉเฉเฉ เจ
เจคเฉ เจเจฎเจฟเจ เจเจฐเฉเฅค เจคเฉเจธเฉเจ เจฆเฉเจเฉเจเฉ เจเจฟ เจเฉเจธเจ เจชเจพเจธ เจนเฉ เจฐเจนเฉ เจนเจจ ("เจนเจฐเจพ").
เจซเจฟเจฐ เจจเจตเฉเจ เจเฉเจก เจจเฉเฉฐ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ เจ
เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเจฐเจเจพ เจ
เจคเฉ PR เจธเจฅเจฟเจคเฉ เจ
เจชเจกเฉเจ เจฆเฉ เจนเฉเจ เจพเจ GitHub เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจเฉฑเจฒ เจฐเจนเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจฆเฉเจเฉเฅค
- เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจธเจตเจฟเจ เจเจฐเฉ
feature
. -
เจเจนเจจเจพเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.test.js
เจเจเจฐเฉ เจเจพเจฒ เจฆเฉ เจฌเจพเจ เจฆit (...);
.it('5. Merge/rebase commits from master. Make tests pass on the merge result.', () => { expect(/.*merge.*commits.*testss+pass.*/ig.test(fileContents)).toBe(true); }); it('6. Deploy from the feature branch to production.', () => { expect(/.*Deploy.*tos+production.*/ig.test(fileContents)).toBe(true); }); it('7. If everything is good in production for some period of time, merge changes to master.', () => { expect(/.*merge.*tos+master.*/ig.test(fileContents)).toBe(true); });
- เจเฉเจธเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเฅค เจเฉ
pre-commit
เจนเฉเฉฑเจ เจเฉฐเจธเจเจพเจฒ เจนเฉ, เจเจฎเจฟเจ เจเฉเจธเจผเจฟเจธเจผ เจ เจธเจซเจฒ เจนเฉ เจเจพเจตเฉเจเฉเฅค - เจซเจฟเจฐ เจเจธ เจเฉเจเจธเจ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.md
.5. Merge/rebase commits from master. Make tests pass on the merge result. 6. Deploy from the feature branch with a sneaky bug to production. 7. If everything is good in production for some period of time, merge changes to master.
- เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเฉ เจ เจคเฉ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจเจฐเฉเฅค
- เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจชเฉเจธเจ เจเจฐเฉ
feature
.
เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจนเฉเจฃ เจ
เจเจฟเจนเจพ เจเฉเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ
ะะพะผะฐะฝะดั
# ะะตัะตะบะปััะธัะตะปัะฝะฐ ะฒะตัะบั feature
git checkout feature
# ะะพะฑะฐะฒะธัั ัะตััั ะฒ ci.test.js ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒััะต
# ะะพะฑะฐะฒััะต ะฒ ะธะฝะดะตะบั ci.test.js ััะพะฑั ะฟะพะทะถะต ะทะฐะบะพะผะผะธัะธัั
git add ci.test.js
# ะะพะฟััะฐะนัะตัั ะทะฐะบะพะผะผะธัะธัั ัะตััั. ะัะปะธ pre-commit hook ัััะฐะฝะพะฒะปะตะฝั, ะบะพะผะผะธั ะฝะต ะฟัะพะธะทะพะนะดัั.
git commit
# ะขะตะฟะตัั ะดะพะฑะฐะฒััะต ัะตะบัั ะฒ ci.md ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒััะต
# ะะฝะตัะธัะต ะธะทะผะตะฝะตะฝะธั ะธ ะทะฐะบะพะผะผะธัััะต ะธั
git add ci.md
git commit -m "Add the remaining CI steps"
# ะะฟัะฑะปะธะบัะนัะต ะธะทะผะตะฝะตะฝะธั ะฒ ะฒะตัะบั feature
git push
เจตเจฟเจตเจพเจฆ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจ
เจฌเจฆเจฒเฉ เจฆเฉ เจฌเฉเจจเจคเฉ 'เจคเฉ เจเจพเจ เจเจฆเจฎ เจธเจฎเฉเจเจฟเจ.
เจญเจพเจตเฉเจ เจ
เจธเฉเจ เจเฉเจ เจเจฒเจค เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ เจ
เจคเฉ เจธเจพเจกเฉ เจเฉเจก เจฒเจ เจเฉเจธเจ เจชเจพเจธ เจนเฉ เจเจ เจนเจจ, เจซเจฟเจฐ เจตเฉ เจ
เจธเฉเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจฎเจฟเจฒเจพ เจจเจนเฉเจ เจธเจเจฆเฉ เจนเจพเจ feature
ะธ master
. เจเจน เจเจธ เจฒเจ เจนเฉ เจเจฟเจเจเจเจฟ เจฆเฉเจเฉ เจฅเจฐเจฟเฉฑเจก bugfix
เจจเจพเจฒ เจฎเจฟเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ master
เจเจฆเฉเจ เจ
เจธเฉเจ เจเจธ PR 'เจคเฉ เจเฉฐเจฎ เจเจฐ เจฐเจนเฉ เจธเฉเฅค
เจเจน เจ
เจเจฟเจนเฉ เจธเจฅเจฟเจคเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ เจฐเจฟเจฎเฉเจ เจฌเฉเจฐเจพเจเจ master
เจฆเจพ เจเฉฑเจ เจจเจตเจพเจ เจธเฉฐเจธเจเจฐเจฃ เจนเฉ เจเจฟเจธ 'เจคเฉ เจ
เจธเฉเจ เจฌเฉเจฐเจพเจเจ เจ
เจงเจพเจฐเจค เจนเจพเจ feature
. เจเจธ เจเจฐเจเฉ เจ
เจธเฉเจ เจธเจฟเจฐเจซเจผ เจธเจฟเจฐ เจจเฉเฉฐ เจชเจฟเฉฑเจเฉ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเฉ master
เจฅเจฐเจฟเฉฑเจก เจฆเฉ เจ
เฉฐเจค เจคเฉฑเจ feature
. เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจเจพเจ เจคเจพเจ เจฎเจฐเจ เจเจฐเจจ เจเจพเจ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ feature
เจฐเฉเจฌเฉเจธ master
. GitHub เจ
เจธเจฒ เจตเจฟเฉฑเจ เจเจเฉเจฎเฉเจเจฟเจ เจ
เจญเฉเจฆ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจเฉเจเจฐ เจเฉเจ เจตเจฟเจตเจพเจฆ เจจเจนเฉเจ เจนเจจ. เจนเจพเจ, เจธเจพเจกเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจฆเฉเจตเจพเจ เจธเจผเจพเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจชเฉเจฐเจคเฉเจฏเฉเจเฉ เจคเจฌเจฆเฉเจฒเฉเจเจ เจนเจจ ci.md
. เจเจธ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจ
เจญเฉเจฆ เจตเจฟเจตเจพเจฆ เจตเจเฉเจ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจ
เจคเฉ เจธเจพเจจเฉเฉฐ เจเจธเจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจนเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจฎเจฟเจฒเจพเจ เจเจพเจ เจฐเฉเจฌเฉเจธ เจเจฐเฉ
เจฎเจฟเจฒเจพเจจ เจเจฐเฉ
- เจเฉฑเจ เจตเจพเจงเฉ เจฎเจฐเจ เจเจฎเจฟเจ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจเฉฐเจฎ เจฆเฉ เจเจคเจฟเจนเจพเจธ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจฆเจพ เจนเฉเฅค
- เจฌเฉเจฐเจพเจเจเจพเจ เจฆเฉเจเจ เจฎเฉเจฒ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจ เจธเจฒ เจเจพเจเจฎเจธเจเฉเจเจชเจพเจ เจ เจคเฉ เจฒเฉเจเจเจพเจ เจจเจพเจฒ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเจฆเจพ เจนเฉเฅค
- เจคเจฌเจฆเฉเจฒเฉ เจฌเฉเจจเจคเฉ เจเจฐเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจเจฎเจฟเจเจพเจ เจ เจคเฉ เจเจนเจจเจพเจ เจฆเฉ เจฒเจฟเฉฐเจเจพเจ เจฆเฉ SHA เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเจฆเจพ เจนเฉเฅค
- เจเฉฑเจ-เจตเจพเจฐ เจธเฉฐเจเจฐเจธเจผ เจนเฉฑเจฒ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
- เจเจนเจพเจฃเฉ เจจเฉเฉฐ เจเฉเจฐ-เจฒเฉเจจเฉเจ
เจฐ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค
- เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจธเจผเจพเจเจพเจตเจพเจ (เจเฉฑเจ IDE เจเฉเจฌเจฒ เจฆเฉ เจฏเจพเจฆ เจฆเจฟเจตเจพเจเจเจฆเฉ) เจฆเฉ เจเจพเจฐเจจ เจเจนเจพเจฃเฉ เจจเฉเฉฐ เจชเฉเฉเจนเจจเจพ เจฎเฉเจธเจผเจเจฒ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค
- เจเจเฉเจฎเฉเจเจฟเจ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจจเฉเฉฐ เจนเฉเจฐ เจฎเฉเจธเจผเจเจฒ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ
git bisect
เจเฉฑเจ เจเจชเจฏเฉเจเฉ - เจเจน เจธเจฟเจฐเจซ เจ เจญเฉเจฆ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจจเฉเฉฐ เจฒเฉฑเจญเฉเจเจพเฅค
เจฐเฉเจฌเฉเจธ
- เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจฎเฉเจเฉเจฆเจพ เจธเจผเจพเจเจพ เจคเฉเจ เจเจ เจคเฉเจ เจฌเจพเจ
เจฆ เจเจ เจฐเฉเจชเจฒเฉเจ
เจเจฐเจฆเจพ เจนเฉเฅค
- เจจเจตเฉเจ SHAs เจฆเฉ เจจเจพเจฒ เจจเจตเฉเจเจ เจเจฎเจฟเจเจพเจ เจคเจฟเจเจฐ เจเฉเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ, เจเจฟเจธ เจจเจพเจฒ GitHub เจตเจฟเฉฑเจ เจเจฎเจฟเจ เจ เจธเจฒ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเฉ เจนเจจ, เจชเจฐ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจเจฟเฉฑเจชเจฃเฉเจเจ เจจเจพเจฒ เจจเจนเฉเจเฅค
- เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจฆเฉเจฌเจพเจฐเจพ เจเฉเฉเจฟเจ เจ เจคเฉ เจธเฉเจงเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจพเจ เจเฉฑเจ เจตเจฟเฉฑเจ เจฎเจฟเจฒเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
- เจเจ เจตเจฟเจตเจพเจฆเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค
- เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจฐเฉเจเจฟเจ เจเจนเจพเจฃเฉ เจฌเจฃเจพเจ เจฐเฉฑเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค
- เจเจนเจพเจฃเฉ เจจเฉเฉฐ เจชเฉเฉเจนเจจเจพ เจธเฉเจเจพ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟเจเจเจเจฟ เจเจน เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจตเจพเจเจฌ เจเจพเจฐเจจ เจฆเฉ เจฌเจนเฉเจค เจฒเฉฐเจฎเฉ เจจเจนเฉเจ เจนเฉ.
- เจเจเฉเจฎเฉเจเจฟเจ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจ
เจคเฉ เจธเจฎเฉฑเจธเจฟเจ-เจจเจฟเจชเจเจพเจฐเจพ เจเจฐเจจเจพ เจฅเฉเฉเฉเจนเจพ เจเจธเจพเจจ เจนเฉ: เจเจธเจจเฉเฉฐ เจธเฉฐเจญเจต เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ
git bisect
, เจเจเฉเจฎเฉเจเจฟเจ เจฐเฉเจฒเจฌเฉเจ เจจเฉเฉฐ เจธเจชเจธเจผเจ เจ เจคเฉ เจตเจงเฉเจฐเฉ เจ เจจเฉเจฎเจพเจจเจฏเฉเจ เจฌเจฃเจพ เจธเจเจฆเจพ เจนเฉเฅค
- เจเฉฑเจ เจเฉฐเจกเฉ เจฆเฉ เจจเจพเจฒ เจฎเจพเจเจเจฐเฉเจ เจเฉเจคเฉ เจเจฎเจฟเจเจพเจ เจตเจพเจฒเฉ เจเฉฑเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ
--force
เจเจฆเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจจเจพเจฒ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเฉเจฎเจพเจ เจนเจฎเฉเจธเจผเจพ เจเจนเฉ เจฐเจฃเจจเฉเจคเฉ เจตเจฐเจคเจฃ เจฒเจ เจธเจนเจฟเจฎเจค เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจเจฆเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจน เจเฉฑเจ "เจธเจผเฉเฉฑเจง" เจ
เจญเฉเจฆ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจพเจ เจธเจฟเจเจฐ 'เจคเฉ เจเฉฑเจ "เจธเจผเฉเฉฑเจง" เจเจฎเจฟเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ, เจเจพเจ เจตเจฟเจเจเจพเจฐ เจเฉเจ เจเฉเจเจผ เจนเฉ เจธเจเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเฉฐเจเจฐเจเจเจเจฟเจต เจคเฉเจฐ 'เจคเฉ เจธเจฟเจเจฐ 'เจคเฉ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจเจฐเจจเจพ(git rebase -i
) เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเจจเจคเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจจเจพ เจนเฉเจฃ เจตเจพเจฒเฉเจเจ เจธเจผเจพเจเจพเจตเจพเจ เจฒเจ, เจชเจฐ "เจเจจเจคเจ" เจธเจผเจพเจเจพเจตเจพเจ เจฒเจ เจตเจฟเจฒเฉเจจ เจนเฉเจตเฉเฅค
เจเฉฑเจฅเฉ เจ เจธเฉเจ เจฎเจฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค
๏ธเจเจพเจธเจ
- เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจเฉเจก เจธเจฅเจพเจจเจ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจนเฉ
master
เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจ เฉฑเจชเจกเฉเจ เจเฉเจคเจพ เจเจฟเจเฅค - เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจธเจตเจฟเจ เจเจฐเฉ
feature
. - เจเฉฑเจ เจธเจผเจพเจเจพ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจ
เจญเฉเจฆ เจธเจผเฉเจฐเฉ เจเจฐเฉ
master
. เจตเจฟเฉฑเจ เจชเฉเจฐเจคเฉเจฏเฉเจเฉ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเจพเจฐเจจ เจเฉฑเจ เจ เจญเฉเจฆ เจตเจฟเจตเจพเจฆci.md
. - เจตเจฟเจตเจพเจฆ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเฉ เจคเจพเจ เจเจฟ เจธเจพเจกเฉ CI เจเจฆเจฎเจพเจ เจฆเฉ เจธเฉเจเฉ เจ เจคเฉ เจเจธ เจฌเจพเจฐเฉ เจเฉฑเจ เจจเฉเจ เจเฉเจเจธเจ เจตเจฟเฉฑเจ เจฐเจนเฉเฅค
- เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจฐเจ เจเจฎเจฟเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ
feature
. - GitHub UI เจตเจฟเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเฉ เจเจพเจเจ เจเจฐเฉ เจ เจคเฉ เจ เจญเฉเจฆ เจฆเฉ เจนเฉฑเจฒ เจนเฉเจฃ เจคเฉฑเจ เจเจกเฉเจ เจเจฐเฉเฅค
ะะพะผะฐะฝะดั
# ะฃะฑะตะดะธัะตัั, ััะพ ะบะพะด ะฒ ะปะพะบะฐะปัะฝะพะต ะฒะตัะบะต `master` ะพะฑะฝะพะฒะปัะฝ ะธะท ัะดะฐะปัะฝะฝะพะณะพ ัะตะฟะพะทะธัะพัะธั.
git checkout master
git pull
# ะะตัะตะบะปััะธัะตัั ะฝะฐ ะฒะตัะบั feature
git checkout feature
# ะะฝะธัะธะธััะนัะต ัะปะธัะฝะธะต ั ะฒะตัะบะพะน master
git merge master
# A merge conflict related to concurrent changes to ci.md will be reported
# => Auto-merging ci.md
# CONFLICT (content): Merge conflict in ci.md
# Automatic merge failed; fix conflicts and then commit the result.
# ะ ะฐะทัะตัะธัะต ะบะพะฝัะปะธะบั ัะฐะบ, ััะพะฑั ะธ ะฝะฐั ัะฟะธัะพะบ ัะฐะณะพะฒ CI, ะธ ะทะฐะผะตัะฐะฝะธะต ะพ ะฝะตะผ ะพััะฐะปะธัั ะฒ ัะตะบััะต.
# ะพััะตะดะฐะบัะธััะนัะต ci.md ััะพะฑ ะพะฝ ะฝะต ัะพะดะตัะถะฐะป ะผะฐัะบะตัะพะฒ ะบะพะฝัะปะธะบัะฐ ัะปะธัะฝะธั
git add ci.md
git merge --continue
# ะฟัะธ ะบะพะผะผะธัะต ะผะพะถะตัะต ะพััะฐะฒะธัั ัะพะพะฑัะตะฝะธะต ะฟะพ ัะผะพะปัะฐะฝะธั
# ะะฟัะฑะปะธะบัะนัะต ะบะพะผะผะธั ัะปะธัะฝะธั ะฒ ัะดะฐะปะตะฝะฝัั ะฒะตัะบั feature.
git push
# ะัะพะฒะตัััะต ััะฐััั ะทะฐะฟัะพัะฐ ะฝะฐ ะธะทะผะตะฝะตะฝะธั ะฒ ะฟะพะปัะทะพะฒะฐัะตะปััะบะพะผ ะธะฝัะตััะตะนัะต GitHub, ะดะพะถะดะธัะตัั ะฟะพะบะฐ ัะปะธัะฝะธะต ะฝะต ะฑัะดะตั ัะฐะทัะตัะตะฝะพ.
เจฎเจนเจพเจจ เจ เฉฑเจฏเฉเจฌ!
เจคเฉเจธเฉเจ เจธเฉเจเฉ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจพ เจเจฐ เจฒเจฟเจ เจนเฉ เจ
เจคเฉ เจนเฉเจฃ เจคเฉเจนเจพเจจเฉเฉฐ เจ
เฉฐเจฆเจฐ เจเจฟเฉฑเจเจฃ เจฆเฉ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฎเจจเจเจผเฉเจฐเฉ เจฆเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ master
.
๏ธ เจเจพเจธเจ: เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฎเจจเจเจผเฉเจฐเฉ เจฆเจฟเจ "เจเจฆเจฎเจพเจ เจฆเฉ เจธเจฎเฉเจเจฟเจ"
- เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเฉเจฒเฉเจนเฉ.
- "เจฎเจฟเจฒเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฎเจฟเจฒเจฃ เจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฌเฉเจฐเจพเจเจ เจฎเจฟเจเจพเจ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจเจฟเจเจเจเจฟ เจธเจพเจจเฉเฉฐ เจนเฉเจฃ เจเจธเจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจเจน เจเจธ เจธเจฎเฉเจ เจคเฉเจนเจพเจกเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจนเฉ
เจเจคเจชเจพเจฆ เจเฉเจฌเฉ
เจเจน เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ เจเจฟ "เจเฉเจธเจเจฟเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฒเจคเฉเจเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฒเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจเจนเจจเจพเจ เจฆเฉ เจเฉเจฐเจนเจพเจเจผเจฐเฉ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฒเจ เจเจฆเฉ เจจเจนเฉเจ." เจญเจพเจตเฉเจ เจธเจพเจกเฉ เจเฉเจฒ เจเฉเจธเจ เจธเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉ เจธเจพเจจเฉเฉฐ เจเฉเจ เจเจฒเจคเฉ เจจเจนเฉเจ เจฆเจฟเจเจพเจ, เจเฉฑเจ เจงเฉเจเฉเจฌเจพเจเจผ เจฌเฉฑเจ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจ เจเจฟเจเฅค
เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจงเจฟเจเจจ เจฐเฉฑเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจเฉ เจฒเจเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ;
- เจงเจพเจเฉ เจตเจฟเฉฑเจ เจเฉเจก
master
เจเฉฑเจ เจเจฒเจคเฉ เจจเจพเจฒ, เจเจฟเจธ เจคเฉเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจจเจตเจพเจ เจเฉฐเจฎ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเจจเฅค
เจเฉ เจฎเฉเจจเฉเฉฐ เจ เจเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจตเจพเจชเจธ เจฐเฉเจฒ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจพเจ เจเจธเจจเฉเฉฐ เจ เฉเจ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ?
เจฐเฉเจฒเจฟเฉฐเจ เจฌเฉเจ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจฃเฉ-เจชเจเจพเจฃเฉ เจเฉฐเจเฉ เจชเฉเจฐเจพเจฃเฉ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจจ เจ
เจคเฉ เจเจฒเจคเฉ เจตเจพเจฒเฉ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเจจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจนเฉเฅค "เจซเจฟเจเจธเจฟเฉฐเจ เจซเจพเจฐเจตเจฐเจก" เจตเจฟเฉฑเจ เจเฉฑเจ เจซเจฟเจเจธ เจฆเจพ เจเฉเฉ เจนเฉ master
เจ
เจคเฉ เจเจฟเฉฐเจจเฉ เจเจฒเจฆเฉ เจนเฉ เจธเจเฉ เจจเจตเจพเจ เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉเฅค เจเจฟเจเจเจเจฟ APIs เจ
เจคเฉ เจกเฉเจเจพเจฌเฉเจธ เจธเจเฉเจฎเจพเจ เจฌเจฆเจฒเจฆเฉเจเจ เจนเจจ เจเจฟเจเจเจเจฟ เจเฉเจก เจจเฉเฉฐ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจจเจฟเจฐเฉฐเจคเจฐ เจกเจฟเจฒเฉเจตเจฐเฉ เจ
เจคเฉ เจเฉฐเจเฉ เจเฉเจธเจ เจเจตเจฐเฉเจ เจฆเฉ เจจเจพเจฒ, เจเจธ เจจเฉเฉฐ เจ
เจเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจซเจฟเจเจธ เจเจฐเจจ เจจเจพเจฒเฉเจ เจฐเฉเจฒ เจฌเฉเจ เจเจฐเจจเจพ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจฌเจนเฉเจค เจฎเฉเจธเจผเจเจฒ เจ
เจคเฉ เจเฉเจเจฎ เจญเจฐเจชเฉเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจเจฟเจเจเจเจฟ เจตเจพเจชเจธ เจเจพเจฃ เจจเจพเจฒ เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ เจเฉเจ เจเฉเจเจฎ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ, เจ เจธเฉเจ เจเจธ เจฐเจธเจคเฉ 'เจคเฉ เจเจพเจตเจพเจเจเฉ, เจเจฟเจเจเจเจฟ เจเจน เจธเจพเจจเฉเฉฐ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ
- เจเจฟเฉฐเจจเฉ เจเจฒเจฆเฉ เจนเฉ เจธเจเฉ เจเจคเจชเจพเจฆ 'เจคเฉ เจเจฒเจคเฉ เจจเฉเฉฐ เจ เฉเจ เจเจฐเฉ;
- เจตเจฟเฉฑเจ เจเฉเจก เจฌเจฃเจพเจ
master
เจจเจตเฉเจ เจจเฉเจเจฐเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจคเฉเจฐเฉฐเจค เจขเฉเจเจตเจพเจเฅค
๏ธเจเจพเจธเจ
- เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจธเจตเจฟเจ เจเจฐเฉ
master
เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ. - เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจธเจฅเจพเจจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเฉเฅค
- PR เจฎเจฐเจ เจเจฎเจฟเจ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเฉ เจเจฆเจฎ เจธเจฎเฉเจเจฟเจ ะฒ
master
. - เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจพเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉเฅค
เจเจน เจเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจเจคเจฟเจนเจพเจธ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจฐเจ เจเจฎเจฟเจ เจตเจพเจชเจธ เจเฉเจคเจพ เจเจฟเจ เจนเฉ
ะะพะผะฐะฝะดั
# ะะตัะตะบะปััะธัะตัั ะฝะฐ ะฒะตัะบั master.
git checkout master
# ะะฑะฝะพะฒะธัะต ะปะพะบะฐะปัะฝัะน ัะตะฟะพะทะธัะพัะธะน ะธะท ัะดะฐะปัะฝะฝะพะณะพ ัะตะฟะพะทะธัะพัะธั.
git pull
# ะัะผะตะฝะธัะต ะบะพะผะผะธั ัะปะธัะฝะธั PR Steps review ะฒ master.
# ะั ะพัะผะตะฝัะตะผ ะบะพะผะผะธั ัะปะธัะฝะธั, ะฟะพััะพะผั ะฝะฐะผ ะฝัะถะฝะพ ะฒัะฑัะฐัั ะฒะตัะบั ะธััะพัะธะธ, ะบะพัะพััั ะผั ะทะฐั
ะพัะธะผ ะพััะฐะฒะธัั
git show HEAD
# ะฟัะตะดะฟะพะปะพะถะธะผ, ััะพ ะบะพะผะผะธั, ะบะพัะพััะน ะฑัะป ะฟะพัะปะตะดะฝะธะผ ะฒ ะฒะตัะบะต master ะดะพ ัะปะธัะฝะธั, ะฑัะป ะพัะพะฑัะฐะถัะฝ ะฟัะตะดัะดััะตะน ะบะพะผะฐะฝะดะพะน ะฟะตัะฒัะผ
git revert HEAD -m 1
# ะผะพะถะตัะต ะฝะต ะผะตะฝััั ัะพะพะฑัะตะฝะธั ะบะพะผะผะธัะพะฒ
# ะะฟัะฑะปะธะบัะนัะต ะธะทะผะตะฝะตะฝะธั ะฒ ัะดะฐะปัะฝะฝัะน ัะตะฟะพะทะธัะพัะธะน
git push
๏ธ เจธเจตเฉ-เจเจพเจเจ
เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ ci.md
เจฎเจฐเจ เจเจฎเจฟเจ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ เจนเฉเจฃ "เจธเจจเฉเจเฉ เจฌเฉฑเจ" เจเฉเจเจธเจ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจนเฉเฅค
CI เจเจฆเจฎเจพเจ เจฆเฉ เจธเฉเจเฉ เจจเฉเฉฐ เจ เฉเจ เจเจฐเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเฉ
เจ
เจธเฉเจ เจฌเฉเจฐเจพเจเจ เจฆเฉ เจฎเจฐเจ เจเจฎเจฟเจ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจตเจพเจชเจธ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค feature
. เจเฉฐเจเฉ เจเจผเจฌเจฐ เจเจน เจนเฉ เจเจฟ เจนเฉเจฃ เจธเจพเจกเฉ เจเฉเจฒ เจเฉเจ เจเจฒเจคเฉ เจจเจนเฉเจ เจนเฉ master
. เจฌเฉเจฐเฉ เจเจผเจฌเจฐ เจเจน เจนเฉ เจเจฟ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจเจฆเจฎเจพเจ เจฆเฉ เจธเจพเจกเฉ เจเฉเจฎเจคเฉ เจธเฉเจเฉ เจตเฉ เจเจคเจฎ เจนเฉ เจเจ เจนเฉเฅค เจเจธ เจฒเจ, เจเจฆเจฐเจธเจผเจ เจคเฉเจฐ 'เจคเฉ, เจธเจพเจจเฉเฉฐ เจเจฎเจฟเจเจพเจ เจฒเจ เจซเจฟเจเจธ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ feature
เจ
เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเฉ master
เจซเจฟเจเจธ เจฆเฉ เจจเจพเจฒ.
เจ เจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ:
- เจเฉฑเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจจเฉเฉฐ เจตเจพเจชเจธ เจเจฐเฉ เจเฉ เจเฉฑเจ เจ
เจญเฉเจฆ เจจเฉเฉฐ เจ
เจฃเจกเจฟเฉฑเจ เจเจฐเจฆเจพ เจนเฉ
feature
ัmaster
; - เจฎเฉเจต เจเจฎเจฟเจเจธ เจธเจพเจฌเจเจพ เจคเฉเจ
feature
.
เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจเจพเจธ เจเฉเจฎเจพเจ เจเจธ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจตเฉฑเจเฉ-เจตเฉฑเจเจฐเฉ เจคเจฐเฉเจเฉ เจตเจฐเจคเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจ เจธเฉเจ เจเจชเจฏเฉเจเฉ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจญเฉเจเจพเจเจเฉ เจ เจคเฉ เจเจธ เจจเจตเฉเจ เจธเจผเจพเจเจพ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจตเจพเจเจเฉเฅค
๏ธเจเจพเจธเจ
- เจจเจพเจฎเจ เจฅเจฐเจฟเฉฑเจก เจฌเจฃเจพเจ
feature-fix
เจ เจคเฉ เจเจธ 'เจคเฉ เจธเจตเจฟเจ เจเจฐเฉเฅค -
เจธเจพเจฌเจเจพ เจธเจผเจพเจเจพ เจคเฉเจ เจธเจพเจฐเฉเจเจ เจเจฎเจฟเจเจพเจ เจจเฉเฉฐ เจฎเจพเจเจเจฐเฉเจ เจเจฐเฉ
feature
เจเฉฑเจ เจจเจตเฉเจ เจงเจพเจเฉ เจฒเจเฅค เจฎเจพเจเจเฉเจฐเฉเจธเจผเจจ เจฆเฉเจฐเจพเจจ เจนเฉเจ เจ เจญเฉเจฆ เจตเจฟเจตเจพเจฆเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเฉเฅค -
เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเจฟเจเจฐเฉเจธเจผเจจ เจเฉเจธเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
ci.test.js
:it('does not contain the sneaky bug', () => { expect( /.*sneakys+bug.*/gi.test(fileContents)).toBe(false); });
- เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฒเจ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเฉเจธเจ เจเจฒเจพเจ เจเจฟ เจเจน เจซเฉเจฒ เจจเจพ เจนเฉเจฃเฅค
- เจตเจฟเฉฑเจ "เจเฉฑเจ เจธเจจเจเฉ เจฌเฉฑเจ เจฆเฉ เจจเจพเจฒ" เจเฉเจเจธเจ เจจเฉเฉฐ เจนเจเจพเจ
ci.md
. - เจธเฉเจเจเจพเจเจ เจตเจฟเฉฑเจ เจเฉเจธเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจ เจคเฉ เจเจฆเจฎ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจเจฐเฉเฅค
- เจฌเฉเจฐเจพเจเจ เจจเฉเฉฐ เจฐเจฟเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉเฅค
เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจฆเฉ เจธเจฎเจพเจจ เจเฉเจ เจจเจพเจฒ เจเจคเจฎ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ:
ะะพะผะฐะฝะดั
# ะกะพะทะดะฐะนัะต ะฒะตัะบั ะฟะพะด ะฝะฐะทะฒะฐะฝะธะตะผ feature-fix ะธ ะฟะตัะตะบะปััะธัะตัั ะฝะฐ ะฝะตะต.
git checkout -b feature-fix
# ะะตัะตะฝะตัะธัะต ะฒัะต ะบะพะผะผะธัั ะธะท ะฑัะฒัะตะน ะฒะตัะบะธ feature ะฒ ะฝะพะฒัั ะฒะตัะบั. ะ ะฐะทัะตัะธัะต ะบะพะฝัะปะธะบัั ัะปะธัะฝะธั, ะบะพัะพััะต ะฒะพะทะฝะธะบะปะธ ะฟัะธ ะฟะตัะตะฝะพัะต.
# ะธัะฟะพะปัะทัะนัะต ะธััะพัะธั ััะพะฑั ัะทะฝะฐัั ั
ััะธ ะบะพะผะผะธัะพะฒ:
# - ะฟัะตะดัะตััะฒัััะตะณะพ ะบะพะผะผะธัั ั ะฟะตัะฒะพะน ัะฐัััั ัะฟะธัะบะฐ: C0
# - ะดะพะฑะฐะฒะปัััะตะณะพ ะฟะพัะปะตะดะฝะธะต ัะปะตะผะตะฝัั ัะฟะธัะบะฐ: C2
git log --oneline --graph
git cherry-pick C0..C2
# ัะฐะทัะตัะธัะต ะบะพะฝัะปะธะบัั ัะปะธัะฝะธั
# - ะพััะตะดะฐะบัะธััะนัะต ci.md ะธ/ะธะปะธ ci.test.js
# - ะดะพะฑะฐะฒััะต ัะฐะนะปั ะฒ ะธะฝะดะตะบั
# - ะฒัะฟะพะปะฝะธัะต "git cherry-pick --continue", ะผะพะถะตัะต ะฝะต ะผะตะฝััั ัะพะพะฑัะตะฝะธะต ะบะพะผะผะธัะฐ
# ะะพะฑะฐะฒััะต ัะตะณัะตััะธะพะฝะฝัะน ัะตัั ะฒ ci.test.js
# ะะฐะฟัััะธัะต ัะตััั ะปะพะบะฐะปัะฝะพ, ััะพะฑั ัะฑะตะดะธัััั, ััะพ ะพะฝะธ ะฝะต ะทะฐะฒะตััะฐัััั ััะฟะตัะฝะพ.
# ะฃะดะฐะปะธัะต ัะตะบัั " with a sneaky bug" ะฒ ci.md.
# ะะพะฑะฐะฒััะต ะฒ ะธะฝะดะตะบั ะธะทะผะตะฝะตะฝะธั ัะตััะพะฒ ะธ ะฒ ัะฟะธัะบะต ัะฐะณะพะฒ ะธ ะทะฐะบะพะผะผะธัััะต ะธั
.
git add ci.md ci.test.js
git commit -m "Fix the bug in steps list"
# ะะฟัะฑะปะธะบัะนัะต ะฒะตัะบั ะฒ ัะดะฐะปัะฝะฝัะน ัะตะฟะพะทะธัะพัะธะน.
git push --set-upstream origin feature-fix
เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเฅค
เจธเจฟเจฐเจฒเฉเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจจเฉเฉฐ เจ เฉเจ เจเจฐเจจเจพ. เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ feature-fix
เจเจฟเจตเฉเจ "เจธเจฟเจฐ เจฆเฉ เจธเจผเจพเจเจพ" เจ
เจคเฉ master
เจเจฟเจตเฉเจ "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ"เฅค
เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจเฉเจธเจเจพเจ เจฆเฉ เจฎเฉเจเฉฐเจฎเจฒ เจนเฉเจฃ เจคเฉฑเจ เจเจกเฉเจ เจเจฐเฉเฅค เจคเฉเจธเฉเจ PR เจเจฐเจเจพ เจฆเฉ เจนเฉเจ เจพเจ เจเฉเจธเจเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจนเฉ
master
เจเจธ เจฆเฉ เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจซเฉเจฐเจ เจเจฐเฉ เจเฉฑเจ "เจฌเฉเจธ เจฌเฉเจฐเจพเจเจ" เจตเจเฉเจ, เจฎเฉเจ เจเฉเจฐเจธ เจธเจฎเฉฑเจเจฐเฉ เจญเฉฐเจกเจพเจฐ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจฆเจพ เจเจตเจพเจฌ เจจเจนเฉเจ เจฆเฉเจตเจพเจเจเจพเฅค
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฎเจจเจเจผเฉเจฐเฉ เจฆเจฟเจ "เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจจเฉเฉฐ เจ เฉเจ เจเจฐเจจเจพ"
เจธเฉเจงเจพเจฐ เจฒเจ เจงเฉฐเจจเจตเจพเจฆ! เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจฎเจจเจเจผเฉเจฐเฉ เจฆเจฟเจ master
เจเจฟเฉฑเจเจฃ เจฆเฉ เจฌเฉเจจเจคเฉ เจคเฉเจ.
๏ธเจเจพเจธเจ
- "เจฎเจฟเจฒเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฎเจฟเจฒเจฃ เจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐเฉ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
- "เจฌเฉเจฐเจพเจเจ เจฎเจฟเจเจพเจ" 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจเจฟเจเจเจเจฟ เจธเจพเจจเฉเฉฐ เจนเฉเจฃ เจเจธเจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจเจน เจเจน เจนเฉ เจเฉ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเจธ เจธเจฎเฉเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจตเจงเจพเจเจเจ!
เจคเฉเจธเฉเจ เจเจน เจธเจพเจฐเฉ เจเจฆเจฎ เจชเฉเจฐเฉ เจเจฐ เจฒเจ เจนเจจ เจเฉ เจฒเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจฆเฉเจฐเจพเจจ เจฒเฉเจเจฆเฉ เจนเจจเฅค
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉเจฐเจธ เจตเจฟเฉฑเจ เจเฉเจ เจธเจฎเฉฑเจธเจฟเจ เจฆเฉเจเจฆเฉ เจนเฉ เจเจพเจ เจเจพเจฃเจฆเฉ เจนเฉ เจเจฟ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเฉเจงเจพเจฐเจฟเจ เจเจพเจตเฉ, เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเฉเฉฑเจฆเจพ เจฌเจฃเจพเจ
เจธเจฐเฉเจค: www.habr.com