Как запушить изменения в gitlab
Перейти к содержимому

Как запушить изменения в gitlab

  • автор:

2.5 Основы Git — Работа с удалёнными репозиториями

Для того, чтобы внести вклад в какой-либо Git-проект, вам необходимо уметь работать с удалёнными репозиториями. Удалённые репозитории представляют собой версии вашего проекта, сохранённые в интернете или ещё где-то в сети. У вас может быть несколько удалённых репозиториев, каждый из которых может быть доступен для чтения или для чтения-записи. Взаимодействие с другими пользователями предполагает управление удалёнными репозиториями, а также отправку и получение данных из них. Управление репозиториями включает в себя как умение добавлять новые, так и умение удалять устаревшие репозитории, а также умение управлять различными удалёнными ветками, объявлять их отслеживаемыми или нет и так далее. В данном разделе мы рассмотрим некоторые из этих навыков.

Вполне возможно, что удалённый репозиторий будет находиться на том же компьютере, на котором работаете вы. Слово «удалённый» не означает, что репозиторий обязательно должен быть где-то в сети или Интернет, а значит только — где-то ещё. Работа с таким удалённым репозиторием подразумевает выполнение стандартных операций отправки и получения, как и с любым другим удалённым репозиторием.

Просмотр удалённых репозиториев

Для того, чтобы просмотреть список настроенных удалённых репозиториев, вы можете запустить команду git remote . Она выведет названия доступных удалённых репозиториев. Если вы клонировали репозиторий, то увидите как минимум origin — имя по умолчанию, которое Git даёт серверу, с которого производилось клонирование:

Вы можете также указать ключ -v , чтобы просмотреть адреса для чтения и записи, привязанные к репозиторию:

Если у вас больше одного удалённого репозитория, команда выведет их все. Например, для репозитория с несколькими настроенными удалёнными репозиториями в случае совместной работы нескольких пользователей, вывод команды может выглядеть примерно так:

Это означает, что мы можем легко получить изменения от любого из этих пользователей. Возможно, что некоторые из репозиториев доступны для записи и в них можно отправлять свои изменения, хотя вывод команды не даёт никакой информации о правах доступа.

Обратите внимание на разнообразие протоколов, используемых при указании адреса удалённого репозитория; подробнее мы рассмотрим протоколы в разделе Установка Git на сервер главы 4.

Добавление удалённых репозиториев

В предыдущих разделах мы уже упоминали и приводили примеры добавления удалённых репозиториев, сейчас рассмотрим эту операцию подробнее. Для того, чтобы добавить удалённый репозиторий и присвоить ему имя (shortname), просто выполните команду git remote add <shortname> <url> :

Теперь вместо указания полного пути вы можете использовать pb . Например, если вы хотите получить изменения, которые есть у Пола, но нету у вас, вы можете выполнить команду git fetch pb :

Ветка master из репозитория Пола сейчас доступна вам под именем pb/master . Вы можете слить её с одной из ваших веток или переключить на неё локальную ветку, чтобы просмотреть содержимое ветки Пола. Более подробно работа с ветками рассмотрена в главе Ветвление в Git.

Получение изменений из удалённого репозитория — Fetch и Pull

Как вы только что узнали, для получения данных из удалённых проектов, следует выполнить:

Данная команда связывается с указанным удалённым проектом и забирает все те данные проекта, которых у вас ещё нет. После того как вы выполнили команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент.

Когда вы клонируете репозиторий, команда clone автоматически добавляет этот удалённый репозиторий под именем «origin». Таким образом, git fetch origin извлекает все наработки, отправленные на этот сервер после того, как вы его клонировали (или получили изменения с помощью fetch). Важно отметить, что команда git fetch забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы.

Если ветка настроена на отслеживание удалённой ветки (см. следующий раздел и главу Ветвление в Git чтобы получить больше информации), то вы можете использовать команду git pull чтобы автоматически получить изменения из удалённой ветки и слить их со своей текущей. Этот способ может для вас оказаться более простым или более удобным. К тому же, по умолчанию команда git clone автоматически настраивает вашу локальную ветку master на отслеживание удалённой ветки master на сервере, с которого вы клонировали репозиторий. Название веток может быть другим и зависит от ветки по умолчанию на сервере. Выполнение git pull , как правило, извлекает (fetch) данные с сервера, с которого вы изначально клонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете.

Начиная с версии 2.27, команда git pull выдаёт предупреждение, если настройка pull.rebase не установлена. Git будет выводить это предупреждение каждый раз пока настройка не будет установлена.

Если хотите использовать поведение Git по умолчанию (простое смещение вперёд если возможно — иначе создание коммита слияния): git config —global pull.rebase «false»

Если хотите использовать перебазирование при получении изменений: git config —global pull.rebase «true»

Отправка изменений в удалённый репозиторий (Push)

Когда вы хотите поделиться своими наработками, вам необходимо отправить их в удалённый репозиторий. Команда для этого действия простая: git push <remote-name> <branch-name> . Чтобы отправить вашу ветку master на сервер origin (повторимся, что клонирование обычно настраивает оба этих имени автоматически), вы можете выполнить следующую команду для отправки ваших коммитов:

Эта команда срабатывает только в случае, если вы клонировали с сервера, на котором у вас есть права на запись, и если никто другой с тех пор не выполнял команду push . Если вы и кто-то ещё одновременно клонируете, затем он выполняет команду push , а после него выполнить команду push попытаетесь вы, то ваш push точно будет отклонён. Вам придётся сначала получить изменения и объединить их с вашими и только после этого вам будет позволено выполнить push . Обратитесь к главе Ветвление в Git для более подробного описания, как отправлять изменения на удалённый сервер.

Просмотр удалённого репозитория

Если хотите получить побольше информации об одном из удалённых репозиториев, вы можете использовать команду git remote show <remote> . Выполнив эту команду с некоторым именем, например, origin , вы получите следующий результат:

Она выдаёт URL удалённого репозитория, а также информацию об отслеживаемых ветках. Эта команда любезно сообщает вам, что если вы, находясь на ветке master , выполните git pull , ветка master с удалённого сервера будет автоматически влита в вашу сразу после получения всех необходимых данных. Она также выдаёт список всех полученных ею ссылок.

Это был пример для простой ситуации и вы наверняка встречались с чем-то подобным. Однако, если вы используете Git более интенсивно, вы можете увидеть гораздо большее количество информации от git remote show :

Данная команда показывает какая именно локальная ветка будет отправлена на удалённый сервер по умолчанию при выполнении git push . Она также показывает, каких веток с удалённого сервера у вас ещё нет, какие ветки всё ещё есть у вас, но уже удалены на сервере, и для нескольких веток показано, какие удалённые ветки будут в них влиты при выполнении git pull .

Удаление и переименование удалённых репозиториев

Для переименования удалённого репозитория можно выполнить git remote rename . Например, если вы хотите переименовать pb в paul , вы можете это сделать при помощи git remote rename :

Стоит упомянуть, что это также изменит имена удалённых веток в вашем репозитории. То, к чему вы обращались как pb/master , теперь стало paul/master .

Если по какой-то причине вы хотите удалить удалённый репозиторий — вы сменили сервер или больше не используете определённое зеркало, или кто-то перестал вносить изменения — вы можете использовать git remote rm :

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

【Git, GitLab & GitHub】How to Make a Branch, Commit & Push

Arisa F

Hi there, it’s me, Arisa, a freelance Frontend Developer.

To prevent forgetting, I make a note about how to make a branch, commit and push for mainly GitLab and GitHub.

(I know you see Bitbucket too …cuz I couldn’t find the best image… and I won’t mention this time Bitbucket, sorry!)

For those of you who are very new to Git, GitHub and GitLab, this note could be challenging.

But if you’re already familiar with terminal for Mac users, and have an environment that you’re ready to command with Git but just lost with branch, commit, push etc, this place is something for you.

Always happy to get advice if you know a better way to command!

Alright, let’s get start (:

Things to use this time: GitLab & GitHub

This time, I wanna leave a note for using GitLab and GitHub .

Actually, these names are already super similar.

Honestly, I misunderstood when someone asked me whether I have an account from GitLab as an account for GitHub…

This happens because I didn’t know at that time plus, no account for GitLab.

Anyway, the things I’ll be noting are very similar and both are based on Git.

Then, what’s the difference?

There is a few difference you can take a quick look.

What’s the difference between GitLab & GitHub?

If I describe super short for both difference for basics, GitHub allows you public projects for free and GiLab offers you private projects for free.

And more likely, GitLab is written in Ruby.

Means, open source project could be enough with GitHub.

Also, to show as part of your portfolio for engineers and companies to apply is a popular way in worldwide.

But if you wanna keep your project in private, you might wanna go for GitLab.

GitHub also offers you private projects though you need to pay.

We love free and free of charge is always good (ofc).

And if you’re more Ruby person (I’m Frontend though), some of them prefer using GitLab more.

These are the very quick summary of the difference between GitLab and GitHub.

But if I describe more details differences, GitHub and GitLab have more.

Just another quick look for one more difference, they are different in authentication levels.

In GitLab, you can set and modify people’s permissions according to their role.

You can choose if someone gets a read or write access to a repository.

But in GitLab, you can provide access to the issue tracker without giving a permission to the source code.

So, basically in GitLab, you can work without permissions but you need permissions in GitHub from a project owner.

I’m not gonna write all other small differences though if you’re interested in, this article might help you to know more.

Command sample to make a new branch, commit & push

I share a sample command to show how it flows.

GitLab

Let’s say I wanna make a branch with a name test and have already a project called test-project .

Also, I already have a remote work environment of this project and wanna add a new file README.md .

Means, I have a remote work environment for test-project on my laptop.

I left notes next to each command.

You might guess in GitHub, you just need to switch a URL of your project.

That’s right, you just simply switch a URL of your project to the one in GitHub you wanna push.

GitHub

Then I just switch a project URL to a GitHub one, easy!

Just remember GitHub doesn’t have .git in the end of URL.

Summary

I cut messages you’ll get after typing some commands though it’s because depends on which files and how many of them you commit and push, it looks different.

(Of course, they follow some format but just file names and paths are different.

Plus, sometimes you see deleted too. )

In the begginig is weird that after you command right, boom, you get an innitial commit successfully on your GitLab account or GitHub account.

It’s really embarrassing as a developer but I seriously did not have much experience how Git stuffs work till one of my client but a colleague asked me to command … lol

But once you get used to by trying out and using, in my opinion, you’ll get used to.

I’m still learning many things though hope this helps you too!

And always welcome to have a better way or solution based on what I noted.

How to Push to GitLab

how-to-push-to-gitlab primary img

To get started with GitLab, you'll need to create a repository and push code to it. Here's how to push to GitLab.

How to Create a Project (Repository) in GitLab

Because of their larger potential in GitLab, repositories are called projects. But you can use the words interchangeably because a project behaves the same way as a repository you might find on GitHub.

After creating your account in GitLab, go to your Projects page and click New project.

From the Blank project tab, give the project a name and add a description. If you want it to be a public repository, click the Public option. Make sure the Initialize repository with README option is left unchecked. Then click the Create project button.

How to Push to GitLab

Once a new project is created, it will be blank by default. There are a couple of ways to populate it. You can directly add files online using the Add Files button.

But if you're going to be using GitLab as an online versioning tool, it's best to upload your local project files using the command line. To get started, first install and set up Git on your Linux, Mac, or Windows PC.

Then, open the Terminal (Git Bash on Windows) and navigate to the local folder that you want to sync with your GitLab project. Use the cd command to switch to the folder in question.

Now you can start the Git process with this command:

Now you'll connect the remote GitLab project with your local directory. Use the following command, pasting in your GitLab project URL at the end (make sure it ends in .git ).

git remote add origin <project link>

After you press Enter or Return , you won't see any confirmation. That's because you haven't added or transferred the files to the Git process yet. To add all the files from the current directory to the Git process, use the following command.

Then you can check if all files were added correctly using the following command.

Now you'll make a commit, so you know which files were included when the local directory was first uploaded to the GitLab project. You can add your comment between the quotes at the end of the next command. It can include what changes you made recently to the code and if you added any new files.

git commit -m "first commit"

Now you're ready to actually push the files and code to GitLab. Enter the following command.

git push -u origin master

After you press Enter or Return , you'll be asked to enter your GitLab username and password. Since you've created a private repository, this step makes sure that only the project owner can make changes to the repository.

Once the authentication is done, the upload process will begin. And shortly, you'll see a message saying that the upload is finished.

To check whether all the data was uploaded properly, you can open the project in your browser. Instead of the blank page, you'll now see a list of all the files and folders in the project.

Automate GitLab with Zapier

Zapier lets you connect GitLab to thousands of apps, so you can automate more of your Git processes.

For example, you could automatically get a notification or create a task in your project management tool whenever there's a new merge request in your repo.

How to push the code changes files in gitlab through terminal

I had done commited those changed files but i can’t able to push the code into the gitalb through terminal. Can you please help me. Thank you advance.

2 Answers 2

I hope you have committed the code properly using this command:

Now check your remote whether it points to the repository in the GitLab using :

It may show you something like this if remote is present:

If the remote location of GitLab is not present then add the remote using the command :

git remote add origin your_GitLabs_repository_URL

Again check the remote

Now you are ready to push the repository to the GitLab repoisoty using te command

If you have an Github account already within then project but you want to add the code to Gitlab without losing github remote then

Step-1: Commit the code

Step-2: Go to gitlab and get the remote url for your project

Step-3: Go to your project and start the terminal and then type in the following comnnand

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *