Skip to content

Latest commit

 

History

History
233 lines (143 loc) · 5.62 KB

github.md

File metadata and controls

233 lines (143 loc) · 5.62 KB

...menustart

...menuend

github

run html on github

  • visit http://rawgit.com/
  • 输入你需要执行的 html 网页,会给出两个链接
  • 注意: cdn.rawgit.com 上的文件,第一次访问后会被 永久cache,从而导致 拉取不到最新的文件。
    • 所以一般访问的时候,会指定 某个 commit hash , 或使用最新的 HEAD
    • https://cdn.rawgit.com/mebusy/html5_examples/a12340a5d32b0c760ef138301b067fb1153ef94b/00_marchingSquare.html
    • or https://cdn.rawgit.com/mebusy/html5_examples/HEAD/00_marchingSquare.html

merge specific commit

git cherry-pick [-n] <commit> 
  • -n means no commit

show file change of a commit

git diff-tree <commit>

get a file with specific revision

git show REVISION:filePath > outFilePath

git show/diff 乱码问题

git diff | less -r
  • -r means Output "raw" control characters.

[trick] use git log to display the diffs while searching

git log -p -- path/to/file

show files changed between 2 commit

git diff commit1  commit2 --name-only

provide username when clone private repos

git clone https://username:password@github.com/username/repository.git

gitlab: git clone leads to "SSL certificate problem: unable to get local issuer certificate"

git config --global http.sslVerify false
git clone ...
git config --global http.sslVerify true

Calling git clone using password with special character

!   #   $    &   '   (   )   *   +   ,   /   :   ;   =   ?   @   [   ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
  • for example
$ git clone https://myuser:password%21@github.com/myuser/repo.git

Copy branch from another repository

  1. git clone your repo , so your repo's repo is named origin
  2. add another remote repo , give it name html5
    • git remote add html5 ...
  3. fetch remote repo data
    • git fetch html5
  4. checkout 1 branch html5/develop , to your local branch develop
    • git checkout -b develop html5/develop
  5. push you local branch develop to origin
    • git push --set-upstream origin develop

delete a branch locally and remotely

$ git push --delete <remote_name> <branch_name>
$ git branch -d <branch_name>

delete all commit history in github

  1. Checkout
    • git checkout --orphan latest_branch
  2. Add all the files
    • git add -A
  3. Commit the changes
    • git commit -am "commit message"
  4. Delete the branch
    • git branch -D master
  5. Rename the current branch to master
    • git branch -m master
  6. Finally, force update your repository
    • git push -f origin master

delete all tags, local & remote

# delete remote tags before deleting locals
git tag | xargs -L 1 | xargs git push origin --delete

# then delete local tags
git tag | xargs -L 1 | xargs git tag --delete

partial commmit

git commit -p <filename>

handling conflict

Undo a conflict and start over

  • dealing with a merge conflict doesn't necessarily mean you have to resolve it, you can also undo it.
    git merge --abort
    git rebase --abort