git命令
git init
创建一个git空仓库
git add <file>
将文件保存到暂存区
git commit -m "..."
将暂存区的内容提交到分支
git diff <file>
比较文件差异
git status
查看当前状态
git log
查看历史
git reflog
查看历史,以便确定回到未来哪个版本
git reset --hard <commit_id>
HEAD表示当前版本,上一个版本是HEAD^,上上一个版本是HEAD^^,上100个版本是HEAD~100
git checkout -- <file>
将修改后的文件撤销回之前状态,如果已经提交到暂存区后又修改了,那么会还原到提交到暂存区时的内容, 注意 -- 很重要,如果没有-- 就是切换到某个分支了
git rm <file>
删除一个文件,如果想还原 git reset <commit_id>,之后 git checkout -- <file>即可
git关联远程仓库
git remote add origin git@server-name:path/repo-name.git
git push -u origin master #第一次推送
git push origin master
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
合并某分支到当前分支
git merge <name>
如当前在master分支下,则git merge dev就是把dev合并到master上
git merge --no-ff -m "merge with no-ff" dev 禁止fast-forward模式
删除分支
git branch -d <name>
git breanch -D <name> 强制删除
把现场的工作先保存
git stash
git stash list
git stash apply 可以恢复多次
git stash pop 只能恢复一次
查看远程库信息
git remote -v
从本地推送分支
git push origin branch-name
从远程抓取分支
git pull origin branch-name
用于新建一个标签,默认为HEAD,也可以指定一个commit id
git tag <name> <commit_id>
可以指定标签信息
git tag -a <tagname> -m "..."
可以用PGP签名标签
git tag -s <tagname> -m "b..."
查看所有标签
git tag
可以推送一个本地标签
git push origin <tagname>
可以推送全部未推送过的本地标签
git push origin --tags
删除一个本地标签
git tag -d <tagname>
删除一个远程标签
git push origin :refs/tags/<tagname>
参考