不积跬步无以至千里
一、提交代码遇到问题:
回退问题:
1、当你git add 提交代码后想回退掉文件(commit之前)可以用:
git reset HEAD 文件路径
2、当你git add 提交代码,并且已经commit了,怎么回退?
git rm +文件路径
git commit 即可(这个会把文件删除掉,所以需要删之前把自己的这个文件保存下来)
把上面保存下来的文件,修改好之后,再去正常的流程 add commit push。
提交命令问题:
3、git push 命令
①.当默认使用这个命令时,是提交到当前分支的git上,当你有多个分支时,需要这个命令
可以精确的提交到远程分支上命令git push caf K2:K2
如截图所示:
②.强制更新本地的版本到远程分支上
git push --force origin 远程分支名
4、当想提交代码时,git pull代码发现有冲突需要merge,可以如下操作:
①、复制自己的修改文件或者修改的代码做备份(因为接下来要做回退操作)
②、回退当前代码到某个提交版本:
git reset HEAD^^^^^^^ --hard
git reset --hard commitId 回退到某个commitId的版本上
③、删除多余的文件
rm -r 文件路径
④、发现当前git分支是否干净:
git status
⑤、如果干净,则拉下最新代码:
git pull
git pull --rebase 下拉代码并rebase(一般前边使用git stash 暂存已修改的代码)
⑥、把最新自己的修改代码手动合入最新代码中
⑦、按着正常流程提交即可。
5、git branch
①、git branch 查看本地的分支,并会在当前分支加*
②、git branch -a 查看所有分支
③、git branch -vv 查看当前分支对应的远程分支状态
④、git branch -r 查看远程分支库列表
⑤、git branch 分支名 创建某分支
⑥、git branch -D 分支名 删除某分支(删除之前,记得备份或者提交未提交的修改的代码)
⑦、git branch -m oldName newName 修改某分支的分支名为后者
6、git checkout
①、git checkout 文件路径 放弃制定文件或者目录的修改
②、git checkout – . 放弃当前分支的所有修改
③、git checkout 分支名 切换到此分支
④、git checkout -b 分支名 创建并切换到次分支,如果有此分支,则不创建,直接切换
⑤、git checkout -b 分支名 origin/远程分支名 创建并切换分支并与远程分支关联
7、repo forall -c‘执行的命令’
这个命令是会在所有的git分支下都会执行‘ ’中的命令,你可以分别去执行git pull 拉代码;git branch -D 分支名 在每个分支下删除本地分支;
8、git stash
作用:暂存起来,作用是当有多个分支,如果有修改,直接切换分支是不允许的。利用此命令可以暂存起来。
①、git stash 暂存修改
②、git stash list 当有了多个暂存,就有了多个暂存的列表了,用来查看有几个暂存,下边对应着不同暂存的对应的编号。
③、git stash pop 使用暂存来恢复之前的代码,当然如果有一个直接恢复了,当如果有多个缓存,此时默认的使用了编号为0的缓存。
git stash pop stash@{编号} 当有多个暂存时,通过git stash list 查看多个暂存编号,通过此命令恢复某个暂存的代码
git stash apply stash@{编号} 和上边的pop用法一样,一样的操作意义。
④、git stash clear 清空暂存队列。
⑤、git stash drop stash@{} 删除第几个stash
⑥、git stash show -p stash@{
} 显示第几个stash的修改
9、git reflog(恢复神器,后悔药)
作用:包含被删除的commit记录,即使你reset,或者rebase,找到对应的序列号就可以恢复.
使用git reset --hard 序列id