git命令

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

-----在空目录下创建仓库-----

$ mkdir learngit 创建文件夹

$ cd learngit进入文件夹

$ pwd 显示当前目录

$ git init 初始化一个git仓库

$ git add <file>把文件添加到仓库

$ git commit -m"wrote a readme file" 把文件提交到仓库

$ git status 查看仓库当前状态

$ git diff 查看修改的内容

$ git log 显示最近到最远的提交日志

$ git log --pretty=oneline 一行显示提交日志

$ git reset --hard HEAD^ 回退到上一个版本

$ git reset --hard HEAD^^ 回退到上上一个版本

$ git reset --hard HEAD~100 回退到往上100个版本

$ git reset --hard commit_id 回退到指定版本号

$ git reflog 记录每一次命令

$ git diff HEAD --<file> 查看工作区和版本库里面最新版本的区别

$ git checkout --<file> 将文件中在工作区的修改全部撤销

$ git reset HEAD file 将暂存区的修改撤销掉,重新放回工作区

$ cat <file> 查看文件内容

$ rm <file>  + $  git commit 删除文件

$ ssh-keygen -t rsa -C "youremail@example.com" 创建ssh key

$ git remote add origin git@github.com:path/repo-name.git 关联一个远程库

$ git push -u origin master 第一次推送master分支的所有内容

$ git push origin master 推送最新修改(不是第一次)

$ git clone git@github.com: path/repo-name.git 从远程库克隆

$ git checkout -b dev 创建dev分支并切换到dev分支

$ git branch dev 创建dev分支

$ git checkout dev 切换到dev分支

$ git branch 查看当前分支

$ git merge dev 把dev分支的内容合并到master分支上

$ git branch -d dev 删除dev分支

$ git log --graph --pretty=oneline --abbrev-commit 带参数的git log 可以看到分支的合并情况

$ git merge --no-ff -m"sth" dev 合并方式禁用fast forward

$ git stash 把未提交的工作内容保存起来

$ git checkout -b issue-101 创建bug分支

$ git stash list 查看stash列表

$ git stash apply 恢复工作现场

$ git stash drop 删除stash

$ git stash pop 恢复工作现场加删除stash

$ git stash apply stash@{0} 恢复指定的stash

$ git branch -D <name> 丢弃一个没有被合并过的分支,强行将其删除

原文地址:https://www.cnblogs.com/fengqinmei/p/7592961.html