git不常用命令整理
有什么不明白的地方,扫描右方二维码加我微信交流。
记录一些偶尔使用,但又记不住的命令,如下:
//合并分支
git checkout master //切换分支到master
master git merge develop //将分支develop合并到当前分支
git merge --abort //放弃merge/回到merge之前的状态
//查看分支
git branch //查看本地分支
git branch -a //查看所有分支
git branch -r //查看远程分支
git branch newBranchName //创建新分支
//git add撤销,从暂存到未暂存(sourcetree)
git reset HEAD .
//撤回未推送的commit
git reset --soft HEAD^
//修改未推送的commit注释
git commit --amend
//有一次我提交的内容已经合并到主分支,并通过测试,过了几天,不见了……于是呼追溯一下是谁干的好事,学到了以下姿势
//查询被删除的文件的历史记录
git log --all --full-history -- <path-to-file>
//恢复被git删除的文件
git checkout $commit~1 filename //$commit为被删除的那一次提交记录的id
//删除分支
git branch -d branchName //会在删除前检查merge状态(其与上游分支或者与head)
git branch -D branchName //是git branch --delete --force的简写,它会直接删除
//删除本地除master以外的所有分支
git branch | grep -w -v master | xargs git branch -D //-w为精确到master,-v为反选
//提交本地分支到远程并添加合并请求(适用于gitlab)
//merge_request
的相关参数可以在这里查看
git push origin %tempBranchName%:%tempBranchName% ^
--push-option merge_request.create ^
--push-option merge_request.target=%TargetBranchName% ^
--push-option merge_request.title="XXXXXXXXXXX" ^
--push-option merge_request.remove_source_branch ^
--push-option merge_request.assign="7"
//放弃本地修改
git checkout filename
//放弃本地所有修改
git checkout .
//删除新增文件
rm -rf filename
//删除所有新增文件
git clean -xdf