Bob*_*man 12 git version-control
我遇到的最糟糕的一个是git子模块.我在github上有一个项目的子模块.该项目没有维护,我想提交补丁,但不能,所以我分叉了.现在子模块指向原始库,我需要它指向fork.所以我删除了旧的子模块,并在同一次提交中将其替换为新项目的子模块.事实证明这打破了其他人的存储库.我还是不知道的处理这种情况的正确方法是什么,但我最终删除的子模块,有大家拉和更新,然后我创建了新的子模块,并有大家拉和再次更新.花了一天的时间来解决这个问题.
其他人做了什么,以非显而易见的方式意外搞砸了git存储库,你是如何解决它的?
Von*_*onC 15
添加子模块时通常的尾部斜杠:
在子模块上使用git add时,请确保没有尾部斜杠.
> git add local/path
-- adds the submodule
> git add local/path/
-- adds all the files in the submodule directly into your repository, big no-no
Run Code Online (Sandbox Code Playgroud)
发布到公共存储库而没有意识到我的git config user.name错误.
这意味着公共回购现在得到了一个名字(和一封电子邮件)我根本不想发布.如果那个回购被复制,那就太晚了.
这就是为什么我更喜欢在我的git提示shell中显示我的user.name,这意味着不是这样:
MY_HOSTNAME /c/Prog/myGitProject (master)$
Run Code Online (Sandbox Code Playgroud)
我看到了这个:
MY_HOSTNAME /c/Prog/myGitProject (master) VonC $
Run Code Online (Sandbox Code Playgroud)
我知道我是谁,我在这个Git bash会话中输入的第一个命令!
只有意识到你已经遗忘的条目中.gitignore,一旦你已经有了跨越分支的负载分散匹配.
忘记那个git add并没有添加那些不存在的东西......
git add . git commit git status //hey! why didn't it commit my deletes?, Oh yeah, silly me git add -u git commit --amend
git branch list,你会得到一个叫做的新分支list,但是如果你这样做了git stash,你就会把工作空间藏起来; 为藏匿,你需要的list,如果你想在列表...很快,可能......
| 归档时间: |
|
| 查看次数: |
5017 次 |
| 最近记录: |