Cách sử dụng Git trong THỰC TẾ | Github

Sdílet
Vložit
  • čas přidán 27. 07. 2024

Komentáře • 91

  •  Před 4 lety +51

    Cho mấy ông xài dth mà muốn đi tắt -_-
    3:29 Git init
    4:33 Git status
    5:13 Git add và staging
    8:01 Git commit
    9:17 Git commit --amend
    10:39 Git push
    12:19 Git push --force
    15:09 Git log
    16:15 Giới thiệu Branching trong git
    17:34 Git branch
    17:57 Git checkout
    19:25 Git merge
    20:45 Giải thích git merge fast forward
    21:49 Git merge no fast forward
    23:02 Git branch -d (xóa branch)
    23:25 Git rebase
    24:41 Git rebase --preserve-merges(Trường hợp sử dụng)
    25:20 Git reset
    26:23 Git rebase --preverse-merges
    27:15 Pull request
    29:45 Git squash
    31:49 Git cherry-pick
    33:21 Bái bai :v

  • @diepmyduong
    @diepmyduong Před 2 lety +14

    Một chủ đề về git mà mình nghĩ sẽ rất hay đó là về việc quản lý nhiều git được fork, mirror từ 1 git gốc. Mình ví dụ cụ thể hơn là giả sử mình có 1 project tạm gọi là project Gốc. Và sau 1 thời gian mình clone project bằng cách fork, mirror project này ra thành nhiều dự án khác nhau (tạm gọi là project Clone). Mỗi dự án được clone ra sẽ có.1 vài điều chỉnh, chỉnh sửa, thêm hoặc xoá bớt tính năng các thứ. Rồi 1 vài trường hợp sau có thể xuất hiện:
    1/ Project Gốc tiếp tục được phát triển thêm tính năng mới, fix bug code cũ, refactor các thứ, bla bla bla... Và mình muốn những thay đổi này, sẽ áp dụng cho tất cả những project được clone ra từ Project Gốc này đều có được những thay đổi ấy.
    2/ Project Clone được phát triển và có những thay đổi, cải tiến, fix bug và mình muốn project Gốc cũng có những cập nhật cải tiến này để áp dụng cho các Project Clone khác sau này.
    - Mình nghĩ 2 trường hợp này thì việc áp dụng git như thế nào để giải quyết các vấn đề trên sẽ là 1 chủ đề khá thú vị. Mong nhận đc video chia sẻ từ anh sớm :D

  • @quangcao2997
    @quangcao2997 Před 4 lety +6

    mặc dù ngày nào cũng commit, nhưng vẫn xem lại, sợ có điều gì mình còn bỏ qua =)))
    những video của a rất bổ ích !!!
    thank you !!!

  • @phuongho104
    @phuongho104 Před 4 měsíci +1

    Cảm ơn bạn đã hướng dẫn rất cụ thể nhưng nếu được bạn hãy luyện cách diễn đạt rõ ràng, rành mạch hơn. Có thể cách diễn đạt của bạn rất dễ hiểu với người đã biết các ngôn ngữ lập trình, còn lính mới như mình suýt hiểu nhầm một vài câu lệnh mà bạn nói. Thân ái.

  • @phananh8589
    @phananh8589 Před 4 lety

    so like video của ông Dev, mình thật sự thấy có 2 điểm rất đáng xem của channel của bạn: 1 tính thực tế, ứng dụng cao. 2 có những kiến thức abit advance làm cho interesting hơn, học đươc nhiều thứ hơn. thank, chúc bạn phát huy và có nhiều subcribers hơn!

  • @nguyenmanhcuong458
    @nguyenmanhcuong458 Před 3 lety +1

    hay quá anh ơi. mặc dù em không hiểu lắm. nhưng cách làm video của a rất ok ạ.
    Em cảm ơn anh ạ

  • @nguyenthinh3789
    @nguyenthinh3789 Před 3 lety

    Thực sự dễ hiểu cảm ơn anh nhiều

  • @DungTran-wi1id
    @DungTran-wi1id Před 4 lety

    Cảm ơn ông Dev nhiều nhé

  • @cuocsongquanhta5398
    @cuocsongquanhta5398 Před 2 lety +2

    Cảm ơn bạn vì đã làm và video rất hay. Nhưng mình có góp ý là bạn nói đến cái nào thì bạn nên nói rõ bản chất của nó để làm gì để người mới dễ hiểu hơn nha.

  • @luanbuivu9232
    @luanbuivu9232 Před 3 lety

    rất hay. cảm ơn anh

  • @truongnguyennam1728
    @truongnguyennam1728 Před 4 lety

    cám ơn ô dev :3 :3 :3

  • @minhhieuao3506
    @minhhieuao3506 Před 3 lety

    Quá hay anh ơi hehe

  • @atphan1824
    @atphan1824 Před 2 měsíci

    quá dễ hiểu a ơi , tks a

  • @NhanThanh-kp7hc
    @NhanThanh-kp7hc Před 3 lety

    Dễ hiểu thật sự

  • @MinhKhanh-EternAI
    @MinhKhanh-EternAI Před rokem

    Thank you so much for this!

  • @iamminhnhat
    @iamminhnhat Před 4 lety

    Hay lắm ông dev ui :3

    •  Před 4 lety +1

      Hê hê, cần học về cái gì chung chung cứ nói, a giúp đc thì giúp :v

  • @kulinh1773
    @kulinh1773 Před 3 lety

    Cảm ơn anh

  • @anle-ku8wi
    @anle-ku8wi Před 4 lety

    nice

  • @huytranquang6230
    @huytranquang6230 Před rokem

    bổ x quá anh giai

  • @nguyenkhai2094
    @nguyenkhai2094 Před 3 lety

    9:58 cái này nó dùng vim á mng, nhấn I để edit file, thoát thì :wq(vừa thoát vừa save)

  • @minhluanvu7918
    @minhluanvu7918 Před rokem +1

    git push --force dùng trong trường hợp cụ thể sau:
    Thí dụ bạn vừa làm việc ở nhà và ở công ty trên 2 máy nhưng cùng 1 branch
    Ở nhà bạn commit gì đó trước khi đi làm
    Lên cty bạn không nhớ nên đầu giờ làm không thực hiện git pull
    Làm 1 lúc, commit và push thì bị báo lỗi. Nhưng bạn muốn override lại commit ở nhà ==> Dùng git push --force

    •  Před rokem

      Cứ override history cây git thì push force thôi :v

  • @tinatran9159
    @tinatran9159 Před 2 lety

    anh ơi, trong phần git rebase preseve merge á, nếu làm như vậy thì nhánh B11 sẽ đứng 1 mình, nếu mình tiếp tục develop trên nhánh B11 thì có ổn ko anh,

  • @hungcao1342
    @hungcao1342 Před 2 lety

    nice !

  • @huutinnguyen3075
    @huutinnguyen3075 Před 2 lety

    Nói về git rebase commit vs git merge đi a

  • @chienbuiminh6475
    @chienbuiminh6475 Před 4 lety

    hay quá, em đã share tới 20 người, không biết em được hoa hồng bao nhiêu ạ

    •  Před 4 lety

      :D xịn zợ :D tks nha.

  • @quyendang2606
    @quyendang2606 Před 2 lety

    Ad sử dụng tool gì để quản lý source và history với git vậy

  • @thinh0coi
    @thinh0coi Před 3 lety +1

    kiến thức anh chia sẻ rất hay, Tks. Góp ý tí là lúc anh nói anh bớt quay cái ghế, người xem chắc cũng chóng mặt lắm :D

    •  Před 3 lety +3

      Ok mình sẽ cố gắng cải thiện. Nhưng có 1 điều đó là, channel của mình làm video không chuẩn bị content, không có script, chỉ có topic để mọi thứ nó tự nhiên nhất và đi ra từ trong đầu mình, chứ không phải tìm kiếm, research ở đâu cả. Nên khi mình làm video, mình sẽ phải tự suy nghĩ trong đầu ra xem cần phải nói về cái gì, nên mình cần một cảm giác thoải mái nhất để làm tốt. Nên mình hay xoay xoay lắc lắc vậy á :D

    • @locthanh7057
      @locthanh7057 Před 2 lety

      @ cứ thoải mái đi a ơi

  • @quocanhle5217
    @quocanhle5217 Před 2 lety

    Góp ý làm clip hướng dẫn đừng đổi màn hình camer mặt bạn vs màn hình máy tính nhiều vậy, ng xem rất khó tập trung. Cái mọi ng cần là ví dụ minh hoạ.

  • @ucle894
    @ucle894 Před 10 měsíci

    A cho e hỏi ..e muốn lấy link github cá nhân of mk thì vào mục nào a

  • @and.t7069
    @and.t7069 Před 2 lety

    ông dev cũng chơi lmht nữa kìa =))

  • @mindset5228
    @mindset5228 Před 4 lety

    Chưa làm dự án nào nên em mới chỉ tìm hiểu tới clone, push, pull, ... mấy cái cơ bản nữa. Đợi bao h code ngon thì mới tìm hiểu mấy cái kia thêm. Ko bt có nên xem video của ô dev ko nhỉ... sợ tốn time ý mà :))

    •  Před 4 lety

      Coi đi mà chuẩn bị cho sau này :D

  • @coder197
    @coder197 Před rokem

    bấm "a" để edit là shortcut của Vim anh ạ

  • @learningcode2463
    @learningcode2463 Před 4 lety

    Chào a, video của a rất hữu ích ạ, nhưng e lun lẫn lộn và thường xuyên làm conflic code. A cho e hỏi là : Dưới local, sau khi merge xong 1 nhánh feature vào nhánh master với lệnh --no-ff thì nên xóa nhánh feature đó ko, hay là vẫn giữ nguyên lại để track lại history khi cần thiết ? Có cần thiết phải push cả 1 nhánh feature lên remote không ? hay là chỉ dưới local, merge nó vào master trước khi push master lên remote ? A có thể làm 1 video nhỏ để nói chi tiết hơn về các trường hợp sử dụng branch trong dự án thật mà a đã làm không ? Thanks a rất nhiều, chúc a nhiều sức khỏe để đóng góp cho cộng đồng coder.

    •  Před 4 lety

      LearningCode thực ra thì cứ có commit thì a sẽ push thẳng lên remote, còn khi merge thì khi nào merge xong mình sẽ xoá nhánh feature, kể cả local và remote. Về merge, mình có thể merge dưới local, rồi push lên ref để review, giống như Gerrit, còn nếu dùng github, bitbucket thì mình sẽ push feature và tạo PR ở trên remote.

    • @learningcode2463
      @learningcode2463 Před 4 lety

      @ Thanks you so much !

  • @angxuanat1042
    @angxuanat1042 Před rokem

    it's rly good valorant v hack, thanks

  • @devq-2491
    @devq-2491 Před 3 lety

    e có để ý là có garena bên máy đằng sau anh :D

  • @thehien.
    @thehien. Před 4 lety +1

    tiếng nhạc nền hơi to anh ạ

  • @juljulie706
    @juljulie706 Před 2 lety

    Anh ơi cho em hỏi trường hợp này với ạ
    Em có 1 nhánh develop. Em add 1 file* vừa edit vào branch develop này.
    Nhưng leader bảo là không được đưa lên trực tiếp mà phải đặt nhánh riêng và đăng ký pull request.
    Em tạo 1 branch fixbug mới, commit file *và chạy lệnh git push -u origin fixbug
    Sau đó login vào bitbucket tạo PR, thì trên hiển thị lỗi xảy ra lỗi trong quá trình tạo PR. Có phải do em đã add vào branch develop trước đó không ạ?

    •  Před 2 lety

      Nó báo lỗi như nào nhỉ, phải biết nó lỗi gì thì mới biết trường hợp đc ấy

    •  Před 2 lety +1

      Và nếu em đã push lên develop, thì phải nói vs a lead, và làm 1 cái revert commit

    • @juljulie706
      @juljulie706 Před 2 lety

      @ e chỉ add lên develop nhưng lại submit lên nhánh mới. E thử pull request lại vài lần thì đã thành công. Cũng không hiểu nguyên nhân tại sao luôn.
      Còn về branch develop e cho reset lại phần đã add.

  • @atnguyen-ul8vs
    @atnguyen-ul8vs Před 3 lety

    em pull về bị conflict mà nhánh ở visual code nó kiểu a9787b96(rebasing), em resolve conflict @@ anh explain cho em được k ạ

    •  Před 3 lety +1

      Cái này thì 2 cái version, 1 cái trên remote, và cái ở local, có những change ở cùng chỗ, thì nó sẽ conflict. Thì e cứ vào file, xem chỗ nào conflict thì sửa thôi, conflict cơ bản là chọn code của version nào. Chọn xong thì add vào staged. Sau đó git rebase -continue

    • @atnguyen-ul8vs
      @atnguyen-ul8vs Před 3 lety

      @ dạ em cảm ơn ạ

  • @hieule1022
    @hieule1022 Před 4 lety +1

    a lm thêm video về git ci/cd với docker đi a :))

  • @ucmanhly8404
    @ucmanhly8404 Před 3 lety

    vậy khi merge 2 nhánh khác nhau mà 2 nhánh đó có cùng file nhưng khác code thì làm sao để chọn cái nào bỏ cái nào vậy anh

    •  Před 3 lety

      Cái đó tuỳ vào code thôi e, có lúc thì chọn 1 bên, nhưng có lúc thì phải chọn cả 2 xong rồi chỉnh sửa lại. Nên là tuỳ trường hợp á e.

    • @ucmanhly8404
      @ucmanhly8404 Před 3 lety

      @ anh có thể nói cả hai cách được không ạ. nếu chọn 1 bên thì mình làm như nào còn nếu chọn cả 2 thì mình làm như nào ạ

    •  Před 3 lety

      @@ucmanhly8404 đọc code mà sửa thôi e, xoá cái ko cần, giữ cái cần

    • @ucmanhly8404
      @ucmanhly8404 Před 3 lety

      @ à em tưởng mình có thể thao tác cái này bằng lệnh git được =)) oke anh

  • @nguyenminh15988
    @nguyenminh15988 Před 3 lety

    Bạn có thể chia sẽ chương trình hiện cái tree git của bạn đang sử dụg được chứ

    •  Před 3 lety +1

      Mình hay dùng Gitkraken, còn cái trang kia là công cụ học git link mình có để trong description nha

    • @nguyenminh15988
      @nguyenminh15988 Před 3 lety

      @ cám ơn ông Dev nha, mình không phải dev mà cũng tìm hiểu sơ sơ để Dev nói gì hiểu ^^ video rất bổ ít

  • @nguyentientai384
    @nguyentientai384 Před 4 lety

    làm thế nào để có con sói trong git bash kia hả ông dev

    •  Před 4 lety

      Mình dùng iTerm2, bạn có thể vào Profiles -> Edit Profiles -> Windows -> Background Image -> Enable lên nó sẽ bảo mình chọn dir cho bg image.

  • @jaytran247
    @jaytran247 Před 2 lety

    thực tế thì trong trường hợp nào sẽ dùng rebase ?

    •  Před 2 lety

      Hầu hết các lần mình muốn update code từ remote về, mình sẽ dùng rebase trừ trường hợp change quá lớn thì mình mới merge.
      Thêm 1 cái nữa là nếu mình muốn chỉnh sửa lịch sử của branch.
      Và khi mình chuẩn bị push để pull request, thì mình luôn luôn rebase lên branch mình muốn merge vào.

  • @nhatacoustic3633
    @nhatacoustic3633 Před 3 lety

    Ở local mình xóa 1 nhánh rồi, làm sao để trên github đồng bộ vậy anh?

    •  Před 3 lety +1

      Git push origin -delete ten-branch

    • @nhatacoustic3633
      @nhatacoustic3633 Před 3 lety

      @ em lỡ xóa cái branch rồi giờ không còn để push

    •  Před 3 lety

      @@nhatacoustic3633 e push thử chưa :v nó có lỗi ko?

    • @nhatacoustic3633
      @nhatacoustic3633 Před 3 lety +1

      @ Được rồi nha anh, hồi chiều delete biết thiếu 1 dấu trừ, tks anh nha

    •  Před 3 lety +1

      ối :v

  • @KDThai-ed7ky
    @KDThai-ed7ky Před 3 lety

    tin nhắn garena :))

  • @linhkienienthoai4435
    @linhkienienthoai4435 Před 4 lety +1

    videos dành cho người biết tiếng anh dm :(((

    •  Před 4 lety +1

      :D Những từ Tiếng Anh trong video này là những từ rất cơ bản, hoặc là keyword trong lập trình
      Nếu giờ dev mà không biết được những từ này thì sẽ khá là thiệt thòi đấy.

  • @nguyenthinh3789
    @nguyenthinh3789 Před 3 lety

    24:41 C12' và C13' là gì v ạ

    •  Před 3 lety

      Nghĩa là Commit số 12 và 13, nhưng người ta để ' và giữ cái commit cũ(để mờ) để mình dễ hình dung á

    • @nguyenthinh3789
      @nguyenthinh3789 Před 3 lety

      @ có nghĩa nó chỉ tượng trưng thôi phải không ạ

    •  Před 3 lety +1

      @@nguyenthinh3789 ừ đúng r e

  • @sonnguyenhoai8157
    @sonnguyenhoai8157 Před rokem

    lmao i was tNice tutorialnking ths sa tNice tutorialng then i saw ur comnt

    •  Před rokem

      Nói gì zị chời :v

  • @foxowovn
    @foxowovn Před rokem

    haha

  • @hieulonlen6929
    @hieulonlen6929 Před rokem

    hề chưa đii làm nên chưa hiểu j!!!

  • @nguyenthinh3789
    @nguyenthinh3789 Před 3 lety

    12:25 anh ơi, sai command

    •  Před 3 lety

      Úi sai chính tả :’(

  • @nguyenthaihien1704
    @nguyenthaihien1704 Před 3 lety

    e mới tìm hiểu Git, xem lần đầu tiên về Git, chẳng hiểu gì! :)))

    •  Před 3 lety +1

      Xem hết video này mà chẳng hiểu gì hả e :’(

    • @huyttvlog
      @huyttvlog Před 3 lety +1

      @ mình cũng mới ko hiểu gì cả. Bạn dùng nhiều thuật ngữ như cho ng đã biết và chưa diễn giải bản chất git nên càng xem càng bị xoắn não.

    •  Před 3 lety +1

      @@huyttvlog Ngay đầu video mình đã giải thích về git rồi nhỉ, và những cái thuật ngữ trong video đều là những thuật ngữ rất cơ bản trong lập trình. Và mỗi thuật ngữ mình nói ra đều có giải thích đi kèm mà nhỉ @@ Nếu không thì sr bạn vì khả năng diễn đạt của mình yếu.

  • @TungNguyen-fd1rh
    @TungNguyen-fd1rh Před 2 lety

    Video này cho người mới thì khó hiểu; còn cho người cũ thì nhàm. Nói chung rất vớ vẩn 🤭🤭🤭

  • @confessionspp3725
    @confessionspp3725 Před 3 lety

    Lúc tạo repo thì file readme nằm ở main, lúc sau em push code lên nằm ở master, có ảnh hưởng gì không anh và cách xử lí để tất cả vào main được không ạ

    •  Před 3 lety

      Em dùng 1 trong 2 thôi, thường thì người ta sẽ có 1 cái gọi là base branch, thì có thể là main, hoặc là master, nếu giờ em có code ở master, và em muốn dùng main thì em có thể merge vào. Github có cái gọi là pull request.