Лучший способ переместить папку проекта в GitHub

#python #shell #github

Вопрос:

У меня есть проект на python, и я пытаюсь написать скрипт для переноса папки проекта в git

Какие шаги следует предпринять

Я пытался https://www.freecodecamp.org/news/automate-project-github-setup-mac/ но, кажется, не могу это исправить

Комментарии:

1. Вы должны объяснить свою конкретную проблему и что вы пробовали

2. Моя проблема состоит в том, чтобы создать скрипт для переноса фактического проекта на github

3. В чем была проблема, с которой вы столкнулись в сценарии этого урока?

4. Кстати, я бы с осторожностью относился к автоматизации отправки материалов на github. Большинство приличных редакторов имеют интеграцию с git, но вы не можете автоматизировать фиксацию: вам придется делать это вручную, иначе это довольно бесполезно. То же самое толкает/тянет/сливается/разветвляется. git push это не так уж сложно сделать, но любое автоматизированное решение будет либо псевдонимом git push , либо должно быть до смешного сложным для обработки всех крайних случаев, когда у вас есть несовместимые изменения

Ответ №1:

Во-первых, вам нужно создать репозиторий в пользовательском интерфейсе Github. После создания репозитория Github предоставит вам URL-адрес этого репозитория. Предполагая, что у вас настроены ключи SSH, вы сможете использовать этот URL-адрес для отправки своих коммитов следующим образом:

В каталоге проекта:

 git init  # initialize a repo; create a .git folder with git internal data
git add file1.py file2.sh file3.js README.md  # choose which files you'd like to upload
git commit -m "Add project files"  # create a commit
git remote add origin "github repo url"
git push  # upload commit to Github
 

Автоматизировать этот «первый толчок» для нескольких проектов относительно легко.
Просто будьте осторожны с тем, какие файлы вы собираетесь добавить. Git не предназначен для версирования двоичных файлов, таких как изображения, PDF-файлы и т. Д.

Комментарии:

1. Могу ли я написать то же самое в скрипте оболочки

2. Конечно. Это все команды bash. Но вам нужно будет создать репозитории с тем же именем, что и папки, в которых они находятся, если вы собираетесь использовать имя папки для параметризации URL-адреса репозитория Github.

3. Совет: если все ваши репозитории имеют один и тот же язык (например, python), добавьте стандартный python gitignore во все эти папки. Тогда вы сможете запускать git add .gitignore ; git add . вместо ручного выбора файлов.

Ответ №2:

Я использую этот код. Предполагая, что у вас настроены ключи SSH.

 import os
from datetime import datetime

current_time = datetime.now().strftime("%H:%M:%S")


os.system("git init")
os.system("git remote rm origin")
os.system("git remote add origin git@github.com:user/repository.git")
os.system('git config --global user.email "email@example.com"')
os.system('git config --global user.name "username"')
os.system("git rm -r --cached .")
os.system("git add .")
git_commit_with_time = f'git commit -m "update:{current_time}"'
os.system(git_commit_with_time)
os.system("git push -f --set-upstream origin master")
 

Вы также можете настроить его в соответствии с вашими пожеланиями.

Вы можете использовать что — то другое вместо current_time того, что указано в фиксации.

Я использую это в течение многих месяцев, и я нашел это лучшим способом. Потому что с тех пор, как я автоматизировал задачу, у меня до сих пор не было никаких проблем.