GIT - 将更改推送到dev分支后,它们从本地和远程分支中删除

问题描述 投票:1回答:2

我在2天之前将我的更改推送到dev分支,并且团队成员在拉动之后没有得到这些更改。主要问题是它们甚至不在我的本地副本中。我应该做什么或者应该发生什么原因?

需要帮忙。

git git-push
2个回答
1
投票

如果您还记得提交消息,可以使用local reflog在所有历史记录中搜索所述提交,包括git log(包括已删除或未引用的过去提交)

git log  --grep="a word" -- --all
git log -g --grep="a word"

如果你还记得你在该提交中引入的一个词(比如新函数的名称),你可以用git log pickaxe搜索它:

git log  -S"a word" -- --all
git log -g -S"a word"

0
投票

首先,在〜/ .bashrc中的某处添加以下内容:

__hg_ps1() {
    local INFO
    INFO=$(hg branch 2> /dev/null)
    if [ $? -eq 0 ]; then
        echo -e "[$INFO $(hg status | cut -b 1 | uniq | sort | tr -d '\n')]"
    fi
}

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(__git_ps1)$(__hg_ps1)\[\033[00m\]\$"

这将为您的终端窗口(或cygwin终端)提供有关您的git和/或mercurial存储库状态的其他信息。它会帮助你看到例如你现在在哪个分支。

如果您在dev分支上并且已经推送到dev分支,那么您应该在本地看到您的文件。但是,如果您在本地另一个分支机构,或者您推动了对于您自己的dev分支版本而不是共享dev分支,您的文件可能已被推送到您正在使用的地方,并且由于您在本地的另一个分支上,因此它们仅在本地存在,因此它们将不再在本地可见在另一个分支上而不是那个分支上。

因此,验证您是否在正确的分支上,验证您是否已推送到包含正确分支的正确存储库(是的,正确的存储库,您可以拥有例如Simon / dev-branch和Team / dev-branch,如果您推送对于Simon / dev-branch,其他人从Team / dev-branch中撤出,他们不会看到你推送的内容,因为你正在推动你自己的分支版本)。

© www.soinside.com 2019 - 2024. All rights reserved.