Git常用命令整理

查看本地分支: git branch

查看远程分支: git branch -r (新:git remote show origin)

查看所有分支: git branch -a

同步本地分支: git remote prune origin

切换分支: git checkout <分支名>

创建分支:git branch <分支名>

创建并切换分支:git checkout -b <分支名>

代码提交:git commit

代码提交加描述:git commit -a -m 'commit new code'

合并分支:git merge <要合并的分支>

当使用git merge操作合并代码但还没add时,想取消这次合并:“git merge --abort

拉取某次提交: git cherry-pick <日志号>

删除远端分支:git push origin --delete <分支名>

清理远程已删除的分支:git fetch --prune

删除分支指针(本地分支):git branch -D  <分支名>【只删除指向该commit号的指针,并不会删除其相关的提交号, 在日志中仍然可以找到之前的commit记录,也仍然可以在该commit上创建新的分支】

同步远程最新分支 git fetch --all

删除本地在远端已经删除的分支  git remote prune origin

下载远程的库的内容,不做合并:git fetch 

放弃本地修改强制更新:git reset origin/develop --hard

回退命令:git reset --hard HEAD^

回退到n次提交之前:git reset --hard commit_id

查看提交记录:git log;

强推到远程:git push origin HEAD --force

------------------

git恢复删除的分支

查看被删除的分支 git remote prune --dry-run origin

找到被删除分支的最后一次提交记录的commit SHA值 git reflog(也可以直接肉眼看commit SHA值

恢复分支 git checkout -b 分支名 commit号

 ------------------

清理工作区:git clean -fd

修改本地分支名称  git branch -m oldBranchName newBranchName

删除本地分支的远程分支  git push origin :oldBranchName

将改名后的本地分支推送到远程,并将本地分支与之关联  git push --set-upstream origin newBranchName

删除远程仓库文件:(1) git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;(2) git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。

 

假如有文件不小心commit到了服务器想删除它:

git rm -- cached "路径+文件名" ;

git commit -m "delete file" ;

git push;

git rm -r "路径+文件名" ;

git commit -m "delete file";git push

 

 

假如想回退代码:

1.git log 查看想要回退到哪个commit版本,复制版本号

2.git reset --hard commit_id 

3.git push origin xxx if 强制push到远程分支

 

我又来了

假如你像我一样,要对整个项目进行eslint的修改

改到一半有点事要切到别的分支,只好先暂存一下,此时用的是stash命令:【下面复制别人的文章】

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

ps:一般要拿来用的话直接git stash pop就好

 

Gitflow工作流程:

https://www.cnblogs.com/jeffery-zou/p/10280167.html

posted @ 2019-09-05 09:53  芝麻小仙女  阅读(352)  评论(0编辑  收藏  举报