Git |
您所在的位置:网站首页 › git创建用户命令 › Git |
Git在日常开发中经常使用,但有时候还是会忘记or遇到些奇奇怪怪的问题。以此记录,提醒自己~不定期更新~ 文章目录 1、新环境首次克隆2、是否要保留本地修改3、提交代码4、stash备份5、查看及切换用户6、创建镜像&切换新仓库7、修改默认分支8、回滚\回退版本Ps.问题解决Merge made by the 'ort' strategy.fatal: Cannot do soft reset with paths.恢复git reset —hard的误操作Your local changes would be overwritten by merge. Commit, stash or revert them to proceed. 1、新环境首次克隆首次克隆仓库及其模块 git clone --recursive [仓库URL]仓库首次拉取模块 git submodule update --init --recursive更新子模块 git submodule update --recursive --remote 2、是否要保留本地修改保存修改 git stash #封存修改 git pull origin master git stash pop #把修改还原放弃修改==回退 git reset --hard git pull origin master 3、提交代码添加当前目录下的所有文件到暂存区 git add .提交暂存区到本地仓库中 git commit -m "本次提交代码概要简述"查看项目当前状态 git status将dev分支上的内容拉取到本地 git pull origin dev推送代码 git push 4、stash备份备份当前工作区内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前工作区内容保存到Git栈中 git stash拉取服务器上当前分支代码 git pull从Git栈中读取最近一次保存的内容,恢复工作区相关内容。同时,用户可能进行多次stash操作,需要保证后stash的最先被取到,所以用栈(先进后出)来管理;pop取栈顶的内容并恢复 git stash pop显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。 git stash list清空Git栈 git stash clear 5、查看及切换用户查看用户名,github账户名 git config user.name查看邮箱 git config user.email切换用户 git config --global user.name “xxx”切换邮箱 git config --global user.email “xxx” 6、创建镜像&切换新仓库克隆为镜像 git clone --mirror [仓库URL]进入镜像文件夹 cd [repo folder]删除关联的origin的远程库 git remote rm origin创建新仓库后,更新为新远程仓库地址 git remote add origin [新的URL]推送镜像 git push origin --all或git push origin --mirror推送tags git push --tags确认gitlab上项目的分支及tags与原先一致 确保本地备份好了之后,可以清理下本地多余remote分支 git fetch -p 7、修改默认分支(1)在GitLab上新建项目后,进入项目,点击左侧Repository->Branches 可以看到里面只有一个受保护的默认分支main,此处无法删除。 然后新建分支master:点击右上角New branch,输入分支名字master,Create branch。 (2)再点击左侧Settings->Repository 点开Default branch,选择Default branch为master,Save Changes。 至此默认分支就是master了。 (3)此时还可以返回(1)的设置,将分支main删掉。 8、回滚\回退版本方法1:reset:强力回滚 且 不保留该版本后的commit 先查日志看需要回滚的版本号,获取对应的commit_id。在log模式可以直接按q 退出。 然后回滚代码,再强推上去。 git log git reset --hard [commit_id] git push -f方法2:revert:回滚 且 保留该版本后的commit 8.2.1 使用命令 先查日志看需要回滚的版本号,获取对应的commit_id。在log模式可以直接按q 退出。 然后回滚代码,再commit,再提交。 git log git revert -n [commit_id] git commit -m "xxx" git push8.2.2 也可以登录git仓,找到对应commit记录。直接右上角,revert到该版本。 Ps.问题解决 Merge made by the ‘ort’ strategy.查看commit记录, 找到远端本地冲突之前的commit 可以按“Q”退出git log状态 git log回退至某一版本,根据comminID决定。只回退了commit的信息 git reset --soft [commitID] git pull fatal: Cannot do soft reset with paths.HEAD & index & working copy同时重置到你要reset到的那个commit上。执行了,你的本地修改可能就丢失了。 git reset --hard 恢复git reset —hard的误操作找到要退回的commitId git reflog然后再次执行 git reset —hard commitId Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.其实描述已经写的比较清楚了,有这几种选择Commit, stash or revert them。 方案1:commit:提交本:记录。 希望保留本地修改项并提交,就先commit 然后再重新pull。 git add . git commit -m "xxx"方案2:stash:储藏本地更改。 如果不希望提交修改项,就先缓存这些修改项,然后再重新pull。相当于将本地修改项与线上最新代码融合,但还不提交你得变更。 git stash git pull git stash pop方案3:revert:回退本地修改项。就跟回滚是一样的。 git reset --hard HEAD git clean -f -d参考: https://www.mimastech.com/2017/11/19/how-to-movemigrate-a-full-git-repository-from-github-to-gitlab-self-hosted-instance/ https://qa.1r1g.com/sf/ask/480571171/ https://blog.csdn.net/csdnlijingran/article/details/96425712 https://blog.csdn.net/weixin_46613448/article/details/130410820 https://blog.csdn.net/weixin_45606822/article/details/131552838 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |