我阅读了Stack Overflow上的几十篇帖子以及网页上的很多页面(包括GitHub的帮助页面),花了我几个小时才弄清楚如何做这个超级简单的事情,坦率地说根本不是很明显,所以我是我会在这里回答我自己的问题.
我正在使用GitHub for Windows(更新:它现在称为Github Desktop),我对我的本地文件进行了一系列更改.它变得如此混乱,我决定我只想将我的本地文件回滚到他们最后一次提交时的位置.我没有做出新的改变 - 我只是想摆脱它们.我怎样才能做到这一点?
在Windows中使用git的新手.我下载了GitHub桌面应用程序并且可以连接我的帐户,但由于主机未解析而导致推送/拉取失败.在工作场所问我,我得到以下建议,在git shell中键入此命令.
git config --global http.proxy http://username:password@proxy.workplace.com:8080
Run Code Online (Sandbox Code Playgroud)
做这个:
不是GitHub for Desktop生成并使用SSH密钥(我第一次连接帐户时收到了电子邮件通知)?如何配置GitHub Desktop以使用此代理?
我的GitHub桌面应用程序试图提交一堆(据说)忽略的文件.
如您所见,整个.metadata文件夹列在我的顶级.gitignore文件中.尽管如此,每次都会提交来自该文件夹的大量文件.我是否遗漏了文件需要放置的位置?
编辑:我应该补充,请不要只是告诉我使用命令行.
当我尝试从GitHub-desktop在GitHub上提交我的新本地存储库时, 它会抛出错误"提交失败 - 退出代码1已收到"
我收到了我正在处理的项目的 diff 补丁,我想知道 Visual Studio Code 中是否有一种简单的方法,可以将该 diff 应用于它所引用的文件?
Visual Studio Code 在最近几个版本中添加了一些 git 支持。
我不想使用 git 命令行工具(我不会拒绝答案,但不会接受它们作为解决方案)。
例如,我想知道是否可以右键单击主源文件并选择一个选项“应用差异补丁”,然后它会打开一个文件对话框,允许我选择差异文件并应用更改。
我也有 Github Desktop 可供使用,但似乎也没有“应用差异”选项。
提前致谢。
我看过这个相关帖子:
如何获取 git diff 文件,并将其应用到作为同一存储库副本的本地分支?
当我运行 git 命令时,出现错误:
Directory$ git apply xcrun:错误:无效的活动开发人员路径(/Library/Developer/CommandLineTools),缺少 xcrun 位于:/Library/Developer/CommandLineTools/usr/bin/xcrun
更新:安装 XCode 命令行工具后,上述错误消失了(更多信息请参见此处,https://www.studytonight.com/post/solved-mac-os-xcrun-error-invalid-active-developer-path-missing- xcrun)。但 apply 命令似乎仍然没有做任何事情。
Update2: 看来我必须解决 diff 补丁中使用的不同文件夹结构。请参阅/sf/answers/4622933241/。
Visual Studio Code 的 Git 补丁看起来就像我正在寻找的。但是,这是我在使用它时看到的错误。
我按照许多其他项目安装了(在 Mac OS11 上)husky@4。lint-staged终端命令流程git add .和git commit -m 'something'流程工作正常:Husky 的预提交挂钩和lint-staged命令已成功获取。然而,Github Desktop 预提交挂钩似乎没有表现。
我尝试查看该文件.git/hooks/pre-commit,它就在那里:
#!/bin/sh
# husky
# Created by Husky v4.3.8 (https://github.com/typicode/husky#readme)
# At: 3/7/2021, 12:09:26 PM
# From: /Users/admin/devProj/prject/node_modules/husky (https://github.com/typicode/husky#readme)
. "$(dirname "$0")/husky.sh"
Run Code Online (Sandbox Code Playgroud)
命令:
...
"husky": "^4.3.8",
"lint-staged": "^10.5.4",
...
"husky": {
"hooks": {
"pre-commit": "tsc --noEmit && lint-staged"
}
},
"lint-staged": {
"**/*.(js|jsx|ts|tsx)": [
"npm run lint:fix",
"prettier --write"
]
}
Run Code Online (Sandbox Code Playgroud)
GitHub Desktop 找不到此内容的任何其他原因吗?
我目前正在使用 GitHub Desktop Beta 0.8.0。与之前的提交相比,我可以很容易地看到一次提交的差异,但我想查看我的分支与其基础分支之间的总差异。此功能是否已在 GitHub Desktop Beta 中实现?如果是这样,我该怎么做?官方文档似乎仍然适用于旧的 GitHub Desktop,而不是 2017 Beta。
我当时在 master 分支工作,但没有意识到这一点。我在那个分支机构做了几个小时的工作。
当我完成想要提交的内容后,我转到 GitHub Desktop v2.2.3 并注意到我处于 master 状态。在将它们添加到暂存之前,我列出了可用的分支并选择了我想要的分支;它问我想对当前的变化做什么,我选择了一个选项,说我想“把它们随身携带”。
现在我在两个分支中都找不到我的更改。
我进入命令行并输入“git reflog”并得到以下内容:
e328567 (HEAD -> master, origin/master, origin/HEAD, origin/branchNumberOne, branchNumberOne) HEAD@{0}: checkout: moving from branchNumberOne to master
e328567 (HEAD -> master, origin/master, origin/HEAD, origin/branchNumberOne, branchNumberOne) HEAD@{1}: checkout: moving from master to branchNumberOne
e328567 (HEAD -> master, origin/master, origin/HEAD, origin/branchNumberOne, branchNumberOne) HEAD@{2}: reset: moving to HEAD
e328567 (HEAD -> master, origin/master, origin/HEAD, origin/branchNumberOne, branchNumberOne) HEAD@{3}: clone: from https://gitlab.myURL.com/aCompany/myProject.git
Run Code Online (Sandbox Code Playgroud)
我什至不确定使用哪个 HEAD 索引来尝试恢复我的更改;我怎么知道呢?或者有其他方法可以恢复更改吗?
github-desktop ×10
git ×4
github ×4
git-husky ×1
gitignore ×1
husky ×1
lint-staged ×1
proxy ×1
react-native ×1