git init git status vi aspiring.txt git add aspiring.txt git commit -m 'aspiring' git log git log --pretty=oneline git reset --hard HEAD^ git reset --hard 0dff30fbca317febc42f1c4c38a77bb3726fefc6 git reflog git reset --hard 1228293 pwd ssh-keygen -t rsa -C "[email protected]" ssh -T [email protected] git remote add origin https://github.com/j415/aspiring.git git pull --rebase origin master git push origin master git clone [email protected]:j415/aspiring.git ls -a cat aspiring.txt touch .gitignore git branch jhc git branch git checkout jhc git checkout -b dyf git merge dyf git push --set-upstream origin dyf git tag v1.0 git tag 标签名 commitID 指定commit id打标签 git tag -d 标签名 删除标签 git push origin v1.0 推送标签到远程 git push origin --tags 一次性推送全部尚未推送到远程的本地标签 删除已经推送到远程的标签 先从本地删除 git tag -d 标签名 再从远程删除 git push origin :refs/tags/标签名
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
$ mkdir learngit
$ cd learngit
$ pwd
$ git init
$ touch readme.txt
$ git add readme.txt
$ git commit -m "wrote a readme file"
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
$ git status
$ git diff readme.txt
$ git log
$ git log --pretty=oneline
$ git reset --hard HEAD^
$ cat readme.txt
$ git reset --hard 1094a
$ git reflog
$ git checkout -- readme.txt
$ git reset HEAD readme.txt
$ git checkout -- readme.txt
$ rm test.txt
$ git rm test.txt
$ git push origin
$ git clone [email protected]:michaelliao/gitskills.git
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
$ git checkout -b feature1
$ git merge feature1
$ git log --graph --pretty=oneline --abbrev-commit
$ git merge --no-ff -m "merge with no-ff" dev
$ git stash
$ git stash list
$ git stash pop
$ git stash apply stash@{0}
$ git branch -D
$ git remote
$ git remote -v
$ git checkout -b dev origin/dev
$ git pull
$ git branch --set-upstream-to
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
命令git tag
命令git tag -a
命令git tag可以查看所有标签。
命令git push origin
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d
命令git push origin :refs/tags/
在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码。