Git bỏ qua tập tin cho các dự án Xcode


Câu trả lời:


693

Trước đây tôi đã sử dụng câu trả lời được bình chọn hàng đầu, nhưng nó cần một chút dọn dẹp, vì vậy ở đây nó được làm lại cho Xcode 4, với một số cải tiến.

Tôi đã nghiên cứu mọi tệp trong danh sách này, nhưng một vài trong số chúng không tồn tại trong tài liệu Xcode chính thức của Apple, vì vậy tôi phải vào danh sách gửi thư của Apple.

Apple tiếp tục thêm các tệp không có giấy tờ, có khả năng làm hỏng các dự án trực tiếp của chúng tôi. IMHO này không được chấp nhận và hiện tại tôi đã bắt đầu đăng nhập các lỗi đối với nó mỗi lần họ làm như vậy. Tôi biết họ không quan tâm, nhưng có lẽ điều đó sẽ khiến một trong số họ xấu hổ khi đối xử với các nhà phát triển công bằng hơn.


Nếu bạn cần tùy chỉnh, đây là một ý chính bạn có thể rẽ nhánh: https://gist.github.com/3786883


#########################
# .gitignore file for Xcode4 and Xcode5 Source projects
#
# Apple bugs, waiting for Apple to fix/respond:
#
#    15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation?
#
# Version 2.6
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
#
# 2015 updates:
# - Fixed typo in "xccheckout" line - thanks to @lyck for pointing it out!
# - Fixed the .idea optional ignore. Thanks to @hashier for pointing this out
# - Finally added "xccheckout" to the ignore. Apple still refuses to answer support requests about this, but in practice it seems you should ignore it.
# - minor tweaks from Jona and Coeur (slightly more precise xc* filtering/names)
# 2014 updates:
# - appended non-standard items DISABLED by default (uncomment if you use those tools)
# - removed the edit that an SO.com moderator made without bothering to ask me
# - researched CocoaPods .lock more carefully, thanks to Gokhan Celiker
# 2013 updates:
# - fixed the broken "save personal Schemes"
# - added line-by-line explanations for EVERYTHING (some were missing)
#
# 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 temporary files that should never be committed
#
# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.DS_Store

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.Trashes

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

*.swp

#
# *.lock - this is used and abused by many editors for many different things.
#    For the main ones I use (e.g. Eclipse), it should be excluded
#    from source-control, but YMMV.
#   (lock files are usually local-only file-synchronization on the local FS that should NOT go in git)
# c.f. the "OPTIONAL" section at bottom though, for tool-specific variations!
#
# In particular, if you're using CocoaPods, you'll want to comment-out this line:
*.lock


#
# profile - REMOVED temporarily (on double-checking, I can't find it in OS X docs?)
#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: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html

*.pbxuser

# .mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode1v3

# .mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode2v3

# .perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file

*.perspectivev3

#    NB: also, whitelist the default ones, some projects need to use these
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3


####
# Xcode 4 - semi-personal settings
#
# Apple Shared data that Apple put in the wrong folder
# c.f. http://stackoverflow.com/a/19260712/153422
#     FROM ANSWER: Apple says "don't ignore it"
#     FROM COMMENTS: Apple is wrong; Apple code is too buggy to trust; there are no known negative side-effects to ignoring Apple's unofficial advice and instead doing the thing that actively fixes bugs in Xcode
# Up to you, but ... current advice: ignore it.
*.xccheckout

#
#
# OPTION 1: ---------------------------------
#     throw away ALL personal settings (including custom schemes!
#     - unless they are "shared")
# As per build/ and DerivedData/, this ought to have a trailing slash
#
# 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 *requires* git v1.8.2 or above; you may need to upgrade to latest OS X,
#    or manually install git over the top of the OS X version
# 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
#     /xcshareddata/
#       /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

####
# OPTIONAL: Some well-known tools that people use side-by-side with Xcode / iOS development
#
# NB: I'd rather not include these here, but gitignore's design is weak and doesn't allow
#     modular gitignore: you have to put EVERYTHING in one file.
#
# COCOAPODS:
#
# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#what-is-a-podfilelock
# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
#!Podfile.lock
#
# RUBY:
#
# c.f. http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/
#
#!Gemfile.lock
#
# IDEA:
#
# c.f. https://www.jetbrains.com/objc/help/managing-projects-under-version-control.html?search=workspace.xml
# 
#.idea/workspace.xml
#
# TEXTMATE:
#
# -- UNVERIFIED: c.f. http://stackoverflow.com/a/50283/153422
#
#tm_build_errors

####
# UNKNOWN: recommended by others, but I can't discover what these files are
#

61
Bạn không nên bỏ qua *.lockhoặc Podfile.lock(không bao giờ quan tâm đến sự dư thừa). Bạn muốn các phiên bản chính xác giống nhau được cài đặt trong tất cả các không gian làm việc, bạn không muốn "phiên bản mới nhất".
tvon

8
Tôi đã loại bỏ phần Podfile. Tôi đã không thêm nó ban đầu, SO nói rằng người khác đã thêm nó và tôi bất cẩn sao chép / dán nó vào ý chính. Tôi xin lỗi cho bất kỳ / tất cả sự nhầm lẫn và hiểu lầm. Tôi thực sự không thích cách StackOverflow cho phép bất cứ ai chỉnh sửa câu trả lời của bạn :(.
Adam

5
Bây giờ có một dòng giải thích cho MỌI THỨ, từng dòng một. Điều này sẽ làm cho nó rõ ràng hơn nhiều, và làm cho nó dễ dàng hơn để tùy chỉnh cho các dự án của riêng bạn.
Adam

3
@Adam Như tôi có thể thấy, tệp này chứa siêu dữ liệu VCS và do đó không nên được kiểm tra vào VCS. Không, không có đề cập developer.apple.comvề xccheckout. Nhưng trên trang github chính thức, tệp này đã có trong tệp gitignore. https://github.com/github/gitignore/blob/master/Objective-C.gitignore
skywinder

3
Không có mô tả chính thức, chúng tôi sẽ không bỏ qua bất cứ điều gì. Hầu như mọi khi mọi người đã làm điều đó, nó sớm làm hỏng dự án của ai đó. Con đường quá nguy hiểm - đừng đến đó. Vì vậy, tôi từ chối thêm bất cứ điều gì vào tập tin này trừ khi tôi có một nguồn có thể kiểm chứng xác nhận rằng nó an toàn để bỏ qua!
Adam

276

Dựa trên hướng dẫn này cho Mercurial, .gitignore của tôi bao gồm:

.DS_Store
*.swp
*~.nib

build/

*.pbxuser
*.perspective
*.perspectivev3

Tôi cũng đã chọn bao gồm:

*.mode1v3
*.mode2v3

mà theo bài đăng danh sách gửi thư này của Apple là "cài đặt dự án dành riêng cho người dùng".

Và đối với Xcode 4:

xcuserdata

52
Tôi không đặc biệt thích các mẫu .pbxuser / .pers perspective / *. Perspectivev3. Tôi rất thích .xcodeproj / ! *. Xcodeproj / project.pbxproj mà bỏ qua mọi thứ bên trong một * .xcodeproj ngoại trừ dự án.pbxproj.
Lily Ballard

5
Tôi không bỏ qua * .pbxuser, * .pers perspective và * .pers perspectivev3 vì tôi muốn giữ lại các cài đặt đó khi tôi sao chép kho lưu trữ của mình.
lajos

7
Ngoài ra, bạn có thể muốn thêm rằng bạn có thể tạo một tệp gitignore "toàn cầu" như thế này: git config --global core.excludesfile ~ / .gitignore
Jess Bowers

63
Tôi muốn cảnh báo tất cả những người đã thêm tệp .gitignore sau khi họ đã cam kết dự án: những tệp bạn bỏ qua vẫn đang được theo dõi. Bạn sẽ phải xóa chúng khỏi git bằng cách sử dụnggit rm --cached <files>
pixelfreak

21
@SpacyRicochet: Định dạng bình luận rõ ràng đã thay đổi kể từ khi tôi viết bình luận. Do đó chữ nghiêng. Mẫu của tôi được cho là trông giống như * .xcodeproj / *! *. Xcodeproj / project.pbxproj. Tất nhiên, những ngày này bạn cần phải điều chỉnh nó cho không gian làm việc.
Lily Ballard

64

Về loại trừ thư mục 'xây dựng' -

Nếu bạn đặt các tệp xây dựng của mình vào một thư mục khác với nguồn của bạn, như tôi làm, bạn không có thư mục trong cây để lo lắng.

Điều này cũng làm cho việc chia sẻ mã của bạn trở nên đơn giản hơn, ngăn chặn các bản sao lưu cồng kềnh và ngay cả khi bạn có sự phụ thuộc vào các dự án Xcode khác (trong khi yêu cầu các bản dựng phải nằm trong cùng thư mục với nhau)

Bạn có thể lấy một bản sao cập nhật từ ý chính của Github https://gist.github.com/708713

Tệp .gitignore hiện tại của tôi là

# Mac OS X
*.DS_Store

# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/

# Generated files
*.o
*.pyc


#Python modules
MANIFEST
dist/
build/

# Backup files
*~.nib

7
Tôi có thư mục xây dựng bên ngoài thư mục dự án, nhưng khi người dùng khác xây dựng dự án, theo mặc định, nó được tạo lại trong dự án - vì vậy tôi thấy rằng thêm nó vào tệp bỏ qua là một giải pháp tốt hơn, nếu không, nó được cài đặt lại trong cam kết.
lajos

58

Đối với Xcode 4 tôi cũng thêm:

YourProjectName.xcodeproj/xcuserdata/*
YourProjectName.xcodeproj/project.xcworkspace/xcuserdata/*

78
Nếu bạn chỉ cần thêm xcuserdata, sau đó chăm sóc cả hai.
ma11hew28

7
Vì một số lý do, việc thêm xcuserdata mà không có tiền tố không hiệu quả với tôi. Tôi nghĩ rằng nó nên, mặc dù. Lạ
BastiBen

24

Tôi đã bao gồm các đề xuất này trong một Gist tôi đã tạo trên Github: http://gist.github.com/137348

Hãy thoải mái để ngã ba nó, và làm cho nó tốt hơn.


5
Ngoài ra, một trong những người Github đã thu thập một số tệp .gitignore. Dưới đây là mục tiêu cụ thể của Objective-C- github.com/github/gitignore/blob/master/Objective-C.gitignore
chương trình247365

Ngoài ra các folks Thoughtbot đã đưa ra dự án này - github.com/thoughtbot/liftoff mà sẽ thêm một file .gitignore lành mạnh mặc định, xem bài viết trên blog của họ trên đó: robots.thoughtbot.com/post/33796217972/...
program247365

14

Những người của GitHub có các tệp .gitignore đầy đủ và được ghi lại cho các dự án Xcode:

Swift: https://github.com/github/gitignore/blob/master/Swift.gitignore

Mục tiêu-C: https://github.com/github/gitignore/blob/master/Objective-C.gitignore


5
Điều này đã được đăng lên một trong những câu trả lời ở trên. Tôi thấy nó là: không chính xác, được hỗ trợ đáng ngờ (hơn 100 yêu cầu kéo xuất sắc!) Và không có giấy tờ. Thực tế là "không chính xác" là điều tồi tệ nhất trong tất cả; họ đã bỏ qua rằng chỉ hoạt động cho một nhóm sử dụng hẹp và không giải thích được gì hoặc tại sao! Do đó: câu trả lời của tôi ở trên, sửa lỗi của họ VÀ giải thích những gì đang được thực hiện và tại sao, vì vậy bạn có thể đưa ra quyết định có giáo dục trên cơ sở từng dự án (trên một dự án mới, đôi khi tôi quên mất tại sao một số mục trong đó - các ý kiến ​​giúp tôi quyết định :))
Adam

@Adam: GitHub .gitignorehiện đã được cập nhật cho Xcode 6.3.2 và Swift, vì vậy giờ đã chính xác. Nó cũng được ghi lại.
Eric

vâng, nhưng vấn đề với việc xuất bản một tệp phá hủy dữ liệu và giữ nó theo cách đó trong nhiều tháng hoặc nhiều năm - và dường như không bận tâm kiểm tra nó đúng cách - là bạn vĩnh viễn hy sinh tất cả niềm tin, sự tin tưởng, tôn trọng từ cộng đồng. Quá muộn.
Adam

14

Bạn nên kiểm tra gitignore.io cho Objective-C và Swift.

Đây là .gitignoretập tin tôi đang sử dụng:

# Xcode
.DS_Store
*/build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.hmap
*.xccheckout
*.xcworkspace
!default.xcworkspace

#CocoaPods
Pods

1
luôn luôn sử dụng ví dụ của bạn. cài đặt tốt đẹp! Cảm ơn!
Nikolay Shubenkov

Tôi đã không sử dụng gitignore.io trong một thời gian - đáng để kiểm tra nếu bạn chưa. Bạn có thể sử dụng nó để tạo một gitignoretệp cho bất kỳ IDE / ngôn ngữ nào, v.v. bạn đang sử dụng. Nó thậm chí sẽ thêm một phần cocoapods. Rực rỡ
Ashley Mills

12

Tôi đang sử dụng cả AppCode và XCode. Vì vậy, .idea/nên bỏ qua.

nối cái này với Adam .gitignore

####
# AppCode
.idea/

10

Đây là tập lệnh tôi tạo để tự động tạo tập tin .gitignore và .gitattribution của bạn bằng Xcode ... Tôi đã hack nó cùng với một vài thứ của người khác. Chúc vui vẻ!

Xcode-Git-User-Script

Không bảo hành ... Tôi hút hầu hết điều này - vì vậy hãy sử dụng lúc nguy hiểm của riêng bạn


10

Thêm tệp .gitignore cho

Mac OS X + Xcode + Swift

Đây là cách tôi đã thêm tệp .gitignore vào dự án Swift của mình:

  1. Chọn bạn dự án trong Xcode và nhấp chuột phải → Nhóm mới → đặt tên là " Git "
  2. Chọn thư mục Git và nhấp chuột phải → Thêm tệp mới
  3. Trong tab iOS → chọn Kháctệp trống

Nhập mô tả hình ảnh ở đây

  1. Đặt tên tệp ở đây " .gitignore "

Nhập mô tả hình ảnh ở đây

  1. Xác nhận tên và loại tệp

Nhập mô tả hình ảnh ở đây

Đây là cấu trúc kết quả:

Nhập mô tả hình ảnh ở đây

  1. Mở tệp và qua mã dưới đây

# file

#########################################################################
#                                                                       #
#       Title         - .gitignore file                                 #
#       For           - Mac OS X, Xcode 7 and Swift Source projects     #
#       Updated by    - Ramdhan Choudhary                               #
#       Updated on    - 13 - November - 2015                            #
#                                                                       #
#########################################################################

########### Xcode ###########
# Xcode temporary files that should never be committed

## Build generated
build/
DerivedData

# NB: NIB/XIB files still exist even on Storyboard projects, so we want this
*~.nib
*.swp

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
*.xcscheme

########### Mac OS X ###########
# Mac OS X temporary files that should never be committed

.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

########## Objective-C/Swift specific ##########
*.hmap
*.ipa

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the Git repository. Instead, use fastlane to re-generate the

fastlane/report.xml
fastlane/screenshots

Vâng, cảm ơn Adam . Câu trả lời của anh ấy đã giúp tôi rất nhiều, nhưng tôi vẫn phải thêm một vài mục nữa vì tôi muốn một tệp .gitignore cho:

Mac OS X + Xcode + Swift

Tài liệu tham khảo: cái nàycái này


1
Câu trả lời rất hữu ích. Tôi đã thêm nó dưới dạng một liên kết trong Cài đặt Github của mình trong câu trả lời Xcode .
Suragch

9

Của tôi là một .bzrignore, nhưng đó là cùng một ý tưởng :)

.DS_Store
*.mode1v3
*.pbxuser
*.perspectivev3
*.tm_build_errors

Tmm_build_errors dành cho khi tôi sử dụng TextMate để xây dựng dự án của mình. Nó không hoàn toàn toàn diện như Hagelin, nhưng tôi nghĩ rằng nó đáng để đăng cho dòng tm_build_errors.



4

Tôi đã thêm:

xcuserstate
xcsettings

và đặt tệp .gitignore của tôi vào thư mục gốc của dự án.

Sau khi cam kết và đẩy. Sau đó tôi chạy:

git rm --cached UserInterfaceState.xcuserstate WorkspaceSettings.xcsettings

chôn với thư mục dưới đây:

<my_project_name>/<my_project_name>.xcodeproj/project.xcworkspace/xcuserdata/<my_user_name>.xcuserdatad/

Sau đó tôi chạy git commit và đẩy lại


Bạn cũng đã thêm nó? Hay đây chỉ là tất cả những gì bạn làm?
hakre

1
Có, tôi đã thêm cả hai nhưng xcusersate là tệp vi phạm chính. Thêm vào đó là cách duy nhất tôi có thể đẩy mã của mình từ xa. Nếu không, tôi đã bị mắc kẹt trong một vòng phản hồi yêu cầu cam kết trước khi đẩy. Vì vậy, bạn cam kết, sau đó Xcode 4.5 sẽ yêu cầu bạn cam kết lại và bạn không bao giờ có thể đẩy vì req trước đang cam kết.
1524957

4

Tôi sử dụng tệp .gitignore sau đây được tạo trong gitignore.io:

### Xcode ###
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.xcuserstate


### Objective-C ###
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
Pods/

4

Tốt nhất của tất cả,

gitignore.io

Đi và chọn ngôn ngữ của bạn, và sau đó nó sẽ cung cấp cho bạn tệp.


2

Đây là .gitignoreGitHub sử dụng theo mặc định cho kho lưu trữ Xcode mới:

https://github.com/github/gitignore/blob/master/Objective-C.gitignore

Nó có khả năng là chính xác hợp lý tại bất kỳ thời điểm nào.


Tệp github .gitignore là một tập hợp tất cả các tệp mà chúng tôi đã gặp sự cố trong quá khứ. Ngay bây giờ, nếu bạn bắt đầu một dự án Xcode từ đầu, hãy để Xcode định cấu hình kho lưu trữ git, không còn quá nhiều để bỏ qua trong .gitignore: Điều duy nhất tôi muốn bỏ qua là xcuserdata / ... điều này giúp không làm lộn xộn các cam kết của bạn .
mật mã

GitHub là nơi đầu tiên tôi tìm kiếm gitignores :)
Ben Leggiero

1

Hầu hết các câu trả lời là từ thời đại Xcode 4-5. Tôi đề nghị một tập tin bỏ qua trong một phong cách hiện đại.

# Xcode Project
**/*.xcodeproj/xcuserdata/
**/*.xcworkspace/xcuserdata/
**/*.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
**/*.xcworkspace/xcshareddata/*.xccheckout
**/*.xcworkspace/xcshareddata/*.xcscmblueprint
.idea/

# Xcode Injection
IOSInjectionProject/
OSXInjectionProject/

# Build
build/
DerivedData

# CocoaPods
Pods/

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/sign&cert

# CSV
*.orig
.svn

# Other
*~
.DS_Store
*.swp
*.save
._*
*.bak

Giữ cho nó được cập nhật từ: https://github.com/BB9z/iOS-Project-Template/blob/master/.gitignore


0

Chúng tôi đã thấy rằng ngay cả khi bạn thêm .gitignore và .gitattribte, tệp * .pbxproj có thể bị hỏng. Vì vậy, chúng tôi có một kế hoạch đơn giản.

Mỗi người mã trong văn phòng chỉ cần loại bỏ các thay đổi được thực hiện cho tệp này. Trong cam kết, chúng tôi đơn giản đề cập đến các tệp được thêm vào nguồn. Và sau đó đẩy đến máy chủ. Trình quản lý tích hợp của chúng tôi hơn kéo và xem các chi tiết cam kết và thêm các tệp vào tài nguyên.

Một khi anh ấy cập nhật từ xa mọi người sẽ luôn có một bản sao làm việc. Trong trường hợp thiếu một cái gì đó thì chúng tôi thông báo cho anh ta để thêm nó vào và sau đó kéo lại một lần nữa.

Điều này đã làm việc cho chúng tôi mà không có bất kỳ vấn đề.


0

Tôi khuyên bạn nên sử dụng joe để tạo một .gitignoretập tin.

Đối với một dự án iOS chạy lệnh sau:

$ joe g osx,xcode > .gitignore

Nó sẽ tạo ra điều này .gitignore:

.DS_Store
.AppleDouble
.LSOverride

Icon
._*

.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

build/
DerivedData

*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

*.xccheckout
*.moved-aside
*.xcuserstate

-3

Cấu trúc của tệp .gitignore độc ​​lập cho dự án Xcode>

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/

Làm thế nào là khác với bất kỳ câu trả lời trước? Đừng chỉ dán gitignoretập tin của bạn ở đây, điều này không thêm bất cứ điều gì vào chủ đề này.
Ashley Mills

@AshleyMills Vui lòng đọc câu trả lời trước sau đó thêm nhận xét .... Câu trả lời dành cho cấu trúc độc lập / yêu cầu .... đó là những điều cần thiết để có ...
Rahul Singha Roy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.