This is a two part question: 1) I have added committed and pushed all pod files to github. Is there a way I can remove them and not push them again to github?
2) I k
That's correct, you need to add the Pods directory to your .gitignore
1) Remove your files from your github repository:
git rm -r Pods/
and don't forget to commit and push
2) Create a gitignore file:
touch .gitignoreecho "Pods/" > .gitignoreMore informations : here
/Pods into .gitignoreIf you are working in a team, your teammates may face issues while installing pods in their machines and the most likely reason is Podfile.lock.
In summary,
Podfile.lockmakes sure you don't accidentally upgrade the libraries you pull in while keeping yourPodfileconcerned only with the new dependencies.
Podfile.lock may cause problems?Podfile.lock locks the project with versions installed the first time and when you execute pod install again, this will only install any new library in Podfile and will not affect your existing libraries by updating them to latest code.
In case of pulling repo does not contain /Pods, Podfile.lock locks versions of pods that do not exist in your machine because of .gitignore and expecting that these libraries are existing.
Just remove Podfile.lock then execute pod install and Podfile.lock will be generated again with versions of pods you installed.
Note: After removing
Podfile.lockand installing the pods, you may interact with different versions of pods than your team.
This is what Cocoapods official documentation has to say.
Whether or not you check in your Pods folder is up to you, as workflows vary from project to project.
It recommends that you keep the Pods directory under source control, and don't add it to your .gitignore. But ultimately this decision is up to you:
Benefits of checking in the Pods directory:
Benefits of ignoring the Pods directory:
1.The source control repo will be smaller and take up less space. As long as the sources (e.g. GitHub) for all Pods are available, CocoaPods is generally able to recreate the same installation. (Technically there is no guarantee that running pod install will fetch and recreate identical artifacts when not using a commit SHA in the Podfile. This is especially true when using zip files in the Podfile.)
2.There won't be any conflicts to deal with when performing source control operations, such as merging branches with different Pod versions.
Whether or not you check in the Pods directory, the Podfile and Podfile.lock should always be kept under version control.
Reference Link:Cocoapods Official Documentation