Git

您所在的位置:网站首页 git创建用户命令 Git

Git

2024-07-11 13:58| 来源: 网络整理| 查看: 265

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 push

8.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