30/09/2018, 20:12

Commit khi nào và dùng Git Desktop hay git command?

cho e hỏi là e hay làm xong rồi mới đẩy lên git hay là cuối ngày. và e hay dùng github desktop vậy có nên không? hay là sài bản github bằng command

Mai Anh Dũng viết 22:22 ngày 30/09/2018

cho e hỏi là e hay làm xong rồi mới đẩy lên git hay là cuối ngày

Nên đẩy theo công việc, task, tính năng chứ đừng đẩy theo thời gian.

e hay dùng github desktop vậy có nên không? hay là sài bản github bằng command

Dùng cái nào tiện.

viết 22:16 ngày 30/09/2018

viết xong 1 tính năng + test xong tính năng đó thì commit

Phan Hoàng viết 22:18 ngày 30/09/2018

Best practice dùng với GIT nên là (GIT workflow mà Atlasian recommend)

  • Với mỗi feature, hotfix … -> tạo một branch cho riêng nó. Lúc này bạn thích làm gì thì làm, chả ảnh hướng tới ai, thích commit lúc nào thì commit, comment gì thì comment ^^
  • Nên có 2 branch chính: dev và master.
  • dev: sau khi bạn dev xong feature, test tiếc các kiểu, ok con dê -> merge vào dev (lúc này nên có comment chuẩn, nhất là làm việc với jira thì nên có tên task, … vì sẽ link với nhau được và sau này trace log cũng dễ). Dev cũng dùng để làm continuous integration, nghĩa là CI server sẽ check out cái này, build và deploy lên server test cho tester vào test / chạy các unit test (impact changes)
  • sau khi ngon nghẻ, test ok con dê, cuối sprint, merge vào master và đẩy lên production hoặc môi trường staging (để khách hàng làm Acceptance Test). Chú ý, bộ data/DB dùng trên môi trường này cũng nên chuẩn, chứ không nên cho mấy cái “text kiểu aaa, test, bcdeereff”, nhìn cái app như đống rác.

À, có cái sourceTree của Atlassian (https://www.sourcetreeapp.com/), ở gần cuối thanh menu có cái nút WorkFlow, bạn bấm vào đó là theo đúng chuẩn luôn ^^ Về cá nhân, mình toàn dùng GUI Tool, vừa nhanh, gọn, đỡ gõ nhiều, một nút bấm làm 4,5 cái commands (ví dụ như nút commit, gồm cả add vào staging, commit vào repo, và push lên server, chứ ngồi gõ 3 lệnh này, nhất là có khoảng vài chục file thay đổi thì tới mùa quít không xong …), quá tiện luôn. Chả cần nhớ lệnh gì cả, chỉ cần hiểu khái niệm, ví dụ như CherryPick là gì, Branch là gì, Resolve là gì? Trên server nếu có viết command thì mình khuyên cũng chỉ nên dùng 1 lệnh: git pull để lấy source mới nhất về.

p/s: mình theo trường phái dùng GUI và click. Trước kia học Master, ngồi viết chết thôi các command để làm batch command deploy, giờ dùng Pupet, Ansible, Otto … ngồi chọn và click, nó generate ra, vừa nhanh, vừa không sai ^^ Nhiều người thích dùng command, còn mình trừ phí k có GUI thì mới dùng.

Bài liên quan
0