查看当前路径
pwd在当前目录下创建test文件夹
mkdir test初始化当前文件git夹,声明为空的git仓库,初始化为master版本
git init添加git全局邮箱
git config --global user.email "cherbini@qq.com"添加全局用户名
git config --global user.name "cherbini"添加文件到git仓库
git add readme.txt提交文件命令,-m是指此次提交的说明
git commit -m "提交"查看仓库当前状态
git status查看文件不同的内容变化情况
git diff readme.txt减少输出信息
git log 查看版本更新记录 --pretty=oneline回退到上个版本 HEAD^^上上个 HEAD~100 往上100个版本 –hard 后接部分版本号可以恢复到指定版本二
git reset --hard HEAD^查看文件内容
cat readme.txt查看命令历史
git reflog命令可以查看工作区和版本库里面最新版本的区别
git diff HEAD -- readme.txt撤销文件在工作区的修改,或者还原文件
git checkout -- readme.txt可以把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD <file>删除文件
git rm test.txt生成ssh秘钥
ssh-keygen -t rsa -C "youremail@example.com"将关联远程仓库
git remote add origin git@github.com:michaelliao/learngit.git将远程仓库同步到本地
git pull --rebase origin master将本地推送到远程仓库 -u可以关联本地和远程仓库,第一次提交
git push -u origin master查看当前目录文件列表(有什么文件)
ls从github上clone 项目
git clone git@github.com:用户名/项目名.git创建并切换到dev
git checkout -b dev创建dev分支
git branch dev切换到dev分支
git checkout dev查看当前分支,会显示所有分支
git branch -a合并dev分支
git merge dev删除dev分支
git branch -d dev查看分支合并情况
(解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。)
git log --graph --pretty=oneline --abbrev-commit禁用fast forward,会在merge时生成一个新的commit
git merge --no-ff -m "merge with no-ff" dev将所有未提交的修改都保存起来,用于后续恢复当前工作目录
git stash恢复之前缓存的工作目录,删除git堆栈中的stash
git stash pop stash@{0}恢复指定的缓存的工作目录,但不删除git堆栈的stash
git stash apply stash@{0}查看git 堆栈中的stash列表
git stash list移除指定stash
git stash drop stash@{0}查看stash的不同
git stash show stash@{0}从stash创建分支
(默认情况下,git stash会缓存下列文件:
添加到暂存区的修改(staged changes)
Git跟踪的但并未添加到暂存区的修改(unstaged changes)
但不会缓存以下文件:
在工作目录中新的文件(untracked files)
被忽略的文件(ignored files)git stash命令提供了参数用于缓存上面两种类型的文件。使用-u或者--include-untracked可以stash untracked文件。
使用-a或者--all命令可以stash当前目录下的所有修改。
git stash branch newbranch至于git stash的其他命令建议参考Git manual。)
显示远程仓库信息
git remote -v查看提交记录
git log --graph --pretty=oneline --abbrev-commit形成可读性极高的标签
git tag v0.1 95b7600创建带说明的标签
git tag -a v0.1 -m "version 0.1 released" 1094adb查看所有标签
git tag删除指定标签
git tag -d v0.1推送标签到远程
git push origin v0.2删除远程标签
git push origin :refs/tags/v0.2推送全部未推送过的标签
git push origin --tags查看忽略规则
git check-ignore -v sads.class自定义命令
git config --global alias.st status
(
$ git config --global alias.co checkout
$ git config --global alias.cm commit
$ git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
)删除远程分支
git push origin --delete <branchName>新建远程分支
git push --set-upstream origin branch_name本博客所有文章除特别声明外,均采用: 署名-非商业性使用-禁止演绎 4.0 国际协议,转载请保留原文链接及作者。
