<\/span><\/h2>\n\n\n\n$ git init\n$ git add .\n$ git commit -m \"[commit message]\"\n$ git remote add origin [github repository url]\n# remove remote\n# git remote remove origin\n# \u7b2c\u4e00\u6b21 push\n$ git push --setupstream origin [branch name]\n# \u4ee5\u5f8c push\n$ git push<\/code><\/pre>\n\n\n\n<\/span>2. git clone<\/span><\/h2>\n\n\n\n# clone \u5225\u4eba\u7684 repo \u5f8c push \u5230\u81ea\u5df1\u7684 new repo\n\n$ git clone [someone's github repository url]\n$ git remote rename origin upstream\n$ git remote add origin [new repository url]\n$ git push origin master<\/code><\/pre>\n\n\n\n<\/span>3. git branch<\/span><\/h2>\n\n\n\n# \u65b0\u589e branch\n$ git branch [branch name]\n\n# \u5982\u679c\u6709 [branch name] \u5c31\u5207\u63db\u904e\u53bb\uff0c\u6c92\u6709\u7684\u8a71\u5c31\u5efa\u7acb\u8a72 branch \u4e26\u5207\u63db\u5230\u8a72 branch\n$ git checkout -b [branch name]\n\n# \u5c07 branch apple \u91cd\u65b0\u547d\u540d\u70ba banana\n$ git branch -m apple banana\n\n# \u522a\u9664 local \u7684 branch\n$ git branch -d [branch name]\n\n# \u5f37\u5236\u522a\u9664 local \u7684 branch\n$ git branch -D [branch name]\n\n# \u522a\u9664 remote \u7684 branch\n$ git push origin --delete [remote branch name]\n\n# \u67e5\u770b local \u7684 branch\n$ git branch -v\n\n# \u67e5\u770b remote \u7684 branch\n$ git branch -rv\n\n# \u540c\u6642\u67e5\u770b local \u548c remote \u7684 branch\n$ git branch -av\n\n# \u5728 feature branch \u958b\u51fa sub branch\n$ git checkout -b sub feature\n# \u6216\u662f\n$ git branch sub feature\n\n# \u65b0\u589e local branch \u4e26\u9023\u7d50 remote repository \u7684 branch\n$ git checkout --track origin\/[remote branch name]\n# \u7b49\u540c\u65bc\n$ git checkout -b [remote branch name]\n$ git branch --set-upstream-to=origin\/[remote branch name] [remote branch name]\n\n# \u65b0\u589e local branch \u4e26 push \u5230 remote \u4e0a\n$ git checkout -b [branch name]\n$ git push -u origin [branch name] \n<\/code><\/pre>\n\n\n\n<\/span>4. git tag<\/span><\/h2>\n\n\n\n# \u5728 local \u7aef\u65b0\u589e tag\n$ git tag [tag_name]\n\n# push local \u7684 tag \u5230 remote\n$ git push origin [tag_name]\n\n# \u522a\u9664 local \u7aef tag\n$ git tag -d [tag_name]\n\n# \u522a\u9664 remote \u7aef tag\n$ git push --delete origin [tag_name]<\/code><\/pre>\n\n\n\n<\/span>5. commit \u76f8\u95dc<\/span><\/h2>\n\n\n\n# \u6368\u68c4\u6700\u5f8c\u4e00\u6b21\u7684 commit\n$ git revert HEAD --no-edit\n\n# \u6368\u68c4\u6700\u8fd1\u4e00\u6b21\u7684 commit\n$ git reset master^\n\n# \u6368\u68c4\u76ee\u524d branch \u4e0a\u6700\u8fd1\u4e00\u6b21\u7684 commit\n$ git reset HEAD~1\n\n# \u6062\u5fa9\u5230\u67d0\u6b21 commit \u7684\u72c0\u614b\uff0c\u540c\u6642\u66f4\u65b0 remote \u72c0\u614b\n$ git reset SHA1 --hard\n# \u5f37\u5236 push\uff0c\u5ffd\u7565 remote \u7248\u672c\u8f03\u65b0\u7684\u554f\u984c\n$ git push -f\n\n# \u6368\u68c4\u67d0\u6b21\u7684 commit\n$ git revert SHA1\n\n# \u4fee\u6539 commit message - \u5c1a\u672a push \u5230\u9060\u7aef\n$ git commit --amend -m \"New message\"\n\n# \u4fee\u6539 commit message - \u5df2\u7d93 push \u5230\u9060\u7aef\uff0c\u4fee\u6539\u76ee\u524d\u6700\u65b0\u7684 commit message\n$ git commit --amend -m \"New message\"\n$ git push --force origin <branchName>\n\n# cherry-pick\n$ git cherry-pick <commit-hash><\/code><\/pre>\n\n\n\n