克隆项目
$ git clone git地址 本地文件夹名称
git clone -b 分支名称 git地址
建立并切换新分支
git checkout -b 'dev'
查看当前详细分支信息
- 可看到当前分支与对应的远程追踪分支
git branch -vv
- 查看当前远程仓库信息
git remote -vv
提交代码至远程分支
$ git add . // $ git add -p [文件名,文件名]
$ git commit -m '提交描述信息'
$ git pull
$ git push
查看所有修改文件
$ git status
撤销所有本地修改
// 撤销本地更改
$ git checkout .
// 删除文件和目录
$ git clean -df
// git clean 参数
// -n 显示 将要 删除的 文件 和 目录
// -f 删除 文件,-df 删除 文件 和 目录
// git clean -n
// git clean -df
// git clean -f
查看分支
// 查看远程分支
$ git branch -r
// 查看本地分支和远程分支
$ git branch -a
// 查看本地分支
$ git branch
紧急修复步骤
当线上版本出现问题,而master版本上有未完成的功能时!发布版本分支为release
// 检查所有的本地分支和远程分支(带*号的是当前本地)
$ git branch -a
// 创建本地release分支,并且拉取远程分支release分支的代码,并且切换至本地release分支
$ git checkout -b release origin/release
// 新建本地新分支FIXBUG20190610
$ git checkout -b FIXBUG20190610
// 修改好本地分支代码提交测试
$ git add .
$ git commit -m 'fix(修复紧急bug)'
// 提交到远程并建立关联关系
$ git push --set-upstream origin FIXBUG20190610
发布测试,测试完成
// 切换至本地release分支,merge---FIXBUG20190610代码
$ git checkout release
$ git merge FIXBUG20190610
$ git pull
$ git push
新建本地仓库,关联远程仓库
// 将已有的代码上传至,新建的远程仓库
$ git init
$ git remote add origin '远程仓库地址'
$ git push --set-upstream origin master
提交记录
// 提交时间点和日期
$ git log
// 提交的文件变动情况
$ git log --stat
// 强制提交远程分支
$ git push origin 分支名 --force
// 回退到某个提交
$ git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
// 强制回退远程仓库到当前版本(回退版本在提交时千万不要git pull,否则白回滚了,把远程分支的代码拉下来了)
$ git push -f
删除分支
// 删除远程分支
$ git push origin --delete '远程分支名' '远程分支名' .....
// 删除本地分支
$ git branch -d '本地分支名' '本地分支名' .....
替换远程仓库地址
1、git remote rm origin
2、git remote add origin https://github.com/***/lego_loam.git
查询远程仓库地址
1、git remote -v
本地文件误删恢复
1、git status // 检查哪些文件被删除了
2、git reset HEAD '文件名or文件夹名称'
3、git checkout '文件名or文件夹名称'
拉取指定tag代码
git checkout -b <new-branch> <tag-name>
撤销合并
git reset --hard HEAD
cherry-pick操作
// cherry-pick一个或多个commit
git cherry-pick commit_id1 commit_id2 commit_id3 ...
// cherry-pick区间(start-commitid,end-commitid]
git cherry-pick commit_id1..commit_idx
// cherry-pick区间 [start-commitid, end-commitid]
git cherry-pick commit_id1^..commit_idx