查看当前路径

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 国际协议,转载请保留原文链接及作者。

hexo常用命令 上一篇
nginx的简单使用 下一篇

 目录


买个卤蛋,吃根冰棒