查看“IDEA:Git相关”的源代码
←
IDEA:Git相关
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:IDEA]] == 关于:merge、rebase、cherry-pick、应用独立更改、应用独立文件 == 参见:<big>'''[https://www.jetbrains.com/help/idea/apply-changes-from-one-branch-to-another.html IDEA_Doc:apply-changes-from-one-branch-to-another]'''</big> # merge: # rebase: # cherry-pick [[File:IDEA:icons:cherryPick.svg]]:将某个 commit 应用到当前分支,会在 HEAD 新增一个 commit。 #* 中文插件翻译为“优选”。 #: # Apply separate changes(应用独立更改):将某个 commit 的 changes 应用到当前分支,会反应在 ChangeList 中。 #: [[File:IDEA:Git:Apply separate changes.png|600px]] # Apply separate files(应用独立文件,[[File:IDEA:icons:get.svg]]):将某个 commit 的 files 应用到当前分支,会反应在 ChangeList 中。 #: [[File:IDEA:Git:Apply separate files.png|600px]] == 关于:Resolve conflicts(冲突解决) == 参见:<big>'''[https://www.jetbrains.com/help/idea/resolve-conflicts.html IDEA_Doc:resolve-conflicts]'''</big> 注: # “Non-Conflicting Changes”:仅在左侧(或右侧)新增、修改、删除的冲突内容; #* 可以通过:[[File:IDEA:icons:Apply All Non-Conflicting Changes.svg]]、[[File:IDEA:icons:Apply Non-Conflicting Changes from the Left Side.svg]]、[[File:IDEA:icons:Apply Non-Conflicting Changes from the Right Side.svg]] 来快速解决。 # “Conflicting Changes”:同时在左右两侧修改过的冲突内容; #* 手动确定决解方案。 : [[File:IDEA:Git:Non-Conflicting&Conflicting Changes.png|800px]] === 关于:行末标识冲突 === 行末标识符:<big>'''LF'''</big>(Unix, Linux and MacOS),<big>'''CRLF'''</big>(Windows) 解决: # 全局设置(通过命令): #: <syntaxhighlight lang="bash" highlight="2,5"> # on Windows git config --global core.autocrlf true # on Linux and macOS git config --global core.autocrlf input </syntaxhighlight> # 仓库设置(通过配置文件“.gitattributes”): #* 参见:'''[https://docs.github.com/cn/get-started/getting-started-with-git/configuring-git-to-handle-line-endings Github_Doc:configuring-git-to-handle-line-endings]''' == 关于:Shelve、Stash == 参见:<big>'''[https://www.jetbrains.com/help/idea/work-on-several-features-simultaneously.html IDEA_Doc:work-on-several-features-simultaneously]'''</big> '''Stash'''(保存工作现场)与 '''Shelve'''(搁置): 1、Stash 由 git 生成,可以由 IDEA 或其他方式使用; Shelve 由 IDEA 生成,由 IDEA 使用。 2、Stash 将保存所有 uncommitted changes; Shelve 可以选择保存部分 uncommitted changes。 Shelve: == 关于:“强制推送” == Git 的“强制推送”(<span style="color: green">git push --force-with-lease</span>):强制推送本地分支到远程,将会忽略远程分支版本比本地高【即,抛弃比当前 commit 更高版本的 commit】; <big>【慎用!!!】</big> 示例: # 强制推送前: #: [[File:IDEA:Git:强制推送前.png|800px]] # 强制推送: #: [[File:IDEA:Git:强制推送.png|600px]] # 强制推送后: #: [[File:IDEA:Git:强制推送后.png|800px]] === 不能使用“强制推送”? === IDEA 不能对“'''受保护分支'''”(Git 相关设置中)进行强制推送。 “受保护分支”设置: : [[File:IDEA:Git:强制推送设置:“受保护分支”.png|600px]] * 如上,删除或更改此处设置,则可以对 master 分支进行强制推送了。 == FAQ == === 推送错误:“git@github.com: Permission denied (publickey).” === 使用 IDEA 推送本地仓库到 GitHub 时,遇到错误:“git@github.com: Permission denied (publickey).” 错误信息: * IDEA git: *: [[File:IDEA:推送失败“git@github.com Permission denied (publickey)”.png|600px]] * ssh 测试: *: [[File:SSH:测试连接git@github.com:失败.png|600px]] ** <span style="color: green">ssh -T git@github.com</span>:用于测试 SSH 到 GitHub 是否可用; ** <span style="color: green">ssh -vT git@github.com</span>:用于测试 SSH 到 GitHub 是否可用,并会显示详细信息; 原因:推送到 GitHub 需要 SSH,当前未配置相关内容。 解决: # 本地: ## 生成 SSH 密钥对: ##* 由于本地已存储了其他密钥对(“id_rsa、id_rsa.pub”),所以此处修改了存储文件名; ##: <syntaxhighlight lang="xml" highlight="1,3"> C:\Users\eijux>ssh-keygen -t rsa -C "chen@eijux.com" Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\eijux/.ssh/id_rsa): C:\Users\eijux/.ssh/id_rse_github ... </syntaxhighlight> ##: [[File:SSH:生成github密钥对.png|600px]] ##: 得到密钥对文件:“id_rse_github、id_rse_github.pub”; ## 新建 <span style="color: blue">'''config'''</span> 文件: ##* 由于修改了密钥文件的名称(或位置),所以需要 config 文件(C:\Users\eijux\.ssh\)进行配置; ##: <syntaxhighlight lang="xml" highlight=""> # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile C:\\Users\\eijux\\.ssh\\id_rse_github </syntaxhighlight> # Github:配置 '''SSH keys'''。 ## 步骤:Setting -> SSH and GPG keys:“New SSH key”; ## 将本地生成的公钥“id_rse_github.pub”内容复制到 GitHub 的“New SSH key”; ##: [[File:Github:添加 SSH key.png|600px]] # SSH 测试: #: <syntaxhighlight lang="bash" highlight=""> ssh -T git@github.com # 或 ssh -vT git@github.com </syntaxhighlight> #: [[File:SSH:测试连接git@github.com:成功.png|600px]]
返回至“
IDEA:Git相关
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息