以前断断续续用过git 在github上用客户端上传过 但是没有好好整理过git的知识 今天重温了下 顺便整理了下
git status
git commit -m
git log --pretty=oneline
git reflog
git reset HEAD readme.txt 暂存区的修改退回到工作区(即你修改了工作区 但是仅仅 git add 如果要工作区的也退回 还得执行 git checkout -- readme.txt)
git checkout -- readme.txt 丢弃工作区的修改 回到最近一次 git add 或者git commit 的状态
git reset --hard HEAD~1 退回上一个版本
git reset --hard xxxxxx 退回到固定版本
git rm test.txt 删除一个文件
git remote add origin git@server-name:path/repo-name.git exam: git remote add origin git@github.com:code-newguy/repo-name.git
在本地关联远程库
git push -u origin master 把当前分支master推送到远程新的master分支 本地的master和远程的master分支关联起来(第一次) 之后可以git push origin master
git branch 查看分支
git checkout -b dev 创建并且切换到dev分支
git branch dev 创建分支dev
git checkout dev 切换分支dev
git merge <name> 合并分支到当前分支
git branch -d <name> 删除分支
git log --graph --pretty=oneline --abbrev-commit 查看分支的情况
git merge --no-ff -m "merge with no-ff " dev 使用no-ff模式合并
git stash 储藏当前工作现场
git stash apply | git stash drop 恢复工作现场 删除stash
git pop 恢复工作现场 删除stash
git branch -D <name> 丢弃一个没有被合并的分支
git tag v1.0 xxxxxx 特定的commit id 打标签
git tag 查看标签
git show <tagname> 查看标签信息
git tag -a <tagname> -m "information" xxxxxx 创建带有说明的标签
git push origin <tagname> 推送一个本地标签
git push origin --tags 推送全部未推送过的本地标签
git tag -d <tagname> 本地删除标签
git push origin :refs/tags/<tagname> 删除远程标签
git pull origin master // pull changes 上传时 原来的文件中含有readme.txt LICENCE 等文件 可以在git push origin master 之前写上