Difference between revisions of "Git"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(→‎Commands: "git add" is what "stages" things)
 
(22 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
[[thing type::software]]
 
[[thing type::software]]
 
[[license::open source]]
 
[[license::open source]]
</hide>
+
</hide>__NOTOC__
 
==About==
 
==About==
[[Git]] is a [[version control system]] based on a powerful distributed model.{{seed}}
+
[[Git]] is a [[version control system]] based on a powerful distributed model.
==Rules==
+
===Pages===
You can't {{l/sub|push}} to a repository that has been edited elsewhere; you have to {{l/sub|pull}} first, which updates (synchronizes) your local repository from the remote (does not ''remove'' any files, but may modify files if the same files have been updated on the remote). Once your local is synchronized with the remote, you can then push it back up.
+
* '''[[/cmd|commands]]'''
==Commands==
+
* '''concepts''':
{|
+
** [[/squash]]ing
|-
+
** [[/modules]]
! alphabetical !! by function
+
* [[/notes]]
|-
+
 
| valign=top |
+
===Files===
* '''[[/add|git add]]''' updates the "staged" area using content found in the working tree (can be specified)
+
* {{l/sub|gitignore}}
* '''[[/checkout|git checkout]]'''
 
* '''[[/clone|git clone]]''' copies a repository from somewhere else
 
* '''[[/commit|git commit]]''' commits changes currently staged
 
* '''[[/config|git config]]'''
 
* '''[[/diff|git diff]]''' shows difference between current directory contents and what you have staged
 
* '''[[/fetch|git fetch]]''' fetches named heads or tags from one or more other repositories, along with the objects necessary to complete them.
 
* '''[[/init|git init]]''' initializes a new repository; does not add anything
 
* '''[[/merge|git merge]]'''
 
* '''[[/pull|git pull]]''' incorporates changes from a remote repository into the current branch. In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.
 
* '''[[/push|git push]]''' updates remote refs using local refs, while sending objects necessary to complete the given refs
 
* '''[[/remote|git remote]]''' {{arg|shortname}} {{arg|url}}
 
* '''[[/reset|git reset]]''' resets current HEAD to the specified state
 
* '''[[/rm|git rm]]''' removes files from staging '''and also from the directory'''
 
* '''[[/show|git show]]'''
 
* '''[[/stash|git stash]]''' saves local modifications, reverts the working directory to match HEAD commit
 
* '''[[/status|git status]]''' shows status of current repository
 
* '''[[/tag|git tag]]''' creates an alias for a particular revision
 
| valign=top |
 
===initialization===
 
* '''[[/config|git config]] --global {{arg|param_name}} {{arg|param_value}}'''
 
===creating from scratch===
 
* '''[[/init|git init]]''' initializes a new repository; does not add anything
 
* '''[[/add|git add]]''' updates the index using content found in the working tree (can be specified), to prepare the content staged for the next commit
 
* '''[[/rm|git rm]]''' removes files from staging '''and also from the directory'''
 
* '''[[/status|git status]]''' shows status of current repository
 
* '''[[/diff|git diff]]''' shows difference between current directory contents and what you have staged
 
* '''[[/commit|git commit]]''' commits changes currently staged
 
===copying to elsewhere===
 
* '''[[/remote|git remote]] add'''
 
* '''[[/push|git push]]'''
 
===copying from elsewhere===
 
* '''[[/clone|git clone]]''' copies a repository from somewhere else
 
|}
 
 
===Software===
 
===Software===
* GUI clients:
+
* '''3rd-party''':
** [[gitk]]: generally distributed with git
+
** [https://git-scm.com/downloads/guis GUI clients]:
** [[git-cola]]
+
*** [[gitk]]: generally distributed with git
===Services===
+
*** [[git-cola]]
* [[GitHub]]: free web-based git repository for open-source projects
+
* '''internals/technical''':
 +
** [https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols 10.6 Git Internals - Transfer Protocols]: could be used to implement a Git server
 +
* '''services''' - free/open source web-based repository/project managers:
 +
** [[Gitea]]
 +
** [[GitHub]] is unfortunately owned by [[Microsoft]]
 +
** [[GitLab]]
 
===Error Messages===
 
===Error Messages===
 
* '''Error Code 403 fatal: HTTP request failed''' may indicate a bad password. I've found that sometimes the password either doesn't paste properly or else isn't being accepted the first time; trying again with the same password may work. (The password is not displayed, so I'm not sure which it is.)
 
* '''Error Code 403 fatal: HTTP request failed''' may indicate a bad password. I've found that sometimes the password either doesn't paste properly or else isn't being accepted the first time; trying again with the same password may work. (The password is not displayed, so I'm not sure which it is.)
 
 
==Links==
 
==Links==
 
===Reference===
 
===Reference===
 
* {{wikipedia|Git (software)}}
 
* {{wikipedia|Git (software)}}
 
* {{l/manpage|git|manpage}}
 
* {{l/manpage|git|manpage}}
 +
===How To===
 +
* [[/color prompt]]: show Git status in the prompt, in colors
 +
* [https://ohshitgit.com/ Oh Shit, Git!?!]: solutions to frequently encountered situations in Git
 +
* [https://www.git-tower.com/learn/git/faq/git-rename-master-to-main/ How to Rename the <code>master</code> branch to <code>main</code> in Git]: the [[GitHub]] portion of this is also doable in [[GitLab]], though the process is slightly different.
 +
* Change the default branch-name:
 +
** [https://stackoverflow.com/questions/42871542/how-can-i-create-a-git-repository-with-the-default-branch-name-other-than-maste How can I create a Git repository with the default branch name other than "master"?]: This lets you change the default name of the branch that is created for new repositories.
 +
 
===Online Books===
 
===Online Books===
 
* ''[http://git-scm.com/book Pro Git]''
 
* ''[http://git-scm.com/book Pro Git]''
Line 67: Line 45:
 
** [http://git-scm.com/book/en/Getting-Started-Getting-Help 1.6 Getting Started - Getting Help]
 
** [http://git-scm.com/book/en/Getting-Started-Getting-Help 1.6 Getting Started - Getting Help]
 
** [http://git-scm.com/book/en/Git-Basics 2. Git Basics] - "If you can read only one chapter to get going with Git, this is it. This chapter covers every basic command you need to do the vast majority of the things you’ll eventually spend your time doing with Git."
 
** [http://git-scm.com/book/en/Git-Basics 2. Git Basics] - "If you can read only one chapter to get going with Git, this is it. This chapter covers every basic command you need to do the vast majority of the things you’ll eventually spend your time doing with Git."
 +
** [https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server 4.4 Git on the Server - Setting Up the Server]
  
 
===Online Courses===
 
===Online Courses===
 
* [http://www.codeschool.com/courses/try-git Learn to use Git] @ [[Code School]] (free registration required)
 
* [http://www.codeschool.com/courses/try-git Learn to use Git] @ [[Code School]] (free registration required)
 +
===Articles===
 +
* '''2019-03-05''' [https://eliotberriot.com//blog/2019/03/05/building-sotfware-together-with-git/ Building software together with Git]: a non-technical introduction
 
===Discussion===
 
===Discussion===
 
* [http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide beginner's practical guide to Git] @ [[Stack Overflow]]
 
* [http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide beginner's practical guide to Git] @ [[Stack Overflow]]

Latest revision as of 22:15, 8 January 2023

About

Git is a version control system based on a powerful distributed model.

Pages

Files

Software

Error Messages

  • Error Code 403 fatal: HTTP request failed may indicate a bad password. I've found that sometimes the password either doesn't paste properly or else isn't being accepted the first time; trying again with the same password may work. (The password is not displayed, so I'm not sure which it is.)

Links

Reference

How To

Online Books

Online Courses

Articles

Discussion