参考: https://blog.csdn.net/Mr_YanYan/article/details/80049306
参考: https://www.open-open.com/lib/view/open1476069597550.html (很好的一篇博文)
1、从一个分支中创建一个新的分支
2、撤销本地add
3、删除分支
4、git stash 把更改进行隐藏
5、撤销本地commit
6、撤销远程提交
7、追加一个提交到远程
8、撤销某个文件的修改
9、树型查看commit log
10、合并不同分支的commit
11、查看commit的内容
12、gitlab提交内容太多网页无法显示
1、从一个分支中创建一个新的分支
切换到已经有的远程分支 git checkout master_RetStatus
拉取远程分支最新的代码 git pull
如果目前处于master分支
创建一个新的本地分支 git checkout -b master_new
这样会从master当前代码状态分出一个分支来
2、撤销本地add
git add . 表示添加当前工作目录的所有文件,会不小心添加多余的文件
git status 先看一下add的文件
git reset HEAD 就是把上一次add的文件全部撤销
git reset HEAD cnstream/module/display/display.hpp 就是对某个文件进行撤销
3、删除分支
删除远程分支 git push origin --delete [branch_name]
删除本地分支 git branch -d [branch_name]
4、git stash 把更改进行隐藏
git add 把改动文件添加
git stash 把缓存进行隐藏
git stash list 查看stash的状态
git stash pop 恢复之前缓存的工作目录
https://www.cnblogs.com/tocy/p/git-stash-reference.html
master合并到开发分支 https://blog.csdn.net/wl_public/article/details/89886990
5、撤销本地commit
git reset HEAD~ 撤销本地提交,保留修改内容到add之前
git reset --soft HEAD~ 撤销本地提交,保留修改内容到add
git reset --hard HEAD~ 慎用,撤销本地提交,不保留内容
如果销毁了内容后又想恢复:
1、 git reflog 查看你刚刚销毁提交的记录及其哈希值
2、 git co -b fix/recover-commit-remove-before 7144f51 将提交记录保存到 fix/recover-commit-remove-before 分支,并且转到该分支
6、撤销远程提交
撤销本地之后要撤销远程的提交。比如提交之前是4状态,提交远程后为5状态,需要保证本地是4的状态。
git push -f origin youbranch
7、追加一个提交到远程
1、最新的一个提交为commit 5
2、改动了一些文件但是不想多一条commit信息
git add youfile
git commit --amend --no-edit // --no-edit为不跳出显示编辑器提示
git push -f origin youbranch // 注意远程的最新提交为commit 5,这里提交之后把原来的commit 5覆盖了
8、撤销某个文件的修改
修改某个文件后,没有进行git add,此时又想退回修改前。
git checkout youfile.txt
注意要加文件名
9、树型查看commit log
git log --oneline --graph --decorate --all // 显示所有的分支
git log --oneline --graph --decorate branchA branchB branchC branchD // 显示 abcd 四个分支的关系
10、合并不同分支的commit
查看需要合入的分支2的commit id,需要把idA到idB合入分支1
切到需要合并的分支1
git cherry-pick commit-idA .. commit-idB
产生冲突后,解决冲突并且add
git cherry-pick --continue
忽略之后产生的信息
11、查看commit的内容
git show commit_id
12、gitlab提交内容太多网页无法显示
1、在本地 tig 查看
2、j /k / q /enter 分别是上翻、下翻、退出、进入
浙公网安备 33010602011771号