Как создать новую ветку на github, используя sha of commit - PullRequest
0 голосов
/ 09 декабря 2018

Здравствуйте, я пытался решить мою проблему, но безуспешно.Я создал ветку на GitHub и сделал один коммит там, после чего я удалил ветку, но я знаю ша о своем коммите.Я пытался создать новую ветку, используя свой sha, но не могу.Я пытаюсь сделать следующее

git checkout && git branch - b SPP-69 47127ee98d8247d67f0f2baf3ae316444bc1ea9e
# and got reference is not a tree 47127ee98d8247d67f0f2baf3ae316444bc1ea9e

Я пытаюсь сделать следующее

git checkout && git branch - b SPP-69 47127ee98d
# and got 47127ee98d is not a commit and a branch SPP-69 could not be created from it.

enter image description here enter image description here У меня естьнет локальных журналов.

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Я мог бы создать ветку, но я не смог бы сделать это с моим коммитом, у которого нет ветки

Это означает, что на него больше не ссылается ни одна ветка или тег, и, следовательно, это не так.выбирается по умолчанию, даже с помощью git fetch --all.

Попробуйте нажать на новый запрос извлечения: это должно создать ветку PR, которую затем можно получить локально .

git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME

Замените BRANCHNAME именем ветви, которую вы хотите создать.

0 голосов
/ 09 декабря 2018

Похоже, у вас нет этого коммита локально на вашем компьютере.

# Grab the content from the server
git fetch --all --prune

# Now checkout the desired commit
git checkout -b <branch name> <SHA-1>

Как узнать коммит, который содержит определенный объект тройника?

Вам нужно найтиСам коммит, а затем проверьте его.

Проверьте ваш журнал на наличие этого коммита, а затем checkout -b <SHA-1>, как вы сделали

Используйте этот скрипт, если вы не можете найти его через Github web:

#! /bin/sh

# The tee sha-1 which you are searching for its parent
treeish=<your tree sha-1>

# The name of the branch to search in
branch=<branch names>

# loop over all the commits in the given branch
git rev-list $branch |

    # search the commits 
    while read commit_id; do
        if git ls-tree -d -r --full-tree $sha_id | grep $branch; 
           then echo " -- found at $commit_id"
        fi
    done

`` `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...