- vừa được xem lúc

Hướng dẫn configure 2 tài khoản GitHub trên cùng 1 máy tính

0 0 6

Người đăng: Nam Pham

Theo Viblo Asia

Chào anh em, hôm nay mình sẽ hướng dẫn anh em cách configure để làm việc với 2 account GitHub trên cùng 1 máy tính.

Bối cảnh

Mình có 1 máy tính công ty cấp cho và 2 account GitHub, 1 account công ty và 1 account cá nhân. Máy công ty làm việc với account công ty là đương nhiên rồi, nhưng thỉnh thoảng mình cũng muốn làm việc riêng với account cá nhân (có thể không tốt lắm). Và mình muốn lưu data, config cá nhân tách biệt nhất có thể.

Cách làm

Yêu cầu

  • Máy tính hệ điều hành MacOS (Windows và Linux các bạn làm tương tự nhé)
  • Có 2 account GitHub: 1 công ty và 1 cá nhân
  • Biết cách thêm SSH key vào GitHub

Phần 1: Config SSH

Bước 1: Tạo ssh key cho tài khoản công ty. Mở terminal và chạy lệnh sau:

ssh-keygen

Key sẽ được lưu ở thư mục ~/.ssh/ với tên file là id_ed25519. Bạn có thể thay đổi nhiều thông số khác như loại key, tên file, passphrase... nhưng ở đây mình sẽ để mặc định để đơn giản nhất.

Bước 2: Mở account GitHub công ty lên và thêm ssh key vào.

Lưu ý: Bước 1 và Bước 2 ở trên mình nghĩ bạn đã làm rồi nên có thể bỏ qua nếu đã làm.

Bước 3: Mở (thêm nếu chưa có) file cấu hình ssh:

nano ~/.ssh/config

Thêm đoạn sau vào file:

Host github.com IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes

Bước 4: Tạo thư mục cá nhân để tách biệt data cá nhân như repos, ssh config, git config. Bạn có thể tạo ở bất kì đâu, nhưng mình lưu ở ~/personal.

mkdir -p ~/personal

Bước 5: Tạo ssh key cho account cá nhân bằng cách chạy lệnh sau:

mkdir -p ~/personal/.ssh && ssh-keygen -f ~/personal/.ssh/id_ed25519

Bước 6: Mở account GitHub cá nhân lên và thêm ssh key vào.

Bước 7: Tạo file cấu hình ssh cho tài khoản cá nhân

nano ~/personal/.ssh/config

Thêm đoạn sau vào file:

Host github.com-personal HostName github.com IdentityFile ~/personal/.ssh/id_ed25519 IdentitiesOnly yes

Bước 8: Sửa file cấu hình ssh chính để include file cấu hình cá nhân

nano ~/.ssh/config

Thêm dòng sau vào đầu file:

Include ~/personal/.ssh/config

Bước 9: Xác nhận

Chạy lệnh sau nếu GitHub phản hồi username công ty thì ok.

ssh -T git@github.com

Chạy lệnh sau nếu GitHub phản hồi username cá nhân thì ok.

ssh -T git@github.com-personal

Phần 2: Config git

Mục đích: Để git sử dụng config cá nhân khi làm việc trong thư mục cá nhân.

Bước 1: Tạo file cấu hình git cho tài khoản cá nhân

nano ~/personal/.gitconfig

Thêm đoạn sau vào file (nhớ thay name và email của bạn) :

[user] name = <name cá nhân> email = <email cá nhân> [url "git@github.com-personal:"] insteadOf = git@github.com:

Bước 2: Sửa file cấu hình git chính để include file cấu hình cá nhân

nano ~/.gitconfig

Thêm dòng sau vào cuối file:

[includeIf "gitdir:~/personal/"] path = ~/personal/.gitconfig

Phần 3: Sử dụng

Làm việc công ty

Khi làm việc với tài khoản công ty, bạn chỉ cần thao tác clone, pull, push như bình thường, không cần thay đổi gì cả.

Làm việc cá nhân

Point

  • Làm việc trong thư mục ~/personal hoặc các thư mục con của nó.
  • Thay host github.commặc định bằng github.com-personal

Ví dụ 1: Clone repo cá nhân

Để clone repo cá nhân username/repo sử dụng lệnh:

git clone git@github.com-personal:username/repo.git

Sau khi clone xong, bạn có thể làm việc với repo như bình thường (pull, push...) mà không cần thay đổi gì cả.

Ví dụ 2: Thay đổi config cho repo đã tạo/clone trước đó

Thay đổi remote url bằng lệnh:

git remote set-url origin git@github.com-personal:username/repo.git

Kết luận

Vậy là mình đã hướng dẫn xong cách configure 2 tài khoản GitHub trên cùng 1 máy tính. Hy vọng bài viết sẽ giúp ích cho anh em trong việc quản lý nhiều tài khoản GitHub. Mình không giải thích quá chi tiết về các lệnh vì mình nghĩ anh em cũng khá rành về Git và GitHub rồi.

P/s: Ở đây mình cài đặt trên máy công ty, làm việc với account công ty là chính nên nếu bạn muốn làm ngược lại thì bạn chỉ cần đổi tên các file và các đoạn code là được.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 2 1.2k

- vừa được xem lúc

Tập hợp những câu lệnh GIT hữu dụng

Dưới đây là một vài ví dụ về các câu lệnh Git mà tôi thường dùng. git config --global user.name "John Doe". git config --global user.

0 0 95

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 2): Trigger một work flow

Events trigger. Bạn có thể cấu hình cho workflows chạy khi có một sự kiện nào đó xảy ra trên GitHub, theo một lịch có sẵn hoặc cũng có thể là một sự kiện nào đó xảy ra ngoài GitHub.

0 0 103

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 1): Một ít lý thuyết

CI/CD là gì. Về mặt khái niệm là vậy nhưng về mặt triển khai thì CI/CD là quá trình tự động thực hiện các quá trình build, test, release, deploy khi có các trigger như commit/merge code lên một branch định sẵn hoặc có thể là tự động chạy theo một lịch cố định.

0 0 154

- vừa được xem lúc

Giới thiệu về Git LFS

. Git LFS là gì . Git LFS làm điều này bằng cách thay thế các tệp lớn trong repo của bạn bằng một con trỏ nhỏ.

0 0 60

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 108