
git init//创建常用操作
git add <filename>  //添加文件
git commit -m "<info>"  //提交
git status  //查看仓库当前状态
git log  //查看历史记录
git reset --hard HEAD //回退到上一个版本
git reset --hard <commit id>  //定位版本到commit id
git reflog //查询操作过的命令(命令历史)
git checkout -- <filename> //用版本库版本替代工作区版本(未commit前)
git rm <filename> //删除文件
git clone git@<git url>:<git url> //克隆仓库Commit ID
由SHA1计算得出,分布式,不能用顺序ID
工作区
电脑里能看到的目录(被控制的目录及文件)
版本库
/.git
暂存库
于版本库下,Git会自动创建第一个分支master,以及一个指向其的指针HEAD
远程仓库
创建SSH Key
ssh-keygen -t rsa -C "[email protected]"id_rsa私钥,id_rsa.pub为公钥
git push -u origin master  //本地库推送到远程
git remote add origin git@server-name:path/repo-name.git  //关联一个远程库
加上了-u参数,Git不但会把本地的
master分⽀支内容推送的远程新的master分⽀支,还会把本地的master分⽀支和远程的master 分⽀支关联起来,在以后的推送或者拉取时就可以简化命令分支管理
增删查改
git branch  //查看当前分支
git branch dev  //创建dev分支
git checkout dev  //切换到dev分支
git checkout -b dev //创建并切换到dev分支
git merge dev  //将dev分支的工作成果合并到master分支上
git branch -d dev  //删除dev分支
冲突控制
先解决冲突后提交,再合并
git log --graph //查看分支合并图
管理策略
git merge --no-ff -m "<comment>" //强制禁用Fast forward(此功能在合并后,删除分支会丢掉分支信息)
- 保证master分支是稳定的,dev分支不稳定,用于开发,提交提交到dev分支上
bug分支
git stash  //存储当前工作现场(搁置当前未完成工作进行bug修复)
git stash list //查看保存的stash现场id列表
git stash apply |<stash@{0}> //恢复stash现场(stash的内容并不删除)
git stash pop  //恢复现场的同时将其删除Feature 分支
增添一个Feature最好开一个新的分支
若要丢弃一个没有被合并过的分支,可以通过git branch -D name强⾏行删除
多人协作
git remote origin <git url>  //查看远程库信息
git pull
git push origin <branch-name>
git branch --set-upstream branch-name origin/branch-name  //建⽴立本地分⽀支和远程分⽀支的关联
git checkout -b branch-name origin/branch- name  //在本地创建和远程对应的分支创建标签
git tag <tag name> //创建标签
git show <tag name>  //查看标签信息
git tag -a tagname -m "blablabla..."可以指定标签信息;
git tag -s tagname -m "blablabla..."可以⽤用PGP签名标签;
git push origin tagname  //可以推送⼀一个本地标签;
git push origin --tags  //可以推送全部未推送过的本地标签;
git tag -d tagname  //可以删除⼀一个本地标签;
git push origin :refs/tags/tagname  //可以删除⼀一个远程标签。自定义
- 忽略特殊文件:./gitignore

 
                
                
               