本文参考:廖雪峰Git教程
一,初始化
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
二,生成SSH KEY
ssh-keygen -t rsa -C "email@example.com"
三,常用命令
git init //将当前所在目录变为git仓库
git add file //将file文件添加到暂存区
git commit -m "explain" //将暂存区改动的文件提交到仓库,explain是对这次改动的说明
git status //查看当前仓库状态
git diff file //查看对file文件的修改内容
git remote //查看远程库信息
git remote -v //查看远程库详细信息
git log //查看版本修改历史,英文状态下按Q退出
git log --pretty=oneline //更好的查看版本修改历史
git log --graph --pretty=oneline --abbrev-commit //更好的查看分支合并图
git reset --hard HEAD^ //返回到上一个版本
git reset --hard HEAD^^ //返回到上上一个版本
git reset --hard HEAD~100 //返回往上100个版本
git reset --hard commit_id //返回到commit_id版本
git checkout -- file //撤销对file文件在工作区的修改
git reset HEAD file //撤销对file文件在暂存区的修改,放回到工作区
git rm file //删除版本库的file文件
git reflog //查看命令历史,确定要回到的历史版本
git remote rm origin //删除名为origin的远程库
git remote add origin origin.url //添加一个名为origin的远程库,地址为origin.url
git push -u origin master //第一次推送master分支的所有内容到origin远程库
git push origin master //推送master分支到origin远程库
git clone git.url //克隆远程库git.url到本地
git branch //查看当前分支
git branch name //新建一个名为name的分支
git branch -d name //删除一个名为name的合并过的分支
git branch -D name //强制删除一个未合并的名为name的分支
git checkout name //切换当前分支到name
git checkout -b name //创建名为name的分支并切换到name分支
git merge name //合并name分支到当前分支
git merge --no--ff -m "explain" dev //在合并dev时不使用Fast forward,且形成一个新的commit,为explain
git stash //保存现场
git stash list //查看工作现场列表
git stash apply //恢复stash,但是stash没有删除
git stash drop //删除stash
git stash pop //恢复stash,同时也会删除stash
git stash apply name //恢复名为name的stash
git clone git.url //克隆git.url远程仓库到本地
git checkout -b dev origin/dev //创建远程origin的dev分支到本地
git pull //抓取远程分支到本地