工作中遇到的一些常用的git命令
git add . //提交到暂存区
git commit - m '任务分支号 + 作出的内容改变'
// 上两步可以简化命令 git commit am '任务分支号+作出的内容改变'
git branch 查看分支
git branch -d + 分支名称 删除你要删除的分支
git status 查看状态。
任何一次git push 之前先 git status一下查看一下状态,看下你更改了那些文件
git checkout -b 任务号分支名 // 新增任务分支
git pull 拉取最新代码
// 进入项目
- 新建文件夹
- 进入文件夹 git init 初始化
- git clone 你项目的http地址
- git checkout xxxx //切换到前端的开发分支
- git branch -b 新建任务分支名 feature-osp-任务号
- git pull //拉取最新代码
- git commit -am '任务号+修改情况说明'
- git push --set-upstream origin 任务分支名 //推送到远程分支
//准备提交代码阶段
- git checkout xxxx //切换到前端的开发分支
- git pull //拉取当前分支最新的代码
- git merge 任务分支名 // 在前端的开发分支上合并任务分支
- 或者 git cherry-pick xxxxxxxxxxx// 你之前提交过的commit的那几笔代码 复制到命令里
- git status 查看当前状态
- git push 推送代码
查看你提交的日志
git log
cherry-pick 复制提交// 补充说明
- 场景:当你在merge或者rebase的时候发现冲突太多了,想哭的时候,可以用原分支check目标分支处理,然后再cherry-pick当前分支的每个提交,这样冲突就会少很多。或者另一分支上有些代码还没有merge到master,但是你当前分支又非要用的时候,就可以cherry-pick过来一份。
- git cherry-pick [commit hash] 将其他分支上已提交的commit在当前分支再提交一次,产生新的commithash
reset回退
- git log 查看提交日志
- git reset 将所有暂存区回退到工作区
- git checkout . 丢弃工作区所有的更改
- git reset --hard [commit hash] 将从commithash(不包括此hash)之后的丢弃
- git reset --hard 将暂存区、工作区所有内容丢弃
- git reset --soft [commit hash] 将从commithash(不包括此hash)之后的提交回退到暂存区
- git reset --soft HEAD~4 回退最近4次提交到暂存区