0

Mastering Github

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

Viblo
Let's register a Viblo Account to get more interesting posts.