个人git命令收集文章

git命令收集

git 子模块的操作

https://blog.csdn.net/guotianqing/article/details/82391665

git rebase合并多次commit

将多次commit合并,只保留一次提交历史记录

  1. git log查看提交历史
  2. git rebase -i HEAD~6 or git rebase -i hasdid
  3. pick修改为squash 或者fixup, 后者是忽略本次提交的log
  4. git 会压缩提交历史,若有冲突,需要进行修改,修改的时候保留最新的历史记录,修复冲突之后执行
    git add .git rebase --continue
    如果想要放弃本次压缩,使用命令git rebase --abort
  5. 若无冲突 or 冲突已 fix,则会出现一个 commit message 编辑页面,修改 commit message ,然后 输入:wq or x 保存退出。
  6. 提交git push -f or git push --force
  7. 查看远程仓库,之前多次提交的commit已经被合并成一次commit

已删除远程分支但本地还能看到远程分支

git remote prune origin
按照远程仓库裁剪本地记录

撤销本地所有修改

git checkout . //未add
git checkout -- filepathname //未add,撤销指定文件修改,新建文件需要自己手动删除
git reset HEAD filepathname //已add,撤销指定文件,回到未add状态
git reset HEAD . //已add,撤销本地所有文件的修改,回到未add状态
git reset --hard HEAD^ //已commit,回退到上一次commit的状态
git reset --hard commitid //已commit,回退到任意版本

git 新建本地分支,并对应建立远程分支和推送到远程分支

git clone http://gitlab.xxxxx.com/xxxxx/xxxxx.git

cd xxxxx/

git log//找到对应版本的SHA值 例如2b1c225dcbbc4e1da11164af945344d88bc8f559

git checkout -b 新分支名 2b1c225dcbbc4e1da11164af945344d88bc8f559 //不会和远程分支建立映射关系
git fetch origin 远程分支名x:本地分支名x //不会和远程分支建立映射关系

git branch //查看分支是否创建成功

git push origin 本地新分支名:远程新分支名 //不存在会创建分支,推送本地cod到远程分支仓库

git branch -u origin/远程新分支名 //和远程新分支名建立映射关系

git branch --unset-upstream //撤销本地分支与远程分支的映射关系

git branch -vv //查看本地分支和远程分支映射关系

你可能感兴趣的:(git)