Отправить запрос на перенос на GitHub только для последней фиксации

Вот пример в C на Linux. Это - то, если, Вы находитесь на Linux и не возражаете вносить свою лепту в ANSI C.

#include <dirent.h>

DIR *dpdf;
struct dirent *epdf;

dpdf = opendir("./");
if (dpdf != NULL){
   while (epdf = readdir(dpdf)){
      printf("Filename: %s",epdf->d_name);
      // std::cout << epdf->d_name << std::endl;
   }
}
closedir(dpdf);
273
задан random 19 April 2012 в 15:35
поделиться

1 ответ

Основываясь на ответе @ kevin-hakanson, я написал этот небольшой сценарий bash, чтобы упростить этот процесс. Он добавит репозиторий в восходящем потоке, если он еще не существует (запрашивая у вас URL), а затем запросит имя новой создаваемой ветви и тег / SHA для фиксации вишни, выбранной для этой ветви. Он проверяет, в какой ветке или коммите вы находитесь, а затем сохраняет все изменения, чтобы вы могли проверить новую ветку. Стратегия слияния сохраняет изменения от вишневого коммита. После нажатия новой ветви на origin (предполагается, что это имя вашего удаленного репо), ветка или фиксация, на которой вы были до этого, снова извлекается, и ваши предыдущие изменения извлекаются из тайника.

if ! git remote | grep -q upstream; then
    read -p "Upstream git repo URL: " upstream
    git remote add upstream $upstream
    git remote update
fi

read -p "Feature branch name: " feature_branch
# note: giving "master" is the same as giving the SHA it points to
read -p "SHA of commit to put on branch: " sha

current_branch=$(git rev-parse --abbrev-ref HEAD)
if [ "$current_branch" == "HEAD" ]; then
    # detached HEAD; just get the commit SHA
    current_branch=$(git rev-parse --short HEAD)
fi
git stash
git checkout -b $feature_branch upstream/master
git cherry-pick --strategy=recursive -X theirs $sha
git push origin $feature_branch
git checkout $current_branch
git stash pop

(Это сработало для меня в нескольких простых тестах, но я не программист bash или git-эксперт, поэтому дайте мне знать, если есть пропущенные мной случаи, которые можно было бы автоматизировать лучше!)

0
ответ дан 23 November 2019 в 02:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: