设置用户名和邮箱:
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