<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 9, 2024, 9:26 AM Petar Petrov <<a href="mailto:slackalaxy@gmail.com" target="_blank" rel="noreferrer">slackalaxy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">>And then on github I simply make a pull request<br>
how do you "simply make a pull request"?<br>
<br>
-p<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I'm a relative git and GitHub newb, but here's what I did to start working with GitHub. (For those who are far more knowledgeable than me, if there are improvements to be made, please let me know.) I'm sure GitLab is similar, but they have slight variations in terminology.</div><div dir="auto"><br></div><div dir="auto">This is aimed at other git/GitHub newbs... if you aren't one, I apologize.</div><div dir="auto"></div><div dir="auto"><br></div><div dir="auto">To get started, do the following:</div><div dir="auto"><br></div><div dir="auto">1. Fork SBo's GitHub repo through the GitHub interface (you need to have a GitHub account and be logged into it to fork).</div><div dir="auto">2. Clone your newly forked repo onto your computer.</div><div dir="auto">  git clone $your_new_repo_address</div><div dir="auto">3. Set SBo's GitHub as upstream to make getting public updates easier.</div><div dir="auto">  git remote add upstream git://<a href="http://github.com/SlackBuildsOrg/slackbuilds.git" target="_blank" rel="noreferrer">github.com/SlackBuildsOrg/slackbuilds.git</a></div><div dir="auto"><br></div><div dir="auto">If you've never used git on your computer to make commits before, you'll need to tell git who you are so it can know who to attribute your commits to:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">  git config --global user.email "<a href="mailto:you@example.com">you@example.com</a>"</div><div dir="auto">  git config --global <a href="http://user.name">user.name</a> "Your Name"</div></div><div dir="auto"><br></div><div dir="auto">Now you're ready to start updating on your local computer.</div><div dir="auto"><br></div><div dir="auto">1. Create a new branch for the package you're updating and switch to that branch. Typically this will be the package name that you're updating, but naming schemes are more for you than anything. The name of the branch won't affect the SBo admins reviewing your pull request.</div><div dir="auto">  git checkout -B $branch_name</div><div dir="auto">2. Make the changes to the files and verify everything works. This may require moving those files to a clean VM to verify they build properly in a clean environment.</div><div dir="auto">3. Commit those changes to that branch on your local repo:</div><div dir="auto">  git commit -m "network/discord: Update version to 1.2.3" location/to/changes</div><div dir="auto">(If there are multiple package changes due to dependency bumps or similar, do an individual commit for each package.)</div><div dir="auto">4. Once all commits are complete that apply to your update, push those commits to your GitHub repo, forcing GitHub to create a new remote branch (since it only exists locally):</div><div dir="auto">  git push -f origin $branch_name</div><div dir="auto">5. Git will provide a link in the output you can visit to submit the pull request (PR) or you can just browse to your GitHub repo and you can submit the PR yourself (if the push was recent, it'll list the option at the top of the nation page, otherwise you can go into the branches area and can submit it that way.</div><div dir="auto">6. Explain your changes, if necessary, when submitting the PR back to SBo's repo.</div><div dir="auto"><br></div><div dir="auto">Then it's just a matter of waiting for SBo admins to review your submission. If changes are needed, they'll suggest them. Once the changes are accepted, you can delete the branch on your repo online and on your local repo:</div><div dir="auto">  git checkout master  # first make sure you're on your master branch</div><div dir="auto">  git branch -D $branch_name</div><div dir="auto"><br></div><div dir="auto">Once a public update is released, you can then update your local copy on the master branch using:</div><div dir="auto">  git checkout master</div><div dir="auto">  git pull upstream master</div><div dir="auto"><br></div><div dir="auto">From here, you can then create a new branch again to make more changes, commit them, push them back to GitHub, and submit a new PR.</div><div dir="auto"><br></div><div dir="auto">Always commit changes into a separate branch. If you commit changes to master, it'll give you problems when trying to sync with upstream after public updates.</div><div dir="auto"><br></div><div dir="auto">Hopefully this all makes sense. If there are any suggestions others have that might improve this, feel free to add them.</div><div dir="auto"><br></div><div dir="auto">Jeremy</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>