标签: git

不小心把敏感数据放到Github上怎么办?

我们的团队不小心将一些个人信息以 H2 数据库文件的形式推送到了 Github。有什么方法可以从服务器中干净、完整地删除文件?

简单地做git rm xxx.db似乎不是答案,因为人们可以很容易地git reset --hard找到包含用户数据的头部。

另一方面,

git reset --hard [the head before the db file was committed]
Run Code Online (Sandbox Code Playgroud)

也不是我们的偏好,因为自数据库提交以来已经有超过 10 次提交。

我们应该怎么做才能删除该数据库文件?

git github

3
推荐指数
1
解决办法
4606
查看次数

vim退出时执行命令

是否有我可以添加到 .vimrc 文件的配置,它会导致 vim 在文件关闭时运行命令?

例如,假设我正在编辑一个受版本控制的文件。一旦我完成编辑,我想要一个命令来提交我的更改,以便在 vim 完全关闭之前立即运行,而不必在保存/退出文件后单独运行它。

我对此很好奇,因为我倾向于忘记提交我的更改。

或者,如果无法执行我所要求的操作,是否可以配置一个内部 vim :command,该命令将在我关闭文件之前使用 vim 运行提交?

linux vim git

3
推荐指数
1
解决办法
4647
查看次数

Git 在 PATH 中,但未被识别为命令

我最近重新安装了 Git,但我再也无法让它在本机 Windows 命令提示符下运行了。我确定它在Path环境变量中,如您所见:

C:\Users\Ult>where git
C:\Program Files (x86)\Git\cmd\git.exe

C:\Users\Ult>git --version
'git' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Ult>"C:\Program Files (x86)\Git\cmd\git.exe" --version
git version 1.9.4.msysgit.2
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试过:

  • 关闭并重新打开命令提示符;
  • 再次重新安装 Git;
  • 重启电脑;
  • 编辑Path环境变量,移到C:\Program Files (x86)\Git\cmd它的开头。

我已经在网上和 SU 环顾四周,但找不到解决方案。请不要关闭现有的类似问题,这些问题只是关于没有 GitPath或重新打开cmd.exe. 我已经尝试过这些,但它们不能解决问题。

我需要能够在本地运行 Git cmd.exe,以便我的一些 IDE/文本编辑器的 Git 插件正常工作。这意味着我不能只使用 Git Bash(工作正常)。

在 Windows 7 x64 Ultimate 上运行。

windows-7 git command-line environment-variables

3
推荐指数
1
解决办法
1万
查看次数

如何从推送提交中删除/删除文件?

是否可以从远程和本地存储库中删除/删除一些不需要的文件?
我有点快,将 5 个文件推送到远程仓库。现在我的同事推动了他的工作,看到这些不需要的文件迟到了。所以现在在我的“错误”提交之后有 2 次提交。

我试着用

git rebase -i HEAD~3
Run Code Online (Sandbox Code Playgroud)

并将第一个条目更改为“编辑”并删除了不需要的文件。接下来我用

git commit --amend
git rebase --continue
Run Code Online (Sandbox Code Playgroud)

但是 GIT 不会最终确定它。它总是说我在最后一次提交并且正在进行 rebase。但我无法继续完成它。

git

3
推荐指数
1
解决办法
5万
查看次数

如何在 bitbucket 上通过 SSH 结帐

通过 SSH 克隆 bitbucket 项目是否有某种技巧,这样您就不必每次都手动输入密码?

我试过遵循他们的文档,并且能够达到运行ssh -T git@bitbucket.org报告成功的程度。

我的 Bitbucket 项目页面报告我的 SSH URL 是:

git@bitbucket.org:myaccount/myproject.git
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时:

git init
git remote add origin ssh://git@bitbucket.org:myaccount/myproject.git
git pull origin master
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

conq: invalid repository syntax.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ssh git bitbucket.org

3
推荐指数
1
解决办法
6935
查看次数

windows ssh 不接受密码

我已经安装的git换窗户和生成具有的puttygen(带密码)一个SSH密钥,并将其存储在C:/用户/用户名/.ssh/id_rsa。
如果我尝试使用 putty 登录并输入我的密码,它就可以正常工作。
但是,如果我尝试在 Windows 外壳中使用sshgit clone,它在之后不会接受我的密码,Enter passphrase for key '/c/Users/*username*/.ssh/id_rsa'而是一直要求它。
为什么它不适用于 ssh 或 git?

windows ssh git

3
推荐指数
1
解决办法
3645
查看次数

从 Windows 环境执行 Linux 程序 (WSL)

我已经安装gitWSL 中,当我调用该程序时,它显示一条错误消息:

翻译:不是有效的 Win32 应用程序

我的目的是用WSL 中安装的工具一点一点地替换像cygwinGit for Windows和其他工具。

翻译:不能/不可能执行二进制文件

git windows-subsystem-for-linux

3
推荐指数
1
解决办法
3213
查看次数

在 iTerm 中按住 cmd 键单击文件名,然后将该文件名添加到命令中

默认情况下,iTerm 允许您按住 cmd 键单击文件名和 URL,以使用系统的默认应用程序打开它们。我希望能够更改它,以便将文件名添加到我当前正在输入的命令中。

\n\n

这对于我的 git 流程很有用:git status\xe2\x86\x92 git add ...(此时我只想依次单击相关文件并将其附加)。

\n

terminal git command-line iterm iterm2

3
推荐指数
1
解决办法
863
查看次数

git 存储库是否可以在操作系统和文件系统之间移植

...尤其是通过 FAT32 或 exFAT USB 闪存驱动器移动时?

尽管这些工作拷贝很可能将遭受权限的变化,明显的去除符号链接(如果使用它们)......这是改变了Git将会从很好检测,开,.git/目录的内容不够健全以允许将存储库从一个操作系统和/或文件系统移动到另一个操作系统和/或文件系统吗?例如 Windows、常见的 Linux 发行版、macOS、NTFS、ext FS、APFS ...

如有必要,我可以假设 Git 版本为 2+。

git

3
推荐指数
1
解决办法
394
查看次数

符号链接在 Windows 上的 Git 中不起作用

我有一个名为 的存储库Base,另一个名为 的存储库Project。它们被克隆在C:\Company\Base和 中C:\Company\Project

我用来mklink C:\Copmany\Project\BuildScript.bat C:\Company\Base\BuildScript.bat创建符号链接。

然后我推动这个改变:

   cd C:\Company\Project
   git add .
   git commit -m "adding symbolic link"
   git push
Run Code Online (Sandbox Code Playgroud)

我可以在 GitHub 中看到这BuildScript.bat是一个符号链接。

我也可以使用 来验证它dir /AL /S C:\Company\Project

但是,当我在另一台 PC 上或在我自己的 PC 上的另一个目录中克隆此存储库时,该符号链接不再是链接。

我应该怎么办?

windows symbolic-link git

3
推荐指数
1
解决办法
1万
查看次数