Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
project:git [2016/11/27 14:09]
over23 git workflow - comit, add, push, pull
project:git [2017/08/05 12:09]
over23 [Notes - userful commands, ToDo] notes for git
Line 1: Line 1:
-====== Git HOWTO : https://​github.com/​Labka-cz/​Irssi_scripts ​====== ​+====== Git HOWTO ====== ​
  
 |**Project owner:**| [[user:​overdrive|Overdrive]] | |**Project owner:**| [[user:​overdrive|Overdrive]] |
Line 6: Line 6:
 | **License:​** | [[https://​creativecommons.org/​licenses/​by-sa/​3.0/​|Uveďte původ-Zachovejte licenci CC BY-SA]] ​ | | **License:​** | [[https://​creativecommons.org/​licenses/​by-sa/​3.0/​|Uveďte původ-Zachovejte licenci CC BY-SA]] ​ |
  
-====== Request access to shared repo by email to Over at labka.cz ====== + 
-====== Create project from existing directory ====== +{{ project:​git_data_transport.png}}
-{{ project:​git_data_transport.png }}+
   * https://​help.github.com/​articles/​adding-an-existing-project-to-github-using-the-command-line/​   * https://​help.github.com/​articles/​adding-an-existing-project-to-github-using-the-command-line/​
   * https://​git-scm.com/​book/​cs/​v1/​%C3%9Avod-Prvn%C3%AD-nastaven%C3%AD-syst%C3%A9mu-Git - cz dokumentace ke gitu   * https://​git-scm.com/​book/​cs/​v1/​%C3%9Avod-Prvn%C3%AD-nastaven%C3%AD-syst%C3%A9mu-Git - cz dokumentace ke gitu
 +====== Create project from existing directory ====== 
 +===== Init directory to be used by GIT =====
   # cd ~/directory   # cd ~/directory
   # git init   # git init
   # git add . -A ## add all files in repository   # git add . -A ## add all files in repository
- +===== create local ignore file ===== 
-* in case you want to add dot files +  * in case you want to add dot files 
-  ​## git add -f .gitignore+  # git add -f .gitignore
   ​   ​
-  # git commit -m "First commit"​ ## add first commit with comet to be ready to be uploaded to git[hub] +===== or global ignore file ===== 
-  ## create project directory on GitHub, and copy its link by buton "Clone or download"​ where you can get its URL + 
-  # git remote add origin ​//remote repository URL// +  * If you want to do it globally, you can create a .gitignore file in your home (you can give it other name or location), and use the following command: 
-  # git push -u origin master ## push you commit to remote URL repo+ 
 +   ​git config --global core.excludesfile ~/​.gitignore 
 + 
 +==== example how to exclude all vim tmp files ==== 
 + * inside of .gitignore file you will be 
 + 
 +<​code>​ 
 +# VIM: Temperory files 
 +*~ 
 +# VIM: Swap-files 
 +[._]*.s[a-w][a-z] 
 +[._]s[a-w][a-z] 
 +# VIM: Commands :cs, :ctags 
 +tags 
 +cscope.* 
 +# VIM session 
 +Session.vim 
 +# VIM: netrw.vim: Network oriented reading, writing, browsing (eg: ftp scp)  
 +.netrwhist 
 +</​code> ​  
 +===== 1st commit content to GIT =====   
 +  ​# git commit -m "First commit"​ ## add first commit with coment ​to be ready to be uploaded to git[hub] 
 +  # git remote add origin ​[remote repository URL or SSH link] 
 +  # git push -u origin master ## push you commit to remote URL repo, branch master
  
 ====== Evey day use of Git[Hub] ====== ====== Evey day use of Git[Hub] ======
 +===== commit files to git - master =====
 +
   # cd to already inited directory   # cd to already inited directory
   # git add . -a ## or you can add just specific file   # git add . -a ## or you can add just specific file
   # git commit -m "write what is your commit about"   # git commit -m "write what is your commit about"
   # git push   # git push
-  ​ + 
-* when you want to download ​last changes from with changes from repo, to already inited dir+===== get last version of git repo ===== 
   # git pull   # git pull
   ​   ​
-====== Branches ​/ forks ====== +===== Branches ===== 
-* ToDo +Original documentation : https://​git-scm.com/​book/​en/​v2/​Git-Branching-Basic-Branching-and-Merging 
-====== Howto connect GitHub ​to IRC ====== + 
-ToDo +0. you are in master 
-====== Howto create project WebPage directly by GitHub ====== + 
-* ToDo+1. create new branch 
 + 
 +2. switch ​to branch 
 +   # git branch [branch_name] 
 +   # git checkout [branch_name] 
 + 
 +or you can do git `checkout -b [branch_name]` 
 +btw. this will cause head move forward, so `master` branch is behind head 
 + 
 +3. create something and commit it to branch 
 + 
 +   # git commit -a -m '​something changed [branch_name]'​ 
 + 
 +4. you want to return to `master` [so switching from [branch_name] to master_branch] 
 +  ​you cannot switch, if there is something un-commited in actual working dir [you can stash in that case] 
 +  * in this moment complete working directory will change to state as it was before you added changes in [branch_name] - so you are back in state of original master branch 
 +   <​code>​ 
 +   # git checkout master 
 +   </​code>​ 
 +5. you want to create another branch and again commit something there... 
 + 
 +   # git checkout -b [another_branch_from_master] 
 +   ​.... 
 +   # git commit -a -m 'fixed and changed whatever needed'​ 
 + 
 +6. merge [another_branch_from_master] to master 
 + 
 +  # git checkout master 
 +  # git merge [another_branch_from_master] 
 +7. delete not needed branch 
 + 
 +  # git branch -d [another_branch_from_master] 
 +   
 +8. return back to [branch_name] to finish work there and merge it to master which was changed by previous merging with [another_branch_from_master],​ at the end delete not needed branch agai 
 + 
 +   # git checkout [branch_name] 
 +   ​.... 
 +   # git commit -a -m "​another set of changes commit to [branch_name] 
 +   # git checkout master 
 +   # git merge [branch_name] 
 +   # git branch -d [branch_name] 
 +    
 +9. in case of conflicting merge you can use 
 +    
 +   # git status #to see what is up 
 +   # git mergetools 
 +   # git status #to check if everything is fine 
 +   # git commit 
 + 
 +===== Notes - userful commands, ToDo ===== 
 +<​code>​ 
 +git add classes/​system/​linux/​system/​mon.yml -- prida jmenovite soubor 
 +git add -A --stages All 
 +git add . --stages new and modified, without deleted 
 +git add -u --stages modified and deleted, without new 
 +git commit -a -m "​Addition of ext interface to monitoring server node, added system.linux.system.mon"​ 
 +git log --graph 
 +git push origin HEAD:​monitoring 
 + 
 +git checkout .  --zahodi lokalni zmeny - pred add 
 +git reset  -- zahodi zmeni v indexu, taky zahodi nepushnute commity 
 +git clean -f --zahodit untracked soubory - nove soubory, generovane soubory 
 +</​code>​ 
  • project/git.txt
  • Last modified: 2017/11/14 07:36
  • by licho