Натисніть існуючий проект на Github

У мене є папка з джерелами проекту. Як я можу підштовхнути цей проект до сховища Github?

Я спробував використати такі дії:

  1. I created empty repository on GitHub.
  2. I run git-bash and typed git init, so inside project root appeared .git folder.
  3. I added some files to version control using git add sourcesFolderName
  4. I committed files added in previous step using git commit -m "initial commit"
  5. I specified remote repository using git remote add MyProject
  6. Finally git push, but nothing is pushed to remote repo... (no authorization failure)

Так як я можу підштовхнути існуючі джерела до новоствореного github repo?

173
@ user1615903 Я впевнений, що у мене неправильна послідовність кроків. Я думаю, що мені потрібно щось на зразок git clone . Я не пам'ятаю виведення з git push , але я думаю, що це незначно. Тому що проблема в іншому місці
додано Автор MyTitle, джерело
Цей блог може допомогти кожному, хто хоче виконати це завдання. Всі кроки описані просто і детально.
додано Автор Samitha Chathuranga, джерело
Ви зробили git push MyProject master ?
додано Автор Felix Kling, джерело
Невелика порада, спробуйте використовувати SourceTree app.The UI дуже приємно.
додано Автор Mohammad Fareed, джерело
Що саме було результатом git push ?
додано Автор 1615903, джерело

14 Відповіді

git init
git add .
git commit -m "Initial commit"
git remote add origin 
git push -f origin master

Опція -f у git push примушує натиснути. Якщо ви не використовуєте його, ви побачите таку помилку:

To [email protected]:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to '[email protected]:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
271
додано
Це виправило мою проблему, але я не міг зробити команду 4 git remote add походження <�проект url> кажучи синтаксис команди неправильно . Я проігнорував його, і це спрацювало
додано Автор Khalil Khalaf, джерело
Якщо ви не хочете коли-небудь використовувати сайт GitHub, ви можете додати це після третього кроку: curl -u 'USER' https://api.github.com/user/repos -d '{"name": "REPO"}' , замінюючи USER своїм ім'ям користувача та REPO з ім'ям сховища, який буде створено.
додано Автор MD XF, джерело
Крім того, я вважаю, що ви більше не можете просто робити git add. , ви повинні змінити це на cat "# reponamehere"> README.md , а потім git add README .md . Ось як каже документація GitHub
додано Автор MD XF, джерело
-f в останньому кроці дуже корисно!
додано Автор stt106, джерело

У менш технічних термінах

Моя відповідь не відрізняється, але я додаю більше інформації, тому що ті, які є новими, можуть скористатися заповненням прогалин у інформації.

Після створення репо на github є інструкції. Ви можете слідувати цим. Але ось деякі додаткові поради, тому що я знаю, наскільки це розчарування, щоб почати роботу з git.

Припустимо, що ви вже почали свій проект локально. Скільки ви не маєте значення. Але давайте прикидаємо, що у вас є проект php. Припустимо, що у вас є index.php, contact.php і папка активів із зображеннями, CSS і шрифтами. Ви можете зробити це таким чином (легко), але є багато варіантів:

Варіант 1

Login to your github account and create the repo.

enter image description here

In the following screen you can copy it down where you need it if you click the button (right side of screen) to "clone in desktop".

enter image description here

Ви можете (або зробити це іншим способом), а потім скопіювати вміст з вашого існуючого проекту в новий репо. Використовуючи програму github, ви можете просто скористатися звідти за допомогою графічного інтерфейсу користувача (це означає, що ви просто натискаєте кнопки в програмі). Звичайно, ви вводите нотатки для фіксації.

Варіант 2

  • Створіть репо на github, як згадано вище.
  • На комп'ютері перейдіть до вашого каталогу за допомогою терміналу. за допомогою командного рядка linux вам потрібно cd у каталозі. Тут ви виконуєте наступні команди для "підключення" вашого існуючого проекту до вашого репо на github. (Це припускає, що ви створили репо на github, і воно зараз порожнє)

Спочатку зробіть це для ініціалізації git (контроль версій).

git init

потім зробіть це, щоб додати всі файли, які потрібно "контролювати". Якщо у вас є файли, які потрібно ігнорувати, потрібно додати .gitignore , але для простоти просто використовуйте цей приклад для вивчення.

git add .

Потім ви фіксуєте та додаєте примітку між "" , наприклад "першим вчиненням" тощо.

 git commit -m "Initial Commit"

Тепер, ось де ви додати існуючий репо

git remote add github 

But do not literally type , but your own project URL. How do you get that? Go to the link where your repo is on github, then copy the link. In my case, one of my repos is https://github.com/JGallardo/urbanhistorical so my resulting url fабоthis command would just add .git after that. So here it would be

git remote add github https://github.com/JGallardo/urbanhistorical.git

Перевірте, чи він працював

git remote -v

Ви повинні бачити, з чим пов'язано ваше репо.

enter image description here

Потім ви можете натиснути ваші зміни на github

git push github master

або

git push origin master

If you still get an error, you can force it with -f. But if you are working in a team environment, be careful not to force абоyou could create more problems.

git push -f origin master
90
додано
додайте опцію -f до останньої команди, таким чином ваша відповідь буде найкращою
додано Автор Jacobo Koenig, джерело
Ваше найкраще пояснення. Для інших, хто читав це: я створив свій репозиторій у github спочатку, так що це не дозволить мені підштовхнути. Мені довелося> github pull <�проект url>, а потім github push. Після цього все було добре.
додано Автор philologon, джерело
Це дійсно допомогло! Я випадково ініціалізував github repo з README, тоді він не працював. Я зробив це знову з порожнім репо і він працював.
додано Автор Verena Haunschmid, джерело
Велике спасибі за це! Варіант 1 врятував мені життя після того, як всі інші параметри не вдалося! : D
додано Автор Sara Inés Calderón, джерело
Велике пояснення! Однак я б додав наступні рядки: git remote add походження <�проект url>, а потім git push -f вихідний майстер. Без -f буде помилка
додано Автор Javiar Sandra, джерело

Вам потрібно вказати яку гілку та який віддалений під час натискання:

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github 
➤ git push github master

Буде працювати так, як очікувалося.

Ви можете встановити це за замовчуванням, виконавши:

➤ git branch -u github/master master

який дозволить вам зробити git push з головного пристрою без вказівки віддаленої або гілки.

31
додано
"git add Readme.md" неправильно. Якщо вона вже існувала, не потрібно додавати. Якщо вона не існує, команда не працює. У будь-якому випадку, це не правильно.
додано Автор Mitch, джерело
@Mitch це не таємний магічний виклик, який раптом зробить ваш комп'ютер робити те, що ви хочете. Це приклад, щоб дати людям і уявлення про те, що вони повинні робити. Я очікую, що люди зрозуміють команди, які вони набирають у своїй машині.
додано Автор brice, джерело
Правильно. Ви також можете пропустити частину /master , оскільки вона зайва.
додано Автор Gabriele Petronella, джерело

Якщо ви працюєте на Mac (і це, ймовірно, працює так само на ПК), це дуже простий спосіб зробити це. Як не дивно, я дивився високим і низьким для цього простого процесу і ніколи не знаходив його.

  • Do not do anything on Github (other than having an account, and not having used up all your available repos).
  • Download GitHub for Mac and install. Go through the account setup, etc. Do NOT create any repositories for your existing project.
  • "Add New Local Repository" in repositories.
  • Select your existing folder. It'll ask if you want to do that, say yes.
  • Once done, you'll see a list of all your files, etc. Commit them.
  • Go to Repositories and Publish (this will create the new repo on GitHub for you, if you set up your account properly).
  • Go to Repositories and Push (you'll either see the "nothing to push" thing, or it'll push your files/changes to the newly-auto-made repo).
    • Wonder why you could not find this simple process anywhere else.

Я знаю, що не рекомендується використовувати папку проекту як папку репо. Я роблю це весь час, він завжди працює, він робить його простим, і я ніколи не маю ніяких проблем з ним.

6
додано
Мені здається, якщо GitHub додаток дозволяє користувачеві зробити це таким чином, то він повинен бути штраф.
додано Автор johnnieb, джерело

У резюме;

git init
git status
git add "*"
git commit -m "Comment you want"
git remote add origin  https://link
git push  -u origin master

Я хотів би поділитися з вами джерелом, щоб легше дізнатися про Git.

https://try.github.io/levels/1/challenges/1

3
додано
Follow below gitbash commands to push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git push origin branch)
3
додано

Я буду слідувати за попереднім коментарем з Роуз П. Мені знадобилося багато часу, щоб знайти рішення, тому я повторюю репортаж (сподіваюся, простою англійською), що працювало для мене ...

Крок 1: Створіть нове сховище на Github.com (пропустіть, якщо у вас вже є)

Крок 2: Закрити XCode ... не потрібно

Крок 3: Відкрийте нове вікно Терміналу (так, ви повинні використовувати термінал ... Я намагався всі інші способи ... нічого не працювало)

Крок 4: Використовуйте команду cd , щоб знайти розташування папки для вашого проекту (проект, який потрібно додати до існуючого або нового сховища)

step 5: type git init you'll get something like this. Reinitialized existing Git repository in /{current directory}

Крок 6: введіть git add. після цього кроку нічого не відбувається, але введіть його і перейдіть до наступного кроку.

крок 7: введіть git commit -m "Початкова фіксація" Ви отримаєте наступне: # На гілці master нічого не зробить, робочий каталог чистий

або

деякі пояснення щодо конфігурації, а потім список файлів, які змінилися.

step 8: type git remote add origin {project url} The project url can be found in Github.com. Its the HTTPS clone URL...you should be able to just copy and paste to the terminal window. If the system tell you that origin already exists, create a different name абоuse your project name (something different)

step 9: go to your GitHub application on your mac and click the "Sync Branch" button (even if there are no pending changes). It takes awhile I think fабоit to actually commit, but if you go back to your local repository folder you should see your new project. I had to re-create the parent folder, but it's just a matter of moving your files around. Go to GitHub.com and refresh your browser and your new files should also be there.

Я сподіваюся, що це допоможе.

3
додано
git init

Додайте файли у нове локальне сховище. Це ставить їх для першого фіксації.

git add .

Додає файли до локальних сховищ і виконує їх для фіксації. Для видалення файлу використовуйте 'git reset HEAD YOUR-FILE'.

Передайте файли, які ви розмістили у своєму локальному сховищі.

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

сховище. Щоб видалити цю фіксацію та змінити файл, скористайтеся пунктом 'git reset --soft HEAD ~ 1' і знову додайте файл. Копіюйте поле URL віддаленого репозиторіюУ верхній частині сторінки швидкого налаштування вашого сховища GitHub натисніть, щоб скопіювати URL віддаленого сховища.

У командному рядку додайте URL-адресу для віддаленого сховища, куди буде натиснути локальне сховище.

git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

Перемістіть зміни у вашому локальному сховищі до GitHub.

git push origin master
# Pushes the changes in your local repository up to the remote repository you 

зазначено як походження

2
додано
  1. From command line, navigate to your local repository directory.
  2. Create new repository in GitHub, it will provide you with a link ends with .git.
  3. in cmd run : git remote add origin [your_GitHub_Repository_link] (remember link should end with .git )
  4. then run : git push -u origin master

Сподіваюся, це було корисно.

2
додано

Я знаю, що це старе питання, але я намагаюся пояснити кожен крок, тому це може допомогти іншим. Таким чином я додаю існуюче джерело до git:

  1. Створіть репо на git, так що у вас буде ssh || https, де ви хочете віддалено додати вихідний код.
  2. У вашому терміналі перейти на шлях вашого проекту.
  3. Виконати git init (тут ви ініціюєте проект як git-один).
  4. Виконати git add * (тут ви додаєте всі файли та папки від проекту).
  5. Виконати git commit -m "Початкове виконання". (тут ви фіксуєте ваші файли та папки, додані на кроці 4; зазначте, що ви не можете натискати зміни, не вказуючи їх).
  6. Виконати походження git віддаленого додавання https: //[email protected]/your_username/project-name.git (тут ви додаєте віддалений проект, де ваш джерело буде натиснуто; з вашого ssh || https з кроку # 1).
  7. Виконати основний код з git push -u (тут ви пересуваєте джерело в сховище git).

Note: Those are simple steps for pushing your source into the master branch.

1
додано

Не хочу додавати ще одну відповідь, але мій конкретний сценарій тут зовсім не висвітлений. У мене був локальний репо з історією змін, які я хотів зберегти, і для мене було створено непорожнє репо на Github (тобто за замовчуванням README.md). Так, ви завжди можете повторно створити репо Github як порожній репо, але в моєму випадку хтось має дозвіл на створення цього конкретного репо, і я не хотів його турбувати, якщо було легке рішення.

У цьому випадку виникатиме ця помилка при спробі git push після встановлення віддаленого джерела:

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to '[email protected]:.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Як показує помилка, мені потрібно було зробити git pull після встановлення віддаленого походження, але мені потрібно було вказати параметр --allow-unrelated-histories . Без цього параметра git pull скаржиться на попередження: немає звичайних фіксацій .

Ось точна послідовність команд, які працювали для мене:

git remote add origin 
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push
1
додано
Я маю таку ж проблему, але ваші кроки призводять до деяких дивних текстових редакторів
додано Автор john ktejik, джерело
Ага, я припускаю, що ви зазвичай використовуєте інтерфейс користувача і зазвичай не фіксуєте з командного рядка (нічого поганого в цьому, я використовую інтерфейс SourceTree). Редактор, який з'явився, швидше за все, є редактором vi, інтерфейс якого сам по собі є цілою темою, тому я не буду вникати до нього тут.
додано Автор Jonathan Fischer, джерело

Спочатку створіть нове сховище на Github з назвою проекту. Після цього виконайте наведені нижче дії.

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add origin https://github.com/yuvraj777/GDriveDemo.git
5)git push -u origin master
1
додано
Це не в правильному контексті питання
додано Автор JGallardo, джерело

Створіть нове сховище

git clone 
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Існуюча папка

cd existing_folder
git init
git remote add origin 
git add .
git commit -m "Initial commit"
git push -u origin master

Існуюче сховище Git

cd existing_repo
git remote rename origin old-origin
git remote add origin 
git push -u origin --all
git push -u origin --tags
0
додано
що ж відрізняється між фіксацією і натисканням? що "походження" і "майстер" відносяться до push? філія?
додано Автор ealeon, джерело

Інший варіант, якщо ви хочете піти з командного рядка, це використовувати SourceTree .

Нижче наведено деякі додаткові ресурси щодо налаштування:

0
додано
це конкретно не вирішує проблему, з якою стикається в цьому питанні
додано Автор JGallardo, джерело