Git Tips
Revision as of 11:28, 20 August 2012 by imported>Brjohnson6
Outline
Location of DataPro on GitHub
To download Git
To use Git from Aptana Studio 3
To install Git Bash for Windows
Some useful Git Bash commands
To deal with creating keys and using them with GitHub
Bob's Git Command Notes
Git CheatSheet
Additional Git commands
Warning
Create repository
Awesome conceptual Git website
To upload new project to GITHUB from Aptana Studio 3
Location of DataPro on GitHub: [https://github.com/frankohanlon/DataPro] To download Git: [http://git-scm.com/downloads] To use Git from Aptana Studio 3: First (from Mozilla Firefox, not IE) install Aptana Studio 3: http://www.aptana.com/products/studio3/download Note that after installing Aptana Studio 3, it will have to be configured to use Pydev: a) Under the windows menu in Aptana Studio, select preferences then select the python interpreter. b) Under the windows menu in Aptana Studio, select Open Perspective, then other, then pyDev c) Keys will have to be created in the Git Bash window. d) From the GitBash window, git init will need to be run from the desired workspace directory e) also some git configuring will be required from the Git Bash window: git config --global user.email "me@here.com" f) git config --global user.name "Your Name Comes Here" g) Also numPy will need to be installed from: http://sourceforge.net/projects/numpy/files/NumPy/ To work on and download existing project from GitHub: right-click on the PyDev Package Explorer, select the “Import” option, and in the “URI” box that pops up, paste the DataPro from GitHub link: git@github.com:frankohanlon/DataPro.git (the other box should automatically fill up with corresponding text) To use/locate git commands from Aptana Studio 3: Right-click on the project, select Team and then the appropriate Git command. To install Git Bash for Windows: http://msysgit.github.com/ Once Git Bash is installed, the default editor can be changed to notepad: $ git config --global core.editor notepad Some useful Git Bash commands: $explorer . opens current directory folder from windows explorer $explorer~ opens home directory folder from windows explorer $pwd location of present working directory $cd .. up a directory $./ name.bat (runs a batch file named “name.bat”) $vim name_of_file Opens up the vim editor (type escape, then :wq to get out of the vim editor) $cat name_of_file lists contents of file $cat name_of_file|more list contents of file page by page $touch name_of_file creates a new empty file named name_of_file $git --version indicates the version of git To deal with creating keys and using them with GitHub: https://help.github.com/articles/generating-ssh-keys Hint: just press return when asked: Enter file in which to save the key: Enter passphrase (empty for no passphrase): Bob's Git Command Notes: $git status $git commit -a //This only adds and commits modified files, not the new ones $git push git@github.com:frankohanlon/DataPro-for-Windows master $git push git@github.com:frankohanlon/DataPro master $diff DataPro/datapro.py DataPro/datapro.py $git remote add origin git@github.com:frankohanlon/DataPro_Sample_Files.git $git push git@github.com:frankohanlon/DataPro_Sample_Files.git Git CheatSheet: Click between the narrow vertical lines to see what commands are available from state to state. http://ndpsoftware.com/git-cheatsheet.html Additional Git commands: $gitk Visualize branch history, commits $git diff between working directory $git diff --cached between added and previous commit $git add filename $git add filename1 filename2 $git commit -m 'some silly message' -m stands for message $git log $git pull [remote name] merges what is pulled in $git fetch [remote name] does not merge what is fetched. The following will NOT work with Github: $git clone git://github.com:bryanj007/NewTutorial.git creates NewTutorial folder in the current directory with files in it from GitHub $git clone git://github.com:bryanj007/NewTutorial.git funky creates funky folder in the current directory with files in it from GitHub NewTutorial project Solution to clone issue: $git clone git@github.com:bryanj007/NewTutorial.git creates NewTutorial folder in the current directory with files in it from GitHub If accidentally use git protocol, will need to change URL of origin: git remote set-url origin git@github.com:my_user_name/my_repo.git OR since git protocol not supported in GITHUB: in .git/config file: can make the following change: before: [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git://github.com/my_user_name/my_repo.git after: [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@github.com:my_user_name/my_repo.git Warning: It's somewhat difficult to remove files and folders from repository once posted to GITHUB Nevertheless, here's how to do it: https://help.github.com/articles/remove-sensitive-data Create repository: mkdir [project] cd [project] git init //This creates a .git directory in the project folder Awesome conceptual Git website: http://www.sbf5.com/~cduan/technical/git/git-1.shtml What is in a commit object? It has a pointer to the parent commit Contains a set of files, reflecting project's state at a given time. Contains a 40-character SHA1 name Additional Possible Aptana Studio 3 Problem: To upload new project to GITHUB from Aptana Studio 3: The following directions modify/are from: https://aptanastudio.tenderapp.com/discussions/questions/1219-aptana-and-github Basically, you follow this process: 1)Create a new project 2) Right-click on project..."Team > Share Project". Commit your local contents to that repo 3) Create a new Github repo 4)From Aptana studio, right-click "Add remote" and paste in the URL of your project (Team-> Remotes-->Add Remote) This creates origin in GitHub I think. 4.5) git status 4.75) git add src/ 5) You have to follow up with one manual step ATM. Type "git push -u origin master" in the console for the project 6) You can now push your files up to Github. Between steps 5 and 6: I once had a weird error..The error message was something like this: error: src refspec master does not match any. error: failed to push some refs to 'git@github ... .git' and it was solved by executing the following commands: $ touch README $ git add README $ git add (all other files) $ git commit -m 'reinitialized files' $ git push origin master --force