-
git fetch和git pull
git fetch:相当于是从远程获取最新版本到本地,不会自动mergegit fetch origin master git merge origin/master
git pull:相当于是从远程获取最新版本并merge到本地,相当于git fetch 和 git merge
git pull origin master
-
git merge和git rebase
git merge:merge master,即将origin中和当前版本进行合并,创建一个新的"合并的提交"(merge commit),但是在log中保存了分支的信息git merge origin/master
git rebase:把你的当前分支里的每个提交(commit)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后当前分支更新为最新的"origin"分支,最后把保存的这些补丁应用到当前分支上,原有commit不再进行记录$ git checkout mywork $ git rebase origin
-
git reset和git revert
git reset: git reset的作用是修改HEAD指针的位置,即将HEAD指向的位置改变为之前存在的某个版本,恢复到之前某个提交的版本,且那个版本之后提交的版本都会被删除git log(查看版本号) git reset --hard 目标版本号(回退到之前版本) git push -f(强制推送,本地库HEAD指向的版本比远程库的要旧)
git revert: git revert是用于**“反做”**某一个版本,以达到撤销该版本的修改的目的。
git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。git log(查看版本号) git revert -n 版本号(反做) git commit -m ""(提交) git push
-
git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。git stash(保存当前工作进度,会把暂存区和工作区的改动保存起来) git stash list(查看当前stash中的内容) git stash pop [–index] [stash_id](将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。先进后出) git stash apply [–index] [stash_id](将堆栈中的内容应用到当前目录,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。) git stash drop [stash_id](删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。) git stash clear(删除所有存储的进度)
【git】reset,revert,fetch,pull,merge,rebase等命令的比较
最新推荐文章于 2023-09-06 21:37:27 发布