How to connect to the Gitlab account in Xcode? - xcode

I am choosing Xcode, Preferences, '+', Gitlab Account. Then I have tried lots of combinations of the Account and Token. In the Token filed I am entering the token I have generated (should it be named after the project I am going to connect?). In the Account field, I have tried to enter the mail connected with the Gitlab account, Gitlab username. However, nothing works. Please, can you help me?

From the Source Control navigator add the remote url of your project in GitLab.
This would setup Xcode to identify where to push the commits to.
Instead of adding the User Profile through Preferences (did not work for me), just go to Source Control -> Commit, and commit locally, and then Source Control -> Push to push to your repository. At this point, Xcode will ask for your username and password, just enter your credentials there and it would work like a charm from there.
I still do not have an answer to why I was not able to add the credentials via Preferences, but this works too.

Select Open in Xcode
There might be an issue to add a GitLab account on Xcode. (also Xcode supports only RSA encryption and not the ed25519 as suggested by GitLab).
Until this is fixed here is a workaround I am using!
On the GitLab repository page you can select Open in Xcode and the website will ask where to save the project, and then open it in Xcode for you.
After making changes I would commit and push with the command line.
Make sure that your Git username and email match your GitLab.com account for this repository, and an SSH public key was added to your GitLab.com account.
PS. I noticed that this option appear only if GitLab can recognise the repo as an Xcode project. For this to happen, the project and the xcodeproj file should should be in a root folder.

Related

Xcode 11 Create Remote Git Repositories but showing "Loading account owners" never ends

I have an existing Xcode project downloaded from Apple Developer web site and it was not under source control. So I first add it to local Git by running "git init". Then I open the project and try to add it to my GitHub repository. After clicking "Create XXXX remote", the dialog shows "Loading account owners..." and it never ends. Anyone knows how to resolve it?
Xcode showing Loading account owners and never end
You must setup your repo account first in Xcode. Go to Xcode->Preferences->Accounts. Click the plus at the bottom of the left pane and select the appropriate account to add (i.e. GitHub). Enter your credentials and they will be verified. Return to the remote repo flow and your account will now display in the Accounts drop-down.

Change source control credentials for an Xcode Server Bot?

I followed Apple's directions for creating a new bot. During one of the steps it asked for the credentials for the source control system. I entered in a username/password not realizing that I wouldn't be able to change it easily in the future.
How can I change the credentials that Xcode Server uses?
It is a bit of a hassle but it is possible
Clone the repository by using new user's credentials
Open the project from within the new repository
Goto Report Navigator and edit the bot
On Repositories tab click on Replace Repositories... button
Xcode will fetch the new user name from .git/config file in the new repo and will give you a chance to provide the new password.
You can also alter the user in .git/config file of the current repo instead of cloning a new one.
According to the Apple help documentation for bots, the credentials are stored in a secure keychain on the server. It doesn't explicitly mention where, but look for a file called *.keychain (I'd expect /Library/Keychains to be one possibility; but it might be under the root of wherever the bots run). you should then be able to open that with Keychain Access.app to reset the credentials.
It's possible you might also be able to edit this from the report navigator with the 'Edit Bot...' menu, but it may not allow you to edit/change the repository details from there.

Add existing project to BitBucket using Xcode

I keep getting an error when I try to commit my project files using Xcode.
File -> Source Control -> Commit
"The operation could not be performed because no valid working copies were found."
"Please verify that your files are under source control and try again."
This is an existing project that is NOT under source control. How do I get my project files under source control, using Xcode?
EDIT: Answered my own question.
Step 1) Restart Xcode
Step 2) Choose connect to repo
Step 3) Enter repo address
Step 4) Choose existing project folder you wish to place under version control
Step 5) Voila! :)
Since a lot of folks land here when they google "Add existing project to BitBucket using Xcode" and then click through to the link that goes to my blog post on the subject, I thought I would put the information here (in the spirit of SO which discourages link only answers.)
NOTE: These instructions assume you have already made a local git repository for the project. You may have done this at project creation. If not, you will need to create the local git now. See this StackOverflow post for how to do that: https://stackoverflow.com/questions/19495141/add-local-repo-for-existing-xcode-5-project
For Xcode 9 and the new Beta UI for Bitbucket:
Log into your BitBucket Account on their web site.
Click the Create button (plus sign + in the newest version of the web UI). And click Repository.
Give your new repository a name. Additional features for the repo can be configured under the Advanced menu. Make sure the check mark for Private is on if you desire that. Verify that the repository type is Git. If desired, add issue tracking, and a Wiki. Select Objective C or Swift from the language drop down. Then Create Repository.
Next, you will want to add your code. On the top of the Overview page is a field with the HTTPS URL of your project. It will look something like this: https://johndoe#bitbucket.org/xyzteam/xyzapp.git. Highlight and copy that URL text.
Run Xcode and load your project.
From the left pane in Xcode, select the Source Control Navigator. Expand the project node. Right click the Remotes node under your project. Select “Add Existing Remote…”
Give it a remote name, such as Bitbucket. Paste the URL from step 4 into the Location. Click Add. It should now appear as a Remote location in the Source Control navigator.
Once your remote has been added, you should now be able to push to the remote. Select Source Control/Push… It should show your Bitbucket remote as the destination and will show (Create) as this is the first push. Click Push.
If this is the first time you are pushing this project to BitBucket, you will be asked for login credentials. The User Name will be prefilled from the URL, so enter the password. Click Okay and after some seconds, it should complete.
If all goes well, you now have the repositories linked up. Go to the BitBucket site, select your repo and you should see the code.
For Xcode older than version 9 and the old Bitbucket UI:
Log into your BitBucket Account on their web site.
Click the Create button.
Give your new repository a name, a description, and make sure the check mark for Private is on if you desire that. Verify that the repository type is Git. If desired, add issue tracking, and a Wiki. Select Objective C or Swift from the language drop down. Then Create it.
Next, you will want to add your code. I am assuming you have an existing project. On the page, you will select “I have an existing project” link from the Command line section.
You will see instructions for linking your local git repository to the remote. There is no need to follow those instructions. However, you will see an https url listed. It will look something like this: https://johndoe#bitbucket.org/xyzteam/xyzapp.git. Highlight and copy that URL text.
Run Xcode and load your project.
From the main menu, select Source Control. Under the gray “Working Copy” item, you will see a menu with your local git repo name and the currently active branch. Expand this menu and you will see an option to Configure [Your project]…. Select this.
Select the Remotes pane from this screen. At the bottom, click the plus +. Select Add Remote…
Now you need a name and a URL. For the name, typically just use your project name, then paste the URL copied earlier in step 5. Some people have found that they must remove the user name portion of the URL. Per the example, remove “johndoe#”. This may have to do with whether your project is set up as a team project, or an individual project.
Click Add Remote. Click Done.
Once your remote has been added, you should now be able to push to the remote. Select Source Control/Push…. If this is the first time you are pushing this project to BitBucket, you may be asked about keychain access and/or login credentials. Enter the appropriate responses, such as Allow for keychain. If you have already done this before, it will simply use the keychain data without further prompting.
If all goes well, you now have the repositories linked up. Go to the BitBucket site, select your repo and you should see the code.
If you want to see a version of this information with screen shots, see my blog post.
Login your bit bucket account and Create a repository in your account
open terminal run these following command
1- cd /path/to/your/repo
2- git remote add origin <url of your repository >
3- git push -f origin master
it works for me, Thanks.

git(osis) and Xcode

I installed (successfully) gitosis. I want to use it at my debian (rootserver) to access my Xcode projects (and merge, etc.). I'm able to clone the git repo with Xcode successfully, but if I try to push some (committed) changes, Xcode tells me "Choose the Remote to witch to push the changes" But I can't select any. I am able to push via Terminal.app, but that's not very comfortable. So why is Xcode telling me, there are no remotes available? I tried to add the remote manually (it is something like "gitosis#myserver.com:repositories/gitosis-admin.git"), I tried with ssh://gitosis#my..., but this dosen't even work with terminal.app.
So why is Xcode telling me "No Remotes available"?
Go to the organizer, click repositories, click yours, go to remote, click add remote, should be able to add it from there. should ask for verification and such. never used gitosis but that's how it works for git.

Add Xcode project to github repo?

I have JUST created a new github repo on the website. Keep in mind that I am a noob but can do basic things in terminal. Anyway, so I just created the repo on my account on github.com and didn't do a single thing to it yet.
So all I want to do is take my Xcode project folder and upload it to my new github repo. How do I do this via terminal?
The best way really is to follow the instructions GitHub gives you:
First, go the correct directory
cd <directory of your Xcode project>
It sound like you've already got a local Git project from Xcode. If that's true, skip this code block.
git init .
git add .
git commit -s
<type in a commit message>
Last, push into your repository. The following is copied directly from my own github account, after I created a new "test" repo. Change the "dhalperi/test" part.
Push an existing repository from the command line
git remote add origin git#github.com:dhalperi/test.git
git push -u origin master
I was just going to leave a comment above but I will also add a summarized answer. My full answer is here.
This isn't via terminal as the question requests, but you can consider this an alternate method. It is well integrated with Xcode now, though, and not difficult to do.
Create Git repository when making a new project
See the answer I linked to above if you already have a project without a Git repository.
Make a Commit
After making a change in your project, select Commit... from the Source Control menu. You will add a short commit message.
Create a new GitHub repository
On the GitHub website make a new repository. Call it whatever you want, but don't add a README or .gitignore or license yet. After creating the new repository copy the link to it.
Add a Remote in Xcode
in Xcode go to Source Control > your branch name > Configure. Then click the Remote tab > "+" button > Add remote. Fill in your repository name and address.
Push your project to GitHub
Go to Source Control > Push. You will have to enter your GitHub user name and password the first time.
That's it. Now any time you make changes in Xcode, all you have to do is Commit and Push.
If you didn't follow this explanation, please read this and this for more detail.
Further Study
This is an excellent video that I recently watched that helped me understand Git and its integration with GitHub much better.
The Basics of Git and GitHub
An easier way to do it in Xcode.
You can even push only one current branch to GitHub or the whole project.
(for Xcode 11)
Just select a needed branch/(or top folder) in "Source control navigator" and right-click on it. Then select "Create remote". Or "Editor -> Create remote".
Then use your account at GitHub to create the repository. If using your GitHub account is not proposed maybe you still not add your GitHub account in Xcode -> Preferences -> Accounts
After everything is set up. Click "Create".
To push your project/branch to GitHub repository click "Source Control -> Push".
After that check Github. All should be there.
Get the Github Mac Application, you don't really need a terminal unless you want to do more fancy advanced stuff ;-)
Simply go to your project page on GitHub, then click on "Clone in Mac", this should automatically download and install it for you. You have to do this at least once to install the app and setup some required permissions.
After that, you'll see the GitHub Application in your Dock, simply open it, then click on that small "+" sign at the bottom, there you'll see "Create New Repository" and "Add New Local Repository".
You can either add the repository that XCode already created for you or download one from GitHub, then open it in XCode.
if you already have a git repo on your Mac and using Xcode 9,
for xcode 9, just go to the source control tab in the navigation inspector in Xcode. right click on the master git and select create "Your project name" remote on GitHub.
give your GitHub credentials and give a name to git repo and Xcode will create and push your code for you.
a non terminal solution is to install SourceTree. Its a GUI thats super easy to use compared to the terminal. But its highly recommended to learn git commands properly.

Resources