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

时间:2018-01-01 05:53:40

标签: git git-push

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

需要帮助。

2 个答案:

答案 0 :(得分:1)

如果您还记得提交消息,则可以使用local reflog

在所有历史记录中搜索所述提交,包括git log(包括已删除或未提及的过去提交)
productname-swift.h

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

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

答案 1 :(得分: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中撤出,他们将看不到你推送的内容,因为你正在推动你自己的分支版本。)