Intelligent and Interactive Systems

User Tools

Site Tools


collab:git

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
collab:git [2015/11/24 17:14]
c703101
collab:git [2018/09/03 19:35] (current)
Line 1: Line 1:
 ====== Git ====== ​ ====== Git ====== ​
-<​code>​ +
-  Update (15/​03/​2012):​ Port 2222 is depricated. All services run additionally on Port 22 +
-  Update (13/​03/​2012):​ More than 5 wrong authentications yield into a 10 minute ip-address ban +
-</​code>​+
 Git is an extremely powerful and flexible revision control system, and using it effectively requires adherence to conventions. Git is an extremely powerful and flexible revision control system, and using it effectively requires adherence to conventions.
  
Line 9: Line 6:
  
   * A distinct tree / a repository - is maintained for each independent (software, paper, ...) project.   * A distinct tree / a repository - is maintained for each independent (software, paper, ...) project.
-  * For each repository, the mainline (master) tree is hosted on the IIS server.+  * For each repository, the mainline (master) tree is hosted on the git.uibk.ac.at ​server.
   * Contributors develop locally and maintain their own trees, and push (or request to pull) only generally-useful,​ tried-and-proven patch sets into the main tree.   * Contributors develop locally and maintain their own trees, and push (or request to pull) only generally-useful,​ tried-and-proven patch sets into the main tree.
   * Where appropriate,​ multiple external developers can exchange patches among each others before committing to the mainline.   * Where appropriate,​ multiple external developers can exchange patches among each others before committing to the mainline.
Line 23: Line 20:
 Retrieve an %%IIS%% Git tree for you to work on: Retrieve an %%IIS%% Git tree for you to work on:
  
-  git clone ssh://iis.uibk.ac.at/​projects/​git/​PROJECTNAME+  git clone https://git.uibk.ac.at/​iis-XXXX/​PROJECTNAME
   ​   ​
 ''​PROJECTNAME''​ will typically include a path portion. ''​PROJECTNAME''​ will typically include a path portion.
Line 55: Line 52:
  
  
-==== Creating a New Git Project ==== 
- 
-To create your personal Git repository for your own, local use only: 
- 
-  cd PROJECTROOT 
-  git init --shared 
-  git add . 
-  git commit -m "​initial import"​ 
- 
-To create a Git repository on the IIS server: 
- 
-  - Decide on a name and a place for the repository under ''/​projects/​git/''​. It should live inside the appropriate subdirectory (''​papers/'',​ ''​projects/'',​ etc.), and should follow the repository naming conventions. For example, repositories holding published papers should be named by [[:​intranet:​public:​papers#​publication_ids|Publication ID]]. Use ''/​projects/​git/​personal/''​ only for material that is not and will not be useful to the lab. 
-  - [[intranet:​systems:​docs:​git-ssh#​creating_a_shared_git_repository|Initialize]] your new repository on the lab server. 
-  - Inside the newly-created repository directory on the server, edit the ''​description''​ file. This is diplayed e.g. [[:​intranet:​git-repos|here]]. 
-  - [[#​basic_workflow|Clone and populate]] your new repository. 
  
  
Line 93: Line 75:
  
   ​   ​
-==== Moving or Renaming a Git Repository ==== 
- 
-A Git repository does not know its own name or location; it is simply identified by its location in the filesystem. ​ It can be moved or renamed ad libitum. 
- 
-To keep any cloned copies in sync, you have essentially two options: 
- 
-  * Commit and push everything before the move, delete the clone, move the repo on the server, and create a fresh clone. 
- 
-  * Point an existing clone to the updated location: From the root directory of the cloned tree, issue <​html><​pre class="​code">​git remote set-url origin ssh://​iis.uibk.ac.at/​projects/​git/​SUBDIR/​REPONAME</​pre></​html>​ See [[http://​stackoverflow.com/​a/​2432799|here]] and ''​man git-remote''​ for more information. 
  
 ==== Textmode Tool For Git ==== ==== Textmode Tool For Git ====
Line 125: Line 98:
  
  
-==== Ssh Config ====+==== ssh Config ====
  
 You could also create an ssh config file in your home-directory to shorten the git commands: You could also create an ssh config file in your home-directory to shorten the git commands:
collab/git.1448381648.txt.gz · Last modified: 2018/09/03 14:57 (external edit)