hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • IDE - Editor - Công cụ lập trình
Hướng dẫn sử dụng Github và các vấn đề lập trình viên thường gặp

Hướng dẫn sử dụng Github và các vấn đề lập trình viên thường gặp

  • 05-03-2022
  • Toanngo92
  • 0 Comments

Mục lục

  • Giới thiệu về github:
  • Danh sách các khái niệm và mô tả tính năng github Desktop:
    • Làm việc với Repository ( kho chứa mã nguồn)
    • Khái niệm branch (nhánh)
  • Cài đặt github cho môi trường windows và tích hợp vào visual studio code
  • Giới thiệu github dòng lệnh và các command thường hay sử dụng
    • Tạo Repository mới
    • Kéo repository từ về môi trường máy tính (local)
    • Tạo git Repository khi có sẵn mã nguồn từ môi trường máy tính
    • Lấy ra danh sách branch
    • Tạo branch mới
    • Chuyển branch trong local repo
    • Chuyển branch từ remote Repo
    • Push (đẩy) code lên Branch
    • Merge (nối) branch
    • Delete (xóa) branch
  • Một số vấn đề thường gặp với github:
      • Nhận diện chữ hoa, hoa thuờng (camel case, uppercase, lower case) trong github
      • Lỗi detected dubious ownership in repository khi sử dụng git
      • Lỗi Support for password authentication was removed on August 13, 2021.
      • Lỗi fatal: Authentication failed for ‘https://github.com/<your_username>/your_project.git/’

Giới thiệu về github:

Trong công việc lập trình, các lập trình viên luôn phải trau dồi kỹ năng làm việc nhóm, một dự án có thể có rất nhiều người code khác nhau, vậy làm thế nào có thể quản lý toàn bộ mã nguồn hiệu quả khi mỗi người tham gia code một thành phần trong dự án ? Github và SVN được sinh ra để giải quyết vấn đề này cho lập trình viên. Ở bài viết này, chúng ta cùng thảo luận về cách tiếp cận github từ cơ bản tới nâng cao cho NEWBIE nhé !

GitHub là một hệ thống quản lý dự án và phiên bản mã nguồn, hoạt động giống như một mạng xã hội cho lập trình viên. Các lập trình viên có thể lấy (clone) mã nguồn từ kho (repository) và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể lưu trữ mã nguồn phục vụ công việc. Ngoài mục đích phục vụ lưu trữ, github cung cấp những phương thức mạnh mẽ giúp lập trình viên có thể dễ dàng làm việc nhóm, quản lý/ kiểm tra lịch sử sửa đổi code, chia nhỏ đầu việc dự án mà không gặp nhiều vấn đề xung đột như việc lưu trữ mã nguồn truyền thống.

Để dễ tiếp cận với Github nhất, bạn nên thử với gitHub Desktop, là phần mềm quản lý mã nguồn có giao diện cài đặt được tren máy tính được github phát triển và cung cấp sẵn, dễ dàng sử dụng cho người mới, chạy được trên macOs và Windows (không thấy ubuntu, thật là thiệt thòi, nhưng anh em nào mà dùng ubuntu hoặc anh em code lâu thì chắc sẽ đam mê xài dòng lệnh hoặc git tích hợp trên IDE chứ ko sử dụng github desktop đâu nhỉ 😅).

Các bước cài đặt:

  1. Đăng ký tài khoản tại https://github.com
  2. Truy cập Link tải github Desktop: https://desktop.github.com/
  3. Tiến hành cài đặt file .msi mới tải về
  4. Sau khi cài đặt thành công, đăng nhập tài khoản github trên giao diện github Desktop và bắt đầu trải nghiệm
Hướng dẫn sử dụng Github và các vấn đề lập trình viên thường gặp
Giao diện github desktop sau khi cài đặt

Danh sách các khái niệm và mô tả tính năng github Desktop:

Làm việc với Repository ( kho chứa mã nguồn)

RRepository chúng ta có thể hiểu nó là một cái kho, nơi sẽ lưu trữ các files và ghi lại toàn bộ trạng thái, lịch sử của thư mục và file trong mã nguồn dự án. Trạng thái được lưu lại đang được chứa như là lịch sử thay đổi của nội dung. Bằng việc đặt thư mục muốn quản lý lịch sử thay đổi dưới sự quản lý của repository, có thể ghi chép lại lịch sử thay đổi của thư mục và file trong thư mục đó, và cập nhật ghi chú cho các phiên bản thay đổi để giúp quá trình maintain hiệu quả hơn.

Giao diện menu file trên github desktop

Khái niệm branch (nhánh)

Branch là thứ sử dụng phân nhánh mã nguồn và ghi lại lịch sử cập nhật code. Branch đã phân nhánh sẽ không ảnh hưởng đến branch khác nên có thể tiến hành nhiều thay đổi đồng thời trong cùng 1 repository. Có thể liên tưởng giống việc chung một mã nguồn gốc, copy ra 5 bản để 5 lập trình viên cùng code trên một dự án và lưu lại lịch sử, mặc dù 5 người đã cùng làm và mã nguồn thay đổi rất nhiều, nhưng mỗi một dev là một phiên bản khác nhau, bao gồm cả phiên bản gốc sẽ không thay đổi gì, giúp cho việc quản lý chất lượng mã nguồn hiệu quả hơn, thông thờng lead sẽ review lại code của các nhánh, nếu đáp ứng chất lượng sẽ cập nhật (merge code) lên nhánh main ( bản chính thức của mã nguồn). Trong mỗi nhánh, vẫn có thể nhiều người cùng làm việc và cập nhật code, tất nhiên các thao tác cần nhịp nhàng để tránh conflict ( xung đột) khi 2 hoặc nhiều lập trình viên cập nhật chung files, hoặc sau khi đã sửa các hàm mà có hàm khác gọi tới gây ra lỗi không mong muốn …

branch trong repository biểu diễn dưới giao diện github desktop

Pull:  khi thực hiện pull, sẽ lấy được mã nguồn mới nhất từ Repository.

Commit: ( xác nhận dữ liệu được thay đổi)

Push: Đưa dữ liệu đã xác nhận lên nhánh sau khi đã xác nhận

Fetch: nạp lại ( hình dung giống việc 2 lập trình viên A,B cùng đưa code mới lên một nhánh, lập trình viên C fetch để làm mới nhánh xem có sự thay đổi gì trong nhánh không, và sau đó sẽ thực hiện công tác pull để kéo code mới cập nhật của 2 LTV A và B về.

Cài đặt github cho môi trường windows và tích hợp vào visual studio code

Nếu bạn đã hiểu rõ các khái niệm của GIT, muốn tìm giải pháp tốt hơn để tăng hiệu năng khi code, hãy xem video ngắn này.

Giới thiệu github dòng lệnh và các command thường hay sử dụng

Tạo Repository mới

Bước 1:

Đăng nhập tài khoản, Bấm nút new trên sidebar menu github.com để tạo repository mới

Bước 2: nhập thông tin cho repo

Bước 3: làm theo hướng dẫn sau khi repo được tạo trên github.com

Chạy lần lượt các lệnh sau:

echo "# quickcap" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/toan10921/quickcap.git
git push -u origin main

Xem thêm:

https://docs.github.com/en/get-started/quickstart/create-a-repo

Kéo repository từ về môi trường máy tính (local)

git clone git_url /path

Tạo git Repository khi có sẵn mã nguồn từ môi trường máy tính

B1: truy cập thư mục cần tạo git, mở command line

B2: Tạo nhánh và commit đầu tiên

git init -b main
git init && git symbolic-ref HEAD refs/heads/main
git add .
git commit -m "First commit"

B3: Tạo Repository trên github.com:

  • Truy cập github.com , bấm Creating a new Repository
  • Đầu trang repository trên github.com copy đường dẫn

B4: thêm URL remote vào local repository hiện tại đã tạo ở môi trường local:

git remote add origin REMOTE-URL
// nếu trong trường hợp add origin chưa đúng, có thể set lại url bằng lệnh:
git remote set-url origin REMOTE-URL
git remote -v
git push origin main

Lấy ra danh sách branch

  • git status: in ra trạng thái hiện tại, sử dụng khi cần biết nhánh đang hiện hoạt trong dự án
  • git branch: in ra local branch
  • git branch -r: in ra remote brach
  • git branch -a: in ra tất cả các branch bao gồm local branch và remote branch

Tạo branch mới

  • git checkout -b branch-name: tạo branch mới với tên là branch-name

Chuyển branch trong local repo

  • git checkout branch-name: chuyển branch hiện tại sang branch-name

Chuyển branch từ remote Repo

  • git pull: nhận tất cả branch từ remote branch ( hay sử dụng để cập nhật mã nguồn mới)
  • git checkout –track origin/branch-name: chuyển branch ở remote repo

Push (đẩy) code lên Branch

  • git push -u origin my-branch-name hoặc git push -u origin HEAD nếu branch local chưa tồn tại trên REPO (publish branch)
  • git push nếu branch local đã tồn tại trên repo

Merge (nối) branch

  • git status
  • git checkout master
  • git merge my-branch-name

LƯU Ý: Khi bạn hợp nhất, có thể xảy ra xung đột. Tham khảo merge conflich để tìm hiểu giải pháp.

Delete (xóa) branch

  • git push origin –delete my-branch-name: Xóa remote branch
  • git branch -d my-branch-name hoặc git branch -D my-branch-name : xóa local branch

Một số vấn đề thường gặp với github:

Nhận diện chữ hoa, hoa thuờng (camel case, uppercase, lower case) trong github

Sau khi tạo file và push code, github không nhận diện chữ hoa và chữ thường gây ra tình huống khi thay đổi môi trường chạy mã nguồn, một số file sẽ không nhận diện được và gây lỗi

Giải pháp: sử dụng câu lệnh trên git bash để thay đổi tên file từ chữ thường sang chữ hoa hoặc ngược lại, ví dụ dưới đây mình đang cần thay đổi tên file từ solutionCategoryController sang SolutionCategoryController trong dự án laravel

git mv app/Http/Controllers/solutionCategoryController.php app/Http/Controllers/SolutionCategoryController.php

Link tham khảo: https://stackoverflow.com/questions/10523849/changing-capitalization-of-filenames-in-git

Lỗi detected dubious ownership in repository khi sử dụng git

Chi tiết lỗi:

fatal: detected dubious ownership in repository at '/home/yourdomain/public_html'
To add an exception for this directory, call:

Trong một số tình huống deploy trên server, chúng ta sẽ gặp vấn đề này khi thao tác với git, giải pháp xử lý là chạy dòng lệnh sau:

git config --global --add safe.directory '*'

Thao khảm thêm bài viết cộng đồng: https://stackoverflow.com/questions/72978485/git-submodule-update-failed-with-fatal-detected-dubious-ownership-in-repositor

Lỗi Support for password authentication was removed on August 13, 2021.

Chi tiết lỗi:

root@vultr:/home/yourdomain/public_html# git pull
Username for 'https://github.com': yourusername
Password for 'https://[email protected]':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/yourusername/yourrepo.git/'
root@vultr:/home/yourdomain/public_html#

Khi gặp lỗi này, cách giải quyết như sau:

Truy cập github.com và đăng nhập, thao tác trên giao diện web các bước lần lượt theo hình:

Sau khi có token, chúng ta đền token thay password khi github yêu cầu nhập mật khẩu:

Để không phải nhập lại username và mật khẩu sau khi thay đổi khi thay token password, chúng ta chạy các lệnh sau:

git config --global user.name "yourusername"
git config --global credential.helper cache
git config --global credential.helper store

Tham khảo thêm bài viết cộng đồng: https://stackoverflow.com/questions/68775869/message-support-for-password-authentication-was-removed-please-use-a-personal

Lỗi fatal: Authentication failed for ‘https://github.com/<your_username>/your_project.git/’

Fix:

git config --global --unset credential.helper

git config credential.helper store

Tham khảo: https://stackoverflow.com/questions/17659206/git-push-results-in-authentication-failed

Bài viết liên quan:

Cài đặt Visual Studio Code để lập trình C/C++ trên Windows và MacOs
Cài đặt dev C++ để lập trình C trên Windows 10
Cài đặt môi trường để lập trình C với phần mềm Dev C++ hoặc Visual Studio Code
Hướng dẫn sử dụng Visual Studio Code và các vấn đề lập trình viên thường gặp

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

KHÁI NIỆM QUẢN LÝ DỰ ÁN CÔNG NGHỆ THÔNG TIN (IT PROJECT MANAGEMENT)

Cấu trúc lập trình và Mảng

Bắt đầu với C#

1. GIỚI THIỆU KHÁI NIỆM CHUẨN MỰC – ĐẠO ĐỨC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

2. ÁP DỤNG CÁC CHUẨN MỰC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×