Difference between revisions of "GIT client"

(Ignore files in GIT)
Line 36: Line 36:
  
 
Run the following commands a '''standard user''', not root!
 
Run the following commands a '''standard user''', not root!
 +
 +
==GLOBAL configuration==
 +
 +
To apply settings for *every* projects:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 43: Line 47:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
 +
==Repository configuration==
 +
 +
To apply settings for particular repository (recommended)
 +
 +
<syntaxhighlight lang="bash">
 +
# settings will be saved in ~/.git-credentials
 +
$ git config credential.helper store
 +
 +
# adjust for each repostiory
 +
$ git push http://example.com/repo.git
 +
Username: <type your username>
 +
Password: <type your password>
 +
 +
[several days later]
 +
$ git push http://example.com/repo.git
 +
[your credentials are used automatically]
 +
</synataxhighlight>
 +
 +
 +
source: https://git-scm.com/docs/git-credential-store
  
  

Revision as of 15:36, 22 November 2017


References



Installation

apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
apt-get install git git-doc git-gui


If you want to use GIT as your local SVN client:

apt-get install git-svn


If you want to browse the GIT repository in a local browser:

apt-get install gitweb


Configuration

Run the following commands a standard user, not root!

GLOBAL configuration

To apply settings for *every* projects:

git config --global user.name "guillaume.diaz"
git config --global user.email johndoe@example.com
git config --global core.editor vim


Repository configuration

To apply settings for particular repository (recommended)

# settings will be saved in ~/.git-credentials
$ git config credential.helper store

# adjust for each repostiory
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]
</synataxhighlight>


source: https://git-scm.com/docs/git-credential-store


=Register SSH key=

If you'd like to register a SSH key to use with GIT, see the excellent GitHub documentation: https://help.github.com/articles/generating-ssh-keys/ 



=Get project files=

Run the following commands a '''standard user''', not root!


* Clone an existing project
<syntaxhighlight lang="bash">
git clone [url] [targetFolder]

Note that you can use HTTPS, SSH or SVN URLs.


  • Perform operation using Git GUI
cd [my GIT repo]
git gui


Update files

  • Check files status
git status


  • Update files on local HEAD
git pull


Commit files

  • Add file
git add [file]


  • Commit
git commit -m "my comment"


  • Send changes to the server
git push


Ignore files in GIT

For a complete list of files see: https://github.com/github/gitignore

Here is my .gitignore file.


Create a file called .gitignore to the root of your GIT repo.

cd [my GIT repo]
vim .gitignore


Insert the following code:

## generic files to ignore
*~
*.lock
*.DS_Store
*.swp
*.out
*.tmp
*.temp
build/

#java specific
*.class
target/

#maven
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties

#netbeans ignore personal stuff 
nbproject/private/

#eclipse specifics
settings/
.project
.classpath
.checkstyle

#intelliJ
.idea/

#gradle
.gradle/
gradle-app.setting


You can find more example on https://github.com/github/gitignore