|
#! /bin/sh |
|
# This script creates the .gitignore and .gitattributes in the current folder. |
|
|
|
touch .gitignore |
|
touch .gitattributes |
|
|
|
echo "Generate-Git: The necessary files has been created" |
|
|
|
#### |
|
# Generate .gitignore |
|
|
|
echo "######################### |
|
# .gitignore file for Xcode4 / OS X Source projects |
|
# |
|
# Version 2.0 |
|
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects |
|
# |
|
# 2013 updates: |
|
# - fixed the broken "save personal Schemes" |
|
# |
|
# NB: if you are storing "built" products, this WILL NOT WORK, |
|
# and you should use a different .gitignore (or none at all) |
|
# This file is for SOURCE projects, where there are many extra |
|
# files that we want to exclude |
|
# |
|
######################### |
|
|
|
##### |
|
# OS X generated files and temporary files that should never be committed |
|
|
|
.DS_Store |
|
.DS_Store? |
|
._* |
|
.Spotlight-V100 |
|
.Trashes |
|
Icon? |
|
ehthumbs.db |
|
Thumbs.db |
|
*.swp |
|
*.lock |
|
profile |
|
|
|
|
|
#### |
|
# Xcode temporary files that should never be committed |
|
# |
|
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this... |
|
|
|
*~.nib |
|
|
|
|
|
#### |
|
# Xcode build files - |
|
# |
|
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData" |
|
|
|
DerivedData/ |
|
|
|
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" |
|
|
|
build/ |
|
|
|
|
|
##### |
|
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) |
|
# |
|
# This is complicated: |
|
# |
|
# SOMETIMES you need to put this file in version control. |
|
# Apple designed it poorly - if you use "custom executables", they are |
|
# saved in this file. |
|
# 99% of projects do NOT use those, so they do NOT want to version control this file. |
|
# ..but if you're in the 1%, comment out the line "*.pbxuser" |
|
|
|
*.pbxuser |
|
*.mode1 |
|
*.mode1v3 |
|
*.mode2v3 |
|
*.perspectivev3 |
|
# NB: also, whitelist the default ones, some projects need to use these |
|
!default.pbxuser |
|
!default.mode1 |
|
!default.mode1v3 |
|
!default.mode2v3 |
|
!default.perspectivev3 |
|
|
|
|
|
#### |
|
# Xcode 4 - semi-personal settings |
|
# |
|
# |
|
# OPTION 1: --------------------------------- |
|
# throw away ALL personal settings (including custom schemes! |
|
# - unless they are "shared") |
|
# |
|
# NB: this is exclusive with OPTION 2 below |
|
|
|
xcuserdata |
|
|
|
# OPTION 2: --------------------------------- |
|
# get rid of ALL personal settings, but KEEP SOME OF THEM |
|
# - NB: you must manually uncomment the bits you want to keep |
|
# |
|
# NB: this is exclusive with OPTION 1 above |
|
# |
|
#xcuserdata/**/* |
|
|
|
# (requires option 2 above): Personal Schemes |
|
# |
|
#!xcuserdata/**/xcschemes/* |
|
|
|
#### |
|
# XCode 4 workspaces - more detailed |
|
# |
|
# Workspaces are important! They are a core feature of Xcode - don't exclude them :) |
|
# |
|
# Workspace layout is quite spammy. For reference: |
|
# |
|
# /(root)/ |
|
# /(project-name).xcodeproj/ |
|
# project.pbxproj |
|
# /project.xcworkspace/ |
|
# contents.xcworkspacedata |
|
# /xcuserdata/ |
|
# /(your name)/xcuserdatad/ |
|
# UserInterfaceState.xcuserstate |
|
# /xcsshareddata/ |
|
# /xcschemes/ |
|
# (shared scheme name).xcscheme |
|
# /xcuserdata/ |
|
# /(your name)/xcuserdatad/ |
|
# (private scheme).xcscheme |
|
# xcschememanagement.plist |
|
# |
|
# |
|
|
|
#### |
|
# Xcode 4 - Deprecated classes |
|
# |
|
# Allegedly, if you manually "deprecate" your classes, they get moved here. |
|
# |
|
# We're using source-control, so this is a "feature" that we do not want! |
|
|
|
*.moved-aside |
|
|
|
#### |
|
# Cocoapods: cocoapods.org |
|
# |
|
# Ignoring these files means that whoever uses the code will first have to run: |
|
# pod install |
|
# in the App.xcodeproj directory. |
|
# This ensures the latest dependencies are used. |
|
Pods/ |
|
Podfile.lock |
|
|
|
#### |
|
# Generated files |
|
|
|
VersionX-revision.h |
|
|
|
#### |
|
# build products |
|
|
|
build/ |
|
*.[oa] |
|
|
|
#### |
|
# Source Controls (Git, Mercurial, Subversion) |
|
# Other source repository archive directories (protects when importing) |
|
|
|
.hg |
|
.svn |
|
CVS |
|
|
|
#### |
|
# automatic backup files |
|
|
|
*~.nib |
|
*.swp |
|
*~ |
|
*(Autosaved).rtfd/ |
|
Backup[ ]of[ ]*.pages/ |
|
Backup[ ]of[ ]*.key/ |
|
Backup[ ]of[ ]*.numbers/" >> .gitignore |
|
|
|
|
|
echo "*.pbxproj -crlf -diff -merge" >> .gitattributes |
|
|
|
#### |
|
# After creating the files, we'll make sure that the cache has been removed |
|
|
|
git rm -r --cached . |
|
|
|
# then add everything from the index |
|
|
|
git add . |
|
|
|
# commit the changes |
|
|
|
read -p 'Enter commit message : ' commitMessage |
|
git commit -m "$commitMessage" |