Mastering Github
Bài đăng này đã không được cập nhật trong 9 năm
Trong quá trình làm việc tại công ty thì chúng ta đều đã biết đến Github. Vậy Github là gì?
Github là một công cụ cho …
Chia sẻ Thảo luận Xem xét mã nguồn của bạn Trong bài viết này, chúng ta sẽ tập trung vào thực hành tốt nhất cho việc sử dụng Github.
Bạn nên làm quen với ..
Adding and committing files Branching Merging Rebasing Handling conflict
1. Cơ bản về Git
Git Configuration
--local để thiết lập cấu hình cho một repo
--global để thiết lập cho user của bạn
--system để thiết lập cho tất cả các user
Ví dụ:
Thiết lập một email nếu sử dụng một tài khoản Github khác
$ git config --local user.email test@framgia.com
Checking Your Global Configuration
$ git config --global user.name ## kiểm tra global username
$ git config --global user.email ## kiểm tra global email
Setting Your Global Configuration
# thiết lập global username
$ git config --global user.name "Viet Nguyen"
# thiết lập global email
$ git config --global user.email test@framgia.com
Viewing Global Configurations
$ git config --global --list hoặc $ cat ~/.gitconfig
Viewing Local Configurations
$ git config --local --list hoặc $ cat .git/config
Configuring Push Default
$ git config --global push.default simple
Configuring Pull Default
$ git config --global pull.rebase true
Configuring Reuse Recorded Resolution (ReReRe)
-
Ghi tất cả các bản sửa lỗi để merge conflicts
-
Sử dụng lại chúng tự động nếu xung đột tương tự tái diễn
$ git config --global rerere.enabled true
Configuring Output Colors
$ git config --global color.ui true
Configuring Aliases
Configuring Aliases - “git s”
$ git status -s
Configuring Aliases - “git lg”
$ git lg
Updating your Fork
Add remote for upstream
$ git remote add framgia <path_to_repo>
Fetch changes
$ git fetch framgia
Merge them into master
$ git merge framgia/master master
Push them to your remote
$ git push origin master
Reviewing a Pull Request
Download all branches from GitHub.
$ git fetch
View all of the branches.
$ git branch -a
Checkout a local copy of a remote branch
$ git checkout <branch_name>
Test code, make any changes and then commit and push changes.
$ <make edits>
$ git commit
$ git push
2. Tags
Tags tài liệu hướng dẫn. Sử dụng chúng để theo dõi tất cả các production releases. Có 3 loại Tags:
Lightweight - just a tag, no message or tagger
$ git tag
Signed - uses public key to prove identity of tagger
$ git tag -s
Annotated - adds info on who tagged, when and why
$ git tag -a
Using Annotated Tags
$ git tag -a v1.3.2 -m "Tag message"
$ git push --tags
3. Issues
Tại sao sử dung Issues?
Issues có thđược sử dụng cho:
Tracking bugs Managing features Truy cập issues
public repo - anyone can access private repo - only collaborators Adding Commits tới Issues
$ git commit -m “Should help with issue #1”
Referencing Issues in Commits
$ git commit -m “Fixes #1”
4. Wiki's
Tại sao sử dụng Wiki's?
Bắt đầu với một file README.md Khi nó trở nên khó sử dụng, thêm một Wiki Sử dụng Markdown trong Wiki
Tham khảo link : https://help.github.com/articles/github-flavored-markdown
5. Github Pages
Tại sao sử dụng Github Pages?
Github Pages có thẻ được dùng cho:
Thêm tài liệu cho dự án Hosting một trang web cho người dùng hoặc tổ chức Tạo User Page của bạn
Create a repo called username.github.io Use the auto page generator Write content Pick theme Publish Tạo một Project Page
Select in settings Write content Select a layout Publish Content is in gh-pages branch Configuring a Custom Domain
Create “CNAME” file in root of repo Should be on same branch as Pages content Configure CNAME with DNS host
6. Getting Started with Hub
Installing Hub
Mac
$ brew update
$ brew install hub
Linux/Windows
$ git clone https://github.com/github/hub.git
$ cd hub
$ rake install prefix=/usr/local
Using Hub
1. Use hub commands
$ hub clone
$ hub fork
etc.
2. Alias hub as git
$ alias git=hub
$ git clone
$ git fork
etc.
Creating a Repo Using Hub
$ git init new_repo
$ cd new_repo
$ vi README.md
$ git add .
$ git commit
$ git create
$ git push -u origin master
$ git browse
Creating a Pull Request Using Hub
$ git checkout -b new_branch
$ vi new_code.rb
$ git add .
$ git commit
$ git push -u origin new_branch
$ git pull-request
Cloning a Repo Using Hub
$ git clone repo_name# để clone một trong những repo của bạn
$ git clone username/repo_name # đẻ clone của người khác
Forking a Repo Using Hub
$ git clone deadlyvipers/dojo_rules
$ cd dojo_rules
$ git fork
Pulling from Forks Using Hub
$ git remote add username
or
$ git fetch username
Cherry-picking from Forks Using Hub
$ git cherry-pick username@SHA
Checking out a Pull Request from a Fork
$ git checkout https://github.com/username/repo/pull/1 custom-branch-name
Merging a Pull Request from a Fork
$ git merge https://github.com/username/repo/pull/1
Nếu nó tốt, sau đó đẩy hợp nhất
$ git push
Nếu không, bạn có thể bỏ đi những merge commit
$ git reset --hard HEAD~1
Vẫn còn tiếp (Cont)
All rights reserved