git命令小结
2017-11-19 17:07
120 查看
关于git的介绍和更详细的使用,请前往 Git教程 - 廖雪峰的官方网站 进行阅读,本文只是将常用的命令做个总结,以备不时之需。
以上命令表示所有的仓库都使用相同的用户名和邮箱,如果想对某个仓库使用专门的用户名和邮箱,去掉
如果存在
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以看到
1. git配置
1.1 用户名和邮箱
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
以上命令表示所有的仓库都使用相同的用户名和邮箱,如果想对某个仓库使用专门的用户名和邮箱,去掉
--global即可,在相应的仓库下输入如下命令:
$ git config user.name "Your Name" $ git config user.email "email@example.com"
1.2 SSH Key
本地仓库和远程仓库的传输可以通过SSH协议,所以需要配置SSH Key。$ cd ~/.ssh $ ls config id_rsa id_rsa.pub known_hosts
如果存在
.ssh目录,且该目录下存在
id_rsa和
id_rsa.pub两个文件,说明已创建SSH Key,否则需要输入以下命令来创建:
$ cd ~ $ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以看到
.ssh目录,且该目录下存在
id_rsa和
id_rsa.pub两个文件,通过
cat id_rsa.pub打开
id_rsa.pub文件,并将里面的内容复制粘贴到GitHub等仓库托管网站上的SSH Key里的Key文本框中,SSH协议已经配置完成。
2. 仓库管理
git init:初始化本地仓库
git status:查看工作区的状态
git diff <file>:查看file文件的改动
git log:查看提交历史
git log --pretty=oneline:以一行的内容来显示提交历史
git reflog:查看所有的命令历史
git checkout -- <file>:撤销工作区内file文件的改动
git checkout .:撤销工作区内所有文件的改动
git add <file>:添加工作区内修改的file文件到暂存区
git add .:添加工作区内所有修改的文件到暂存区
git reset HEAD <file>:将暂存区的file文件撤回至工作区
git reset HEAD .:将暂存区的所有文件撤回至工作区
git rm <file>:当删除文件,输入
git status会提示有文件删除,此时输入该命令删除仓库文件
git commit -m 'commit message':将暂存区的内容提交到本地仓库,提交信息为
commit message
git commit --amend:追加到最后一次提交
git pull:从远程仓库拉取所有分支的代码
git pull origin master:从远程仓库拉取master分支的代码,master可改为正在工作的公共分支,如dev分支
git push origin master:推送本地仓库到远程仓库的master分支,master可改为正在工作的公共分支,如dev分支
3. 分支管理
git branch:查看分支
git branch -a:查看所有分支
git branch dev:创建一个
dev分支
git checkout dev:切换到
dev分支
git checkout -b dev:创建并切换到
dev分支,相当于执行了上面两个命令
git merge dev:合并
dev分支到当前分支
git branch -d dev:删除
dev分支
git stash:保存当前分支的进度
git stash list:查看当前分支的所有保存历史
git stash apply:恢复当前分支保存的内容
git stash drop:删除保存内容
git stash pop:恢复的同时删除保存内容,推荐使用,替代
git stash apply和
git stash drop命令