git命令
初始化git仓库
git init
设置签名(项目级别/仓库级别)存放位置:项目目录/.git/config
git config user.name xxx
git config user.email xxx@xxx
设置签名(系统用户级别)存放位置:系统用户目录/.gitconfig
git config --global user.name xxx
git config --global user.email xxx@xxx
注:两者都设置,则取项目级别
查看git状态
git status
添加到暂存区
git add xxx
删除暂存区某文件
git rm --cached xxx
提交到本地库
git commit xxx
git commit -m "my test" xxx
查看日志
git log
查看日志显示索引head
git reflog
回退
git reset --hard xxx局部索引值
git reset --hard^ //符号^表示后退一个commit版本,可使用多个^^^
git reset --hard~3 //在~后加数字,表示后退几步
注:reset命令的三个参数
- --soft 只有本地库指针移动
- --mixed 本地库指针移动,并且暂存区也会修改
- --hard 本地库指针移动,暂存区修改,工作区也修改
文件版本间比较
git diff xxx //工作区与暂存区之间xxx比较
git diff head xxx //工作区与本地库当前版本head{0}比较
git diff head^ xxx //工作区与本地库以前版本比较
//不指定文件名,比较多个文件
分支
git branch -v //查看所有分支
git branch xxx //创建某分支
git checkout xxx //切换到某分支
git branch --set-upstream-to origin/dev
合并
git merge xxx分支名
推送项目到远程仓库
git remote add [addressname] [address] //添加远程仓库地址,起名为addressname
git push [addressname] [xx分支] //把分支推送到远程仓库
克隆
git clone xxx远程仓库地址 //下载项目到本地,并创建远程地址别名,初始化本地库
拉取
git pull [远程仓库地址别名] [分支名] //pull作用相当于fetch和merge组合
git fetch [远程仓库地址别名] [分支名] //下载到本地
git merge [远程仓库地址别名/分支名] //合并
SSH免密登录
ssh-keygen -t rsa -C [邮箱地址] //生成id_rsa.pub
将id_rsa.pub内容复制到key这里