Git命令

设置用户名和邮箱:

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

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

查看用户名和邮箱:

git config -l

cat ~/.gitconfig

ADD目录下所有文件

git add .

显示更改记录:

git log

git log --pretty=short //提交信息只显示一行

git log --pretty=oneline //每行显示1个提交记录

git log --abbrev-commit //commit sha信息简要显示

git log 文件名 //只显示此文件相关的修改

git log -p //查看修改内容

git log -p 文件名 //查看文件历次修改内容

git log --graph //以图表形式查看log

查看工作树与暂存区区别:

git diff

查看与最新提交的区别:

git diff HEAD

git diff HEAD -- readme.txt

显示分区一览表:

git branch

创建分支:

git branch <name>

创建并切换分支:

1、git checkout -b <name>

2、git branch <name>

git checkout <name>

切换分支:

git checkout <name>

git checkout - //切换到上一分区

合并分支:

git merge --no-ff <分支名>

git merge <分支名> //合并指定分支到当前分支

git merge --no-ff -m "merge with no-ff" <name> //禁用Fast forward模式,创建新commit,m参数,写描述

删除分支:

git branch -d <分支名>

git branch -D <分支名> //强行删除分支,当分支的修改没有合并过来就删除分支的时候会用到

以图表形式查看分支:

git log --graph

恢复:

git reset --hard 7567e6836f2f7ef8f20f4c505a3340c3e56eeb83

git reset --hard HEAD^ //恢复上一个版本

git checkout -- file //工作区的修改全部撤销

git reset HEAD <file> //把暂存区的修改撤销

查看当前仓库的操作日志:

git reflog

修改上一条的提交信息:

git commit --amend

一次完成add和commit两步操作:

git commit -am "Add feature-C" (例如README.md中添加了 - feature-C)

压缩最新2个的提交信息记录:

git rebase -i HEAD~2

保存工作现场:

git stash

查看保存的工作现场:

git stash list

恢复指定的工作现场:

git stash apply stash@{0}

恢复工作现场:

git stash apply //恢复后,不自动删除stash内容

git stash pop //恢复的同时把stash内容也删除了

删除保存的工作现场:

git stash drop

================================github=====================================

创建SSH key:

ssh-keygen -t rsa -C "youremail@example.com"

查看公钥信息:

cat ~/.ssh/id_rsa.pub

查看与github连接:

ssh -T git@github.com

添加仓库地址:

git remote add origin Github仓库路径

查看远程仓库信息:

git remote

git remote -v //显示远程仓库更详细的信息

删除origin git远程仓库路径:

git remote rm origin

推送到Git创建的远程仓库:

git push origin <name>

git push -u origin master

//由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从现在起,只要本地作了提交,就可以通过命令,把本地master分支的最新修改推送至GitHub:

git push origin master

下载Github仓库到本地:

git clone Github仓库SSH地址

推送仓库到github:

git push

以名为origin的仓库(这里指Github端的仓库)的feature-D分支为来源,在本地仓库创建feature-D分支:

git checkout -b feature-D origin/feature-D

将本地feature-D分支更新到最新状态:

git pull origin feature-D

同时显示本地仓库和远程仓库的分支信息:

git branch -a

原文地址:https://www.cnblogs.com/honkly/p/9187255.html