Git
Chapters ▾ 2nd Edition

3.3 Pag-branch ng Git - Pamamahala ng Branch

Pamamahala ng Branch

Ngayong nakagawa, naka-merge, at nakabura ka na ng ilang mga branch, tingnan natin ang ilang mga kasangkapan sa pamamahala ng branch na magiging kapaki-pakinabang kapag nagsimula kang gumamit ng mga branch sa lahat ng pagkakataon.

Ang git branch na utos ay gumagawa ng higit pa sa paggawa at pagbura ng mga branch lamang. Kung napatakbo mo ito nang walang mga argumento, makakakuha ka ng isang simpleng paglilista ng iyong kasalukuyang mga branch:

$ git branch
  iss53
* master
  testing

Pansinin ang * na karakter na naka-prefix sa master na branch: ito ay nagpapahiwatig sa branch kung saan ikaw ay kasalukuyang naka-check out (i.e., ang tinuturo ng branch na HEAD). Ang ibig sabihin nito na kung ikaw ay magku-commit sa puntong ito, ang master na branch ay malilipat nang pasulong kasama ang iyong bagong trabaho. Upang matingnan ang huling commit sa bawat branch, maaari mong patakbuhin ang git branch -v:

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

Ang kapaki-pakinabang na --merged at --no-merged na mga opsyon ay maaaring magsalin nitong listahan ng mga branch na na-merge mo o hindi pa na-merge sa branch kung saan kasalukuyang nandoon ka. Upang makita kung anong mga branch ang na merge na sa branch kung saan nandoon ka, maaari mong patakbuhin ang git branch --merged:

$ git branch --merged
  iss53
* master

Dahil na merge mo na ang iss53 kamakailan lamang, makikita mo ito sa iyong listahan. Ang mga branch sa listahang ito na walang * sa harap nila ay kadalasang maayos lang burahin gamit ang git branch -d; naipasama mo na ang kanilang trabaho sa iba pang branch, kaya hindi ka mawawalan ng anuman.

Upang matingnan ang lahat ng mga branch na naglalaman ng trabaho mo na hindi pa na merge, maaari mong patakbuhin ang git branch --no-merged:

$ git branch --no-merged
  testing

Ipinapakita nito ang iyong ibang branch. Dahil naglalaman ito ng trabaho na hindi pa na merge, ang pagsubok sa pagbura nito gamit ang git branch -d ay mabibigo.

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

Kung gusto mo talagang burahin ang branch at mawala ang trabahong iyon, maaari mong pilitin ito gamit ang -D, habang tinuturo ito sa kapaki-pakinabang na mensahe.

Tip

Ang mga opsyon na inilalarawan sa itaas, --merged at --no-merged ay, kung hindi binigyan ng isang commit o pangalan ng branch bilang isang argumento, ipinapakita sa iyo kung ano, ayon sa pagkakabanggit, ang naka-merge o hindi naka-merge sa iyong current na branch.

Maaari kang palaging magbigay ng isang karagdagang argumento upang magtanong tungkol sa estado ng merge ayon sa ilang ibang branch kahit hindi unang susuriin ang ibang branch na iyon, katulad ng, ano ang hindi na-merge sa master na branch?

$ git checkout testing
$ git branch --no-merged master
  topicA
  featureB