git常用命令总结

用了几天的GIT,使用的可视化界面,但一直没搞清楚原理,造成了很多困扰,索性又重新学习了下,把基本常用的命令做下总结。在此推荐个很不错的GIT教程

在Windows上安装Git
msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

设置用户名和Email地址
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

显示当前目录
pwd

显示目录中的文件
ls

查看文件内容
cat aaa.txt

创建版本库
git init

把文件添加到仓库
git add aaa.txt bbb.txt

把文件提交到仓库
git git commit -m "改了个错别字"

显示当前仓库的状态
git status

查看修改内容
git diff

查看最近2次的Commit历史
git log -2
精简格式输出时加参数 --pretty=oneline

版本回退
回到上一个版本
git reset --hard head^  
head表示当前版本,head^上一个版本,head^^上上个版本。。。
回到指定版本
git reset --hard 12345

仓库操作历史,包括已删除的commit记录
git reflog

git add命令实际上就是把要提交的所有修改放到暂存区(Stage),
然后,执行git commit就可以一次性把暂存区的所有修改提交到分支

撤下工作去修改,回到最近一次git commit或git add时的状态
git checkout -- aaa.txt

把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD aaa.txt

删除文件
git rm

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

远程库为空时:
关联远程仓库
$ git remote add origin git@github.com:xxx/xxx.git

把本地库的所有内容推送到远程库上
$ git push -u origin master
-u把本地的master分支和远程的master分支关联起来,一般在远程库是空的,第一次推送时使用

远程库不为空时,从远程库克隆
$ git clone git@github.com:xxx/xxx.git