User Tools

Site Tools


howto:git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:git [2021/12/26 10:59] va7fihowto:git [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Git ====== 
-===== Test Scenarios ===== 
-==== Initial Cloning ==== 
-Summary: ownership is not preserved. 
- 
-  * Create two files in a ''remote'' folder to simulate the wiki install on the server. 
- 
-  * Change their permissions and ownership to match what's on the server:<code bash> 
-~/gittest/remote$ ls -l 
- 
-total 24 
--rwxrwx--- 1 ptruchon www-data 26 Dec 26 10:20 file1.txt 
--rwxrwx--- 1 ptruchon www-data 26 Dec 26 10:20 file2.txt 
-</code> 
- 
-  * Initialize git:<code bash> 
-git init 
-git add . 
-git commit -m 'initial commit on remote' 
-git log 
- 
-commit 0e5ccdedd1c9188996aadad3a8e2be5a319ab789 (HEAD -> master) 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:21:24 2021 -0800 
- 
-    initial commit on remote 
-</code> 
- 
-  * Create a local folder and clone from remote:<code bash> 
-git clone ~/gittest/remote/ ~/gittest/local/ 
-</code> 
- 
-  * The log on the local copy looks good:<code bash> 
-~/gittest/local$ git log 
- 
-commit 0e5ccdedd1c9188996aadad3a8e2be5a319ab789 (HEAD -> master, origin/master, origin/HEAD) 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:21:24 2021 -0800 
- 
-    initial commit on remote 
-</code> 
- 
-  * But the ''www-data'' group ownership wasn't preserved:<code bash> 
-~/gittest/local$ ls -l 
- 
-total 24 
--rwxrwxr-x 1 ptruchon ptruchon 26 Dec 26 10:24 file1.txt 
--rwxrwxr-x 1 ptruchon ptruchon 26 Dec 26 10:24 file2.txt 
-</code> 
- 
-  * Change the group back to ''www-data'':<code bash> 
-sudo chgrp www-data * 
-ls -l 
- 
-total 24 
--rwxrwxr-x 1 ptruchon www-data 26 Dec 26 10:24 file1.txt 
--rwxrwxr-x 1 ptruchon www-data 26 Dec 26 10:24 file2.txt 
-</code> 
- 
-==== Making Local Changes ==== 
-Summary: no issues here. 
- 
-  * Edit ''file1.txt'' from the local directory.<code bash> 
-~/gittest/local$ git status 
- 
-On branch master 
-Your branch is up to date with 'origin/master'. 
- 
-Changes not staged for commit: 
-  (use "git add <file>..." to update what will be committed) 
-  (use "git restore <file>..." to discard changes in working directory) 
- modified:   file1.txt 
- 
-no changes added to commit (use "git add" and/or "git commit -a") 
-</code> 
- 
-  * Commit changes in git:<code bash> 
-git add . 
-git commit -m 'changed file1.txt from local' 
-git status 
- 
-On branch master 
-Your branch is ahead of 'origin/master' by 1 commit. 
-  (use "git push" to publish your local commits) 
- 
-nothing to commit, working tree clean 
- 
-git log 
- 
-commit b7d91058fed9fe64c96525a3d0bef56c682ade68 (HEAD -> master) 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:45:41 2021 -0800 
- 
-    changed file1.txt from local 
- 
-commit 0e5ccdedd1c9188996aadad3a8e2be5a319ab789 (origin/master, origin/HEAD) 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:21:24 2021 -0800 
- 
-    initial commit on remote 
-</code> 
- 
-==== Push Changes to Remote ==== 
-Summary:  Need to checkout a different branch on remote first and permissions are not preserved. 
- 
-  * Try to push changes to remote while master is still checked out on remote:<code bash> 
-~/gittest/local$ git push origin master 
- 
-Enumerating objects: 5, done. 
-Counting objects: 100% (5/5), done. 
-Delta compression using up to 4 threads 
-Compressing objects: 100% (3/3), done. 
-Writing objects: 100% (3/3), 329 bytes | 329.00 KiB/s, done. 
-Total 3 (delta 0), reused 0 (delta 0) 
-remote: error: refusing to update checked out branch: refs/heads/master 
-remote: error: By default, updating the current branch in a non-bare repository 
-remote: is denied, because it will make the index and work tree inconsistent 
-remote: with what you pushed, and will require 'git reset --hard' to match 
-remote: the work tree to HEAD. 
-remote:  
-remote: You can set the 'receive.denyCurrentBranch' configuration variable 
-remote: to 'ignore' or 'warn' in the remote repository to allow pushing into 
-remote: its current branch; however, this is not recommended unless you 
-remote: arranged to update its work tree to match what you pushed in some 
-remote: other way. 
-remote:  
-remote: To squelch this message and still keep the default behaviour, set 
-remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 
-To /home/ptruchon/gittest/remote/ 
- ! [remote rejected] master -> master (branch is currently checked out) 
-error: failed to push some refs to '/home/ptruchon/gittest/remote/' 
-</code> 
- 
-  * Checkout a temporary branch from remote:<code bash> 
-~/gittest/remote$ git checkout -b tmp 
- 
-Switched to a new branch 'tmp' 
-</code> 
- 
-  * Push changes to remote while tmp is checked out on remote:<code bash> 
-~/gittest/local$ git push origin master 
- 
-Enumerating objects: 5, done. 
-Counting objects: 100% (5/5), done. 
-Delta compression using up to 4 threads 
-Compressing objects: 100% (3/3), done. 
-Writing objects: 100% (3/3), 329 bytes | 329.00 KiB/s, done. 
-Total 3 (delta 0), reused 0 (delta 0) 
-To /home/ptruchon/gittest/remote/ 
-   0e5ccde..b7d9105  master -> master 
-</code> 
- 
-  * Check status and log from local:<code bash> 
-~/gittest/local$ git status 
- 
-On branch master 
-Your branch is up to date with 'origin/master'. 
- 
-nothing to commit, working tree clean 
- 
-~/gittest/local$ git log 
- 
-commit b7d91058fed9fe64c96525a3d0bef56c682ade68 (HEAD -> master, origin/master, origin/HEAD) 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:45:41 2021 -0800 
- 
-    changed file1.txt from local 
- 
-commit 0e5ccdedd1c9188996aadad3a8e2be5a319ab789 
-Author: Patrick Truchon <patoo@rbox.me> 
-Date:   Sun Dec 26 10:21:24 2021 -0800 
- 
-    initial commit on remote 
-</code> 
  
howto/git.1640545172.txt.gz · Last modified: by va7fi