git日常
一、git正常提交流程
- 这边我从写代码开始到push代码结束来写,如果没有代码分支的话先搞好代码分支,再去进行代码编写和提交
1.修改好需要提交的代码
2.git add filename (单个文件)或者 git add .(所有文件)
------这一步想撤回请 git reset HEAD
3.git commit -s
4.git pull --rebase
5.检查提交 git show
6.git push origin/master
二、git使用过程中的小问题总结
1.撤销git add操作
执行 git reset HEAD
作用:通俗来讲就是将HEAD复位到指定的状态,进行一些撤销操作
2.想修改之前的提交
建议在思考这个问题之前去了解清除commit操作所包含的流程和现象。
修改上次提交流程请看第一步流程图
先来说解决办法:
-
“git log” 查看提交记录的前一个commitID
-
执行 “git rebase -i commitID”
将需要修改的提交前的状态改为edit -
修改完成需要提交的文件之后,“git add” 需要提交的文件
-
使用 "git commit --amend" 修补当前提交
到此处我们修改之前提交的工作就完成了
-
需要进行push操作的话进行 git push origin HEAD:refs/for/master
-
最后我们需要进行 “git rebase --continue” 让HEAD回到最新的commit上面去
-
需要注意的是如果遇到冲突,我们就要先解决冲突。
步骤:
编辑冲突文件, 解决冲突
git add 文件
git commit --amend
git push origin HEAD:refs/for/master
git rebase –continue
3.使用过程中编译错误问题
1.error: The following untracked working tree files would be overwritten by checkout
解决方法:到版本库目录下执行 git clean -df(or git clean -dxf)
4. 变基操作想终止
git rebase --abort
5. push上去的代码想回退
git reset --soft commitID(提交的上一次的ID)
6.一堆修改,分批次提交
git add files
git commit -s
git stash -u -k
git pull --rebase
git push origin HEAD:refs/for/**
git stash pop
7.撤销git commit操作(仅限回退上次commit)
commit之后回退一个版本:git reset --soft HEAD^
此时commit撤销,代码变更保留。
可选参数:
–mixed
撤销commit,撤销add,不撤销代码改动,为默认参数。
–soft
撤销commit,不撤销add,不撤销代码改动。
–hard
撤销commit,撤销add,撤销代码改动。
8.git push
git checkout -b newbranch origin/master
git pull
git 页面cherrpick 下ssh链接
本地执行之后即可更改相关已经push但是未re的代码
(后续更新)