git init //本地初始化当前文件夹为git工作区
git add <filename> //添加到暂存区
git commit -m 'information' //提交占存区到版本库
git status //查看状态
git differ <filename> //查看当前工作区和版本库的文件具体区别
git diff HEAD -- <filename> //工作区和版本库里面最新版本的区别
git log --pretty=oneline //按行显示commit的记录
git reset --hard HEAD^ //回退工作区到commit之前的版本
git reset --hard 1094a //通过commit id 进行回退
git reset HEAD //把暂存区的修改撤销掉(unstage),重新放回工作区
git reflog //来记录你的每一次命令
git checkout -- <filename> //将该文件在工作区的修改全部撤销,这里有两种情况
一种是<filename>自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是<filename>已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git rm <filename> 从版本库中删除该文件,那就用命令删掉
ssh-keygen -t rsa -C "youremail@example.com" //创建ssh key
//把一个已有的本地仓库与远程仓库 @github.com:michaelliao/learngit.git 关联
git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master //把本地库的内容推送到远程 分支为master
//加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git clone git@github.com:ChetWei/demo.git //克隆一个远程仓库
git checkout -b dev //创建一个dev的分支 -b并切换到该分支
git switch -c dev //相同作用 推荐使用
git branch //查看当前分支
git checkout master //切换到master分支
git switch master //相同作用 推荐使用
git merge dev //将dev分支中的内容与master分支进行合并
git branch -d dev //删除dev分支
git log --graph --pretty=oneline --abbrev-commit //看到分支的合并情况
git merge --no-ff -m "merge with no-ff" dev //合并dev分支,--no-ff参数,表示禁Fast forward,合并后的历史有分支
git stash //当前工作现场“储藏”起来不用提交,可以切换到其他分支
git stash list //查看当前分支的工作区stash
git stash apply //恢复,但是恢复后,stash内容并不删除,你需要用`git stash drop`来删除;
git stash pop //恢复的同时把stash内容也删了:
git cherry-pick <commit-id> //复制分支上的提交内容,是不是把整个分支merge过来
git branch -D <branch name> //删除分支
从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,远程仓库的默认名称是origin。
git remote //查看远程仓库的信息
git remote -v //显示详细信息
git push origin master //将本地master分支 推送到远程
git push origin dev //将本地dev分支 推送到远程
//当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支。不信可以用git
git clone xxx
git branch
git checkout -b dev origin/dev //创建远程origin的dev分支到本地
git push origin dev //提交dev分支到远程
git branch --set-upstream-to=origin/dev dev //指定本地dev分支与远程origin/dev分支的链接
git pull //最新的提交从当前分支抓下来
git log --graph --pretty=oneline --abbrev-commit //查看提交分支情况
git rebase //本地未push的分叉提交历史整理成直线,使得我们在查看历史提交的变化时更容易
git tag //查看所有标签
git tag <tagname> //打一个新标签,默认标签是打在最新提交的commit上的
git tag <commitid> //对提交的commitid打标签
git show <tagname> //查看标签信息
git tag -a v0.1 -m "released" <commitid> //创建带有说明的标签,用`-a`指定标签名,`-m`指定说明文字:
git push origin <tagname> //推送某个标签到远程
git push origin --tags //一次性推送全部尚未推送到远程的本地标签
//如果标签已经推送到远程,要删除远程标签就麻烦一点,
git tag -d <tagname> //先从本地删除:
git push origin :refs/tags/<tagname> //从远程删除
网友评论