图片有的 是idea界面,有的是Android studio界面,当成字典看,不用记,你知道自己想操作仓库时,知道自己曾写过这篇文章就行
目录
引入git别的仓库的其它模块
创建 Git 分支并且 Push
删除分支
删除分支的文件
Androidstudio 当前分支不对 需要切换分支
Android studio 创建git仓库 在项目没有git的时候
将idea中的项目代码直接提交到github中
IntelliJ idea 撤回提交(已经commit未push的)
合并提交
查看一个文件谁什么时候修改
已经PUSH怎么撤回
—— 先clone下来 然后剪切到项目目录 (如果配置了 不需要 File -- new - import module)
如果你自己创建的分支自己不想要了,可以先删除本地和远程的分支 彻底干掉 (我的分支名是doc)
(先切换到其它分支) 选中待切换的分支,checkout 如这里是doc分支切换到master分支(二、是详细切换分支的说明)
直接在控制台输入
本地删除:git branch -D doc 远程删除:git push origin :doc
删除分支后,你可以重新创建分支或切换分支
git 删除远程分支文件_bin-CSDN博客_git删除远程分支文件
git rm --cached filename
git commit -m "delete remote file filename "
git push -u origin master(此处是当前分支的名字)
删除目录不成功 当然 git commit -m "delete remote directory /src/1.0.0/src/main/java/com/megain/junhao/util/chuankou" 也是不行
D:\JavaCode\WSL\src\main>git rm -r –cached chuankou
fatal: pathspec '–cached' did not match any files
也是不行
最后我直接在本地删掉不需要的文件和文件夹,然后运行
git commit -m "delete remote file test.jsp"
我们发现只是敲了删除test.jsp文件的命令,之前我们是删掉本地所有不需要的文件和文件夹也被查出来并删掉
然后,我们 工具栏 Git -- commit
commit的时候把.idea/workspace.xml 提交后就push成功
这种情况可能只适用与idea工具
一 、 当前分支不对,且没有找到 remete 里需要的分支,所以需要重新拉 (如果可以看到要切换的分支,请忽略步骤一)
部分转自: https://www.jb51.net/article/191557.htm
1、点击VCS-Git-Remotes... 目的是:
2 点击Edit修改输入新地址即可,name可以自己写
3 修改成功以后,点击VCS-Git-fetch,刷新远程修改到本地,此时点击右下角git分支树,就是最新的分支树了
二、
也可以直接按照该博客操作 但我在没有找到想切换的分支时,按照他的操作没有得到结果IDEA切换git分支 - 简书
例如当前情况是需要切换到8-posauth-update分支点击上图中的Git: XXXXX进行切换,点击分支名 然后点击checkout
idea 点击右侧栏找不到git或者svn&git的基本使用_YyCarry的博客-CSDN博客 先找到git 然后 VCS --GIT -- clone
选择 VCS ---> Import into Version Control ---> Share Project on GitHub --->弹出界面点击 Share Anyway ---> 点击 share
idea会自动帮我们创建github远程仓库,并且把项目提交上去。注意,项目名即为远程仓库名
似乎只能用于GitHub,,至于推送到Gitee等 一般都是clone下来再推送
最常用的是在提交窗口点击撤回按钮
还有这个方法来自:IntelliJ idea 撤回(已经commit未push的)操作_H的博客-CSDN博客_idea已经commit的怎么撤销
下面是撤回上一次提交 Git -- Reset Head (idea 2020版本是这样 一般区别不大 最多Git会变成 VSC) 输入 HEAD^ 一般记住这个就够了,因为你一天可能就提交个2次
注意: 当你撤回两次提交, 如下图我提交1次后要反悔;打开 有个Merge, 我的提交在2(更改XX); 所以要撤回到2的上一步 也就是3(这里没显示)
输入 HEAD~2
撤回提交后修改完成,在此提交前 必须 Git -- Pull ;Push前也不要忘了Git -- Pull; 如果你能保证你同事没有push过代码,不然你就把别人的代码覆盖了
还有一个方法是 在Git--log窗口 右键提交的信息点击Undo Commit; 弹出窗口中默认Default Changelist,然后点击OK
git update-ref -d HEAD
运行后左下角打开Git -- Log窗口,发现已经没有提交记录了
这时候你再按自己的想法commit
IntelliJ IDEA 结合 Git 版本管理 代码合并,回退,合并指定的提交等操作记录_请叫我大师兄-CSDN博客
假设在dev分支上提交了代码,然后现在需要将dev提交的代码合并到test分支。
那么就把本地的项目,切换到test分支,checkout test分支,然后如下图,
Merge into Current
1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge
2. git pull:相当于是从远程获取最新版本并 merge 到本地
当年提交完 并Git fetch,准备push到服务器时,出现冲突
原来在你提交前还有同事也提交了代码,而且是修改同一个文件
idea git拉取、合并、处理冲突、提交代码具体操作 - 巫~巫 - 博客园 偷点图,涉及公司隐私我就不贴图片了,遇到文件冲突要自己确认,不要到时候你自己或同事说我的代码怎么不见了
下面是一个文件内容冲突的情况,直接点击Merger,最左边是自己的,最右边是远程仓库的,一般情况下都是两个箭头指着中间的都点一下;
当出现两个箭头指向同一个内容,那就要自己选择哪个为准 X掉不要的
最后直接push
在idea界面左侧行号处,右键点击 Annotate with Git Blame;关闭是直接右键close Annotate
Annotate 注释的意思
git的底层不推荐你做已经PUSH然后撤回,你提交到线上仓库就说明已经存在
你想撤回其实是想撤回线上仓库的错误提交的记录,
要移掉记录 可以用--force强制 但是极其不推荐 容易把别人的代码搞没
如果你是个人项目代码,那没事随便搞。但是在公司,多人合作的项目,你强制操作,呵呵
Git 彻底删除服务器上的提交记录_hrx-@@-CSDN博客
commit的hash值 在idea左下角 GIT窗口- log - 右键提交记录 选择第一个 Copy Revision Number
/* 1、回滚本地的提交记录 */
git reset --hard 目标commit的hash值
/* 2、强制提交到远端服务器 */
git push origin HEAD --force
E:\minework\cs\hotman>git reset --hard c4bf666460900ca4fe0af42b863f66c4117bd
805
HEAD is now at c4bf666 调整XXXX
然后点击 Git-commit 再push 会提示一个remote: GitLab: You are not allowed to force push code to a protected branch on this project.记录
没关系强制提交
上班的时候,有人教育你,commit的代码一定要在本地运行正确后再提交,但还有一句没说,错了马上改好再提交。 保证别人pull你的代码运行的时候不会报错,这才是重点。
多人合作的正确做法仅仅是 及时把错误提交的代码修改正确后,commit后提交再push,错误记录就让它待在那。
上面的别人强制PUSH后撤回提交代码时, 或者不小心多次Ctrl + Z ,一些需要的代码神奇消失时, JetBrains公司的IDE都有这个功能
右键 类名,选择Local Hostory 选择Show History
它的代码历史记录可能不到一星期,点击红笔圈中的》按钮即可。