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 .gitignore
echo "Pods/" > .gitignore
More informations : here
/Pods
into .gitignore
If 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.lock
makes sure you don't accidentally upgrade the libraries you pull in while keeping yourPodfile
concerned 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.lock
and 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