可以用git config --list查看是否设置成功
git config --global http.proxy http://localhost:8123 git config --global https.proxy http://localhost:8123
克隆分支
git clone -b mybranch --single-branch git://sub.domain.com/repo.git
# Clone an existing repository $ git clone ssh://git@github.com/username/repo.git # Create a new local repository $ git init
# Changed files in your working directory $ git status # Changes to tracked files $ git diff # Add all current changes to the next commit $ git add . # Add some changes in <file> to the next commit $ git add -p <file> # Commit all local changes in tracked files $ git commit -a # Commit previously Staged changes $ git commit # Change the last commit * Don't amend published commits $ git commit --amend
# Show all commits, starting with newest $ git log # Show changes over time for a specific file $ git log -p <file> # Who changed what and when in <file> $ git blame <file>
# List all existing branches $ git branch -av # Switch HEAD branch $ git checkout <branch> # Create a new branch based on your current HEAD $ git branch <new-branch> # Create a new tracking branch base on a remote branch $ git checkout --track <remote/branch> # Delete a local branch $ git branch -d <branch_name> # Mark the current commit with a tag $ git tag <tag_name>
# List all currently configured remotes $ git remote -v # Show information about a remote $ git remote show <remote> # Add new remote repository, named <remote> $ git remote add <shortname> <url> # Download all changes from <remote>, but don't integrate into HEAD $ git fetch <remote> # Download changes and directly merge/integrate into HEAD $ git pull <remote> <branch> # Publish local changes on a remote $ git push <remote> <branch> # Delete a branch on the remote $ git branch -dr <remote/branch> # Publish your tags $ git push --tags
# Merge <branch> into your current HEAD $ git merge <branch> # Rebase your current HEAD onto <branch> * Don't rebase published commits $ git rebase <branch> # Abort a rebase $ git rebase --abort # Continue a rebase after resolving conflicts $ git rebase --continue # Use your configurd merge tool to solve conflicts $ git mergetool # Use your editor to manually solve conflicts and (after resloving) mark file as resolved $ git add <resolved-file> $ git rm <resolved-file>
# Discard all local changes in your working directory $ git reset --hard HEAD # Discard local changes in a specific file $ git checkout HEAD <file> # Revert a commit (by producing a enw commit and discard all changes since then) $ git reset --hard <commit> # And preserve all changes as unstaged changes $ git reset <commit> # And preserve uncommitted local changes $ git reset --keep <commit>