删除远程仓库上被忽略的文件
由于种种原因,一些本应该被忽略的文件被我们误操作提交到了远程仓库了。那么我们该怎么删除这些文件呢?
# -r代表删除的是文件或者文件夹 --cached 只清除暂存区不清除工作区的
git rm -r --cached .idea
.idea
git commit -m '提交信息'
git push
git rm 与 git rm –cached 的区别
git rm
:同时从工作区和暂存区删除文件。即本地的文件也被删除了。git rm --cached
:从暂存区删除文件。但是本地文件还存在,只是不希望这个文件被版本控制。
代码开发一半,有新任务了
git stash
命令来解决这个问题。# -u 表示还要存储工作区中新增的文件,如果不加u只会存储工作区中已经存在的文件的修改
git stash save -u "需求 a 只完成了一半"
$ git stash list
stash@{0}: On main: 需求 a 只完成了一半
git add .
git commit -m "需求 b 已完成"
# 推送到远程的 dev 分支
git push origin dev
git stash pop
git add .
git commit -m "需求 a 也完成"
# 推送到远程的 dev 分支
git push origin dev
git pull代码冲突
$
git pull
error: Yourlocal
changes to the following files would be overwritten by merge:
src/main/java/com/open
/demo/beans/AppReqParmVO.java
Pleasecommit
your changes
or
stash them
before
you
merge
.
Aborting
git stash
$
git pull
Updating 5b82c67..3d844c3
Fast-forward
src/main/java/com/open
/demo/beans/AppReqParmVO.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
$
git stash pop
Auto-merging src/main/java/com/open
/demo/beans/AppReqParmVO.java
CONFLICT (content):Merge
conflict
in
src
/main/java/com/open
/demo/beans/AppReqParmVO.
java
合并分支发生的冲突
git
checkout
master
git
merge
dev
$
git merge
dev
Auto-merging src/main/java/com/open/demo/beans/AppReqParmVO.java
CONFLICT (content): Merge conflict in src/main/java/com/open/demo/beans/AppReqParmVO.java
Automatic merge failed; fix conflicts and then commit the result.
<<<<<<<
HEAD
private final long serialVersionUID = -1206184202179044275L;=======
private long serialVersionUID = -1206184202179044275L;>>>>>>>
dev
master修改代码,推送到dev
git add .
git commit -m "本次提交说明"
git checkout dev
git merge master
git push
原文始发于微信公众号(后端元宇宙):Git五个常见问题及解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/28258.html