This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
github [2022/01/31 17:37] pwolinsk |
github [2022/03/01 19:58] (current) pwolinsk |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Github | + | ===== Git - version control |
- | Github is a popular platform for collaboration and data sharing. | + | ' |
+ | |||
+ | < | ||
+ | git init - specify a directory for version control with git | ||
+ | git add - add a file to a list of file for version control | ||
+ | git commit | ||
+ | git branch | ||
+ | git checkout - switch to the alternate branch (version of files) | ||
+ | git merge - combine two branches into one | ||
+ | git log - show a history of commits (snapshots) | ||
+ | git ls-files - show an index of files in the version control system | ||
+ | </ | ||
+ | |||
+ | |||
+ | The following example shows step by step how to use git to keep track of changes made to your personal project on Pinnacle. | ||
+ | |||
+ | **1.** create a new project directory and initialize its management with git. ('' | ||
+ | |||
+ | < | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | Initialized empty Git repository in / | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **2.** create files in the project directory | ||
+ | |||
+ | < | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | Some text in file1 | ||
+ | pinnacle-l1: | ||
+ | More text in file 2. | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **3.** add new files to the index (list) of files managed with git. ('' | ||
+ | |||
+ | < | ||
+ | pinnacle-l1: | ||
+ | # On branch master | ||
+ | # | ||
+ | # Initial commit | ||
+ | # | ||
+ | # Untracked files: | ||
+ | # (use "git add < | ||
+ | # | ||
+ | # file1 | ||
+ | # file2 | ||
+ | nothing added to commit but untracked files present (use "git add" to track) | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | # On branch master | ||
+ | # | ||
+ | # Initial commit | ||
+ | # | ||
+ | # Changes to be committed: | ||
+ | # (use "git rm --cached < | ||
+ | # | ||
+ | # new file: | ||
+ | # new file: | ||
+ | # | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **4.** create a snapshot of the current state of all files tracked by git in the project directory. ('' | ||
+ | < | ||
+ | pinnacle-l1: | ||
+ | [master (root-commit) d4a8ab1] added initial text to file 1 | ||
+ | 1 file changed, 1 insertion(+) | ||
+ | | ||
+ | pinnacle-l1: | ||
+ | [master cd7ebfa] added initial text to file 2 | ||
+ | 1 file changed, 1 insertion(+) | ||
+ | | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **5.** modify file1 and file2 and create another snapshot of the current version of files. | ||
+ | < | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | [master db1a5f1] added extra lines to file1 and file2 | ||
+ | 2 files changed, 2 insertions(+) | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **6.** review a history of commits. ('' | ||
+ | < | ||
+ | pinnacle-l1: | ||
+ | commit db1a5f1746b635bdbb73ebcc49dc3cf56a8ba2cf | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:47:48 2022 -0600 | ||
+ | |||
+ | added extra lines to file1 and file2 | ||
+ | |||
+ | commit cd7ebfa2e6e67cf4e918be7bbba5c0e79af76036 | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:45:02 2022 -0600 | ||
+ | |||
+ | added initial text to file 2 | ||
+ | |||
+ | commit d4a8ab16fc53ba39b8bdf8f3b40db21681901f2f | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:44:55 2022 -0600 | ||
+ | |||
+ | added initial text to file 1 | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **7.** Revert to a previous version of the files. | ||
+ | < | ||
+ | pinnacle-l1: | ||
+ | Some text in file1 | ||
+ | pinnacle-l1: | ||
+ | More text in file 2. | ||
+ | line 2 again | ||
+ | pinnacle-l1: | ||
+ | Note: checking out ' | ||
+ | |||
+ | You are in ' | ||
+ | changes and commit them, and you can discard any commits you make in this | ||
+ | state without impacting any branches by performing another checkout. | ||
+ | |||
+ | If you want to create a new branch to retain commits you create, you may | ||
+ | do so (now or later) by using -b with the checkout command again. Example: | ||
+ | |||
+ | git checkout -b new_branch_name | ||
+ | |||
+ | HEAD is now at d4a8ab1... added initial text to file 1 | ||
+ | pinnacle-l1: | ||
+ | Some text in file1 | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | **8.** Go back to the latest version of files. ('' | ||
+ | |||
+ | < | ||
+ | pinnacle-l1: | ||
+ | commit db1a5f1746b635bdbb73ebcc49dc3cf56a8ba2cf | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:47:48 2022 -0600 | ||
+ | |||
+ | added extra lines to file1 and file2 | ||
+ | |||
+ | commit cd7ebfa2e6e67cf4e918be7bbba5c0e79af76036 | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:45:02 2022 -0600 | ||
+ | |||
+ | added initial text to file 2 | ||
+ | |||
+ | commit d4a8ab16fc53ba39b8bdf8f3b40db21681901f2f | ||
+ | Author: pwolinsk < | ||
+ | Date: Tue Mar 1 12:44:55 2022 -0600 | ||
+ | |||
+ | added initial text to file 1 | ||
+ | pinnacle-l1: | ||
+ | pinnacle-l1: | ||
+ | Previous HEAD position was d4a8ab1... added initial text to file 1 | ||
+ | HEAD is now at db1a5f1... added extra lines to file1 and file2 | ||
+ | pinnacle-l1: | ||
+ | Some text in file1 | ||
+ | line 2 | ||
+ | pinnacle-l1: | ||
+ | More text in file 2. | ||
+ | line 2 again | ||
+ | pinnacle-l1: | ||
+ | </ | ||
+ | |||
+ | ===== GitHub ===== | ||
+ | |||
+ | Github is a popular platform for collaboration and data sharing. | ||
==== DART-ARP organization ==== | ==== DART-ARP organization ==== | ||
Line 9: | Line 185: | ||
==== Joining DART-ARP ==== | ==== Joining DART-ARP ==== | ||
- | In order to become a member of DART-ARP organization and enable AHPCC/ | + | To become a member of DART-ARP organization and enable AHPCC/ |
- create a personal github account | - create a personal github account | ||
- add the AHPCC account SSH public key to the personal github account | - add the AHPCC account SSH public key to the personal github account | ||
- | - accept and invitation to joing AHPCC-ARP organization | + | - accept and invitation to joing DART-ARP organization |
+ | |||
+ | A user executable script **'' | ||
+ | |||
+ | |||
+ | < | ||
+ | pinnacle-l7: | ||
+ | |||
+ | | ||
+ | |||
+ | If you do not already have an active github.com account, before continuing | ||
+ | with this script please visit: | ||
+ | |||
+ | | ||
+ | |||
+ | Do you have an existing github account? [y/N] y | ||
+ | |||
+ | Please enter you github username: user1 | ||
+ | Please enter your email: user1@uark.edu | ||
+ | |||
+ | Github username: user1 | ||
+ | email: | ||
+ | Is this correct? [y/N] y | ||
+ | Using a browser, please copy and paste your AHPCC SSH public key below into | ||
+ | your github.com account | ||
+ | (Account Profile-> | ||
+ | |||
+ | |||
+ | ssh-rsa AAAAB3NzaC1yc2weiHlqDTaj1nTryFTIagEnMs+d5WhEskL4JFvFo+Er7qwDV8bziQWFuUmFTYZWcuZpyLbWgf9b5oAjlmu7bUd2FIGi2jQDut0wI9Oq8tRdjY5nNNLw9zPY3e/ | ||
+ | |||
+ | |||
+ | Did you add your public SSH key above to your github.com account? [y/N] y | ||
+ | Your github configuration (in / | ||
+ | [user] | ||
+ | name = user1 | ||
+ | email = gh_email | ||
+ | [color] | ||
+ | ui = true | ||
+ | |||
+ | |||
+ | Logging into github... | ||
+ | Please select "SSH, SKIP upload public key, authentication token" below | ||
+ | Then please use a brower to open https:// | ||
+ | |||
+ | ? What is your preferred protocol for Git operations? SSH | ||
+ | ? Upload your SSH public key to your GitHub account? Skip | ||
+ | ? How would you like to authenticate GitHub CLI? Paste an authentication token | ||
+ | Tip: you can generate a Personal Access Token here https:// | ||
+ | The minimum required scopes are ' | ||
+ | ? Paste your authentication token: **************************************** | ||
+ | - gh config set -h github.com git_protocol ssh | ||
+ | ✓ Configured git protocol | ||
+ | ✓ Logged in as user1 | ||
+ | Testing github integration with your AHPCC account... | ||
+ | |||
+ | github.com | ||
+ | ✓ Logged in to github.com as user1 (/ | ||
+ | ✓ Git operations for github.com configured to use ssh protocol. | ||
+ | ✓ Token: ******************* | ||
+ | | ||
+ | Invitation to join DART-ARP github organization has been sent to user1@uark.edu | ||
+ | Please follow the link in the email to join. | ||
+ | pinnacle-l7: | ||
+ | </ | ||