我在旧计算机上有一些存储库(现在已经格式化),但我犯了一个错误,只是复制它们。现在我有一堆存储库,但无法进行任何结账。当我尝试时,我收到“没有此类修订”错误,每个存储库都有不同的数字。在某些情况下(我不明白为什么)在错误发生之前它会检查一些文件夹。
有什么办法可以恢复存储库吗?
谢谢!
好的,所以当我使用 git init 初始化本地存储库时,我知道我创建了一个存储库。因为,我在 git bash 中使用以下命令来查找我刚刚创建的存储库:
find ~ -type d –name .git
Run Code Online (Sandbox Code Playgroud)
它完全按照我的想法找到了存储库。但是,当我尝试使用 git bash 中的更改目录命令导航到该文件夹时,没有任何 .git 文件夹显示出来。
我给出了ls显示内容的命令 ,但没有显示我的存储库。
为什么是这样?非常感谢。
我的计算机上已经有一个 Git 存储库。我想在我的计算机中为它设置一个远程存储库,例如在/path/to/remote.
所以我曾经git init启动一个空的存储库。然后我使用了这个命令:
$ git remote add test "file:///path/to/remote/.git/"
Run Code Online (Sandbox Code Playgroud)
然后尝试:
$ git push -u test --all
Run Code Online (Sandbox Code Playgroud)
但结果错误:
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: …Run Code Online (Sandbox Code Playgroud) 我有一个远程存储库的克隆.当我需要该存储库的另一个副本时,如果我克隆该本地克隆,则origin指向第一个克隆.所以相反,我只是cp -a first second,但这是浪费空间,因为它制作了完整的副本.git/objects.
那么,我该如何进行第二次克隆并将其保存在具有存储效率的完全相同的配置中(不,我没有运行可以使用的fs cp -a --reflink)
我有一个本地仓库。我.git用du -csh <foldername>命令检查了文件夹的大小。它是 168 MB。我把它推送到我的 bitbucket 仓库。我检查了下载的存储库大小仅为 134 mb。
这怎么可能?
我在GitHub上创建了许多存储库,但尚未将它们中的任何一个上传到Git.
在GitHub上下载我的存储库时,使用repo文件列表右上角的绿色按钮,我注意到你可以使用链接通过Git下载repo,即使我还没有将回购上传到Git .我也注意到链接看起来像这样:https://github.com/Dog-Face-Development/Bars.git并且指向一个Bars.git(或任何repo的名称)文件,我在我的文件列表中没有.
问题是:由于我可以通过Git下载我的GitHub仓库,即使我没有将仓库上传到Git,并且由于似乎有一个带.git扩展名的文件,这是否意味着我的仓库自动上传并添加没有我做任何事情的Git,然后我可以使用我的电脑和命令行Git工具承诺使用Git的回购?
spring+jpa(repositories) 实体有应用:
@Entity
@Getter
@Setter
@NoArgsConstructor
public class User{
private int id;
private String name;
private String surname;
private int age;
}
Run Code Online (Sandbox Code Playgroud)
因此,我的存储库如下所示:
@Repository
public interface UserRepository extends CrudRepository<User, Integer>{
public List<User> findUsersByNameAndAge(String name, int age);
public List<User> findUsersByNameAndSurname(String name, String surname);
}
Run Code Online (Sandbox Code Playgroud)
在我真正的生产代码中,参数太多,所以这个方法名太长而且不舒服。有没有办法从长方法名称中创建舒适的选项,例如仅查找?
我已经看到了有关此错误消息的几个问题,但答案对我没有帮助,所以我们再试一次:
我有 2 个配置的实体管理器,当我打电话时
dump($this->getManager('db_users')->getRepository(UserRepository::class));
它抛出错误The class 'App\Repository\Users\UserRepository' was not found in the chain configured namespaces App\Entity\Users。
所以这是存储库问题(或者不是吗?Symfony 喜欢抛出与真正问题完全无关的错误)。
我的文件列表:
UserRepository.php(没什么特别的...只是将 \Users 添加到命名空间以与实际目录路径相同)
<?php
declare(strict_types=1);
namespace App\Repository\Users;
use App\Entity\Users\User;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
use Symfony\Component\Security\Core\User\UserInterface;
class UserRepository extends ServiceEntityRepository implements PasswordUpgraderInterface
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, User::class);
}
/**
* Used to upgrade (rehash) the user's password automatically over time.
*/
public function upgradePassword(UserInterface $user, string $newEncodedPassword): void
{
if (!$user instanceof Uzytkownik) …Run Code Online (Sandbox Code Playgroud) 我正在尝试应用干净的架构,除其他外,我有一个数据源层和一个存储库层。
存储库使用一个接口与底层数据源(只有一个 sql db atm)交互,但是数据源接口是为 sql 数据库量身定制的,如下所示:
package datasource
import "database/sql"
type Source interface {
Open() error // Open the connection
Close() // Close the connection
Exec(string, ...interface{}) error // Execute a prepared query(e.g:insert)
Query(string, ...interface{}) (*sql.Rows, error) // Retrieve rows with a prepared query
}
Run Code Online (Sandbox Code Playgroud)
正如我想象稍后将引入其他数据源(如 nosql dbs 或外部 API...),我如何将它们全部分组在一个通用接口下,以便存储库不需要知道数据源的来源数据。
谢谢你。
PS:我知道有类似的问题,但那些从存储库的角度处理问题,我正在寻找数据源端的解决方案(例如:通用接口),因为我不想为每个单独的存储库来源。