Updates from the Repl.it team about the product

← Back to all posts
Feedback for git support + the new GitHub integration
replitjeremy (64)

Hi All!
Git support + the new integration with GitHub is in the process of rolling out!
When the feature is enabled for you, we'd love to hear how we could improve, and what additions you'd like to see.

feedback so far:

from @mat1:
"is there a way to create a .gitignore file? I tried making one but nothing happens when I press enter."

We're working on supporting this soon!

from @Vandesm14:
"Is this live? I don't see the git sidebar. Is this an explorer-only feature?"

We're currently in the process of rolling the feature out to everyone. Some users have it enabled currently.

CollinBrennan (16)

My Repl won't commit anymore. Every time I try, the page reloads and it didn't push. The commit also doesn't show up on my GitHub project.

Volectric (3)

@CollinBrennan I am having the same issue. It says my repl is up to date with the master branch, but it still shows the files I modified and doesn't commit to github.

mfeiden (0)

Ditto. Correctly identifies files with changes, but incorrectly states branch is up to date (all commit/push attempts fail). Tried creating a new branch as a workaround, but that functionality appears dead as well. ?!?

CollinBrennan (16)

If a dev could chime in that would be great.

replitjeremy (64)

I'll be taking a look this week. @CollinBrennan can you link your repl where this is happening? If the url is sensitive then please send it to [jeremy at repl . it]

RolandJLevy (499)

Hi @CollinBrennan, I'm having the same issue with one of my repos. Do you know if this has been fixed? Thanks, Roland

RolandJLevy (499)

Hi @replitjeremy, thanks for looking into this issue. I am having the same problem. I emailed you my repl today - thanks, Roland

RolandJLevy (499)


@replitjeremy kindly emailed me with the following solution:

This issue occurs when git is exited in the middle of doing some action. It creates an index.lock file in the .git folder of your project that prevents future commits.

Can you try opening the shell (cmd/ctrl + "." -> type "shell" ) and running rm .git/index.lock? I'm having trouble tracking down exactly what causes this. Have any of the following things possibly occurred?

  1. working with someone on this repl via multiplayer and trying to simultaneously commit
  2. closing the repl while a git action was still loading (the sidebar would be greyed out at that time)
  3. being forced to reconnect by us while using git (the editor will reload and show "offline" briefly, and then a reconnect message will appear)
MichaelMellinge (0)

Not working for me on my repo either. I have been working on an iPad.

replitjeremy (64)

@MichaelMellinge What specifically isn't working, can you link to the repo you're having issues with?

MichaelMellinge (0)

my commit isn’t working for my Julia project @replitjeremy


I type in a message then click the “Commit and Push” button and it silently fails. I’ve got 9 files locally that need to be committed.

RandomNoob1 (1)

@rjlevy I tried out what you say but the system just responds with no such file or directory, do you know why is that?

RolandJLevy (499)

Hi @RandomNoob1, I'm not an expert on git but I think I read somewhere that git merge origin could fix the problem. Maybe try that?

nolanrc (0)

Same issue here. Above previous commits, it just says "up to date with loading...". The rm ./gitindex.lock comment did not work for me either.

hwarhurst (1)

It would be nice to be able to view the diffs of uncommitted changes when the user clicks on a changed file

JohnBartucz (1)

It's not working. I was able to create a repository, but can clicking the commit and push (with or without comments) or the pull buttons do nothing. Also no error message :/

Franky1 (3)

I would like to see also GitLab supported, since i use it a lot more for my private repos.

PaoloAmoroso (143)

@replitjeremy I've played a bit with the new version control features and they're so cool and well designed my grin doesn't want to go away. Here are some initial impressions and suggestions.

I'd prefer Repl.it to optionally not access any organizations and related repos I'm a member of but I don't own. And I'd like to pick which email address to use for commits among the ones registered with GitHub.

When creating a repo it would be useful for Repl.it to optionally add a well stuffed, language-sepcific .gitignore and README.md file (like GitHub offers at repo creation), as well as a LICENSE file with the default Repl.it license (MIT, if I recall correctly).

When the REPL detects changes to the source files and the repo origin is Repl.it, there's a Commit & Push button in the commit dialog. Maybe I'm not too familiar with the Git/GitHub jargon and the way these tools work, but I'd expect the action to also synchronize (push?) the local Repl.it changes with the remote GitHub repo. Instead I have to switch the origin to GitHub and click Push in the commit dialog.

This is a minor source of confusion though and, once clarified, it's no longer an issue.

replitjeremy (64)

Hey @PaoloAmoroso, thanks for all the great feedback!

I'll try to break it all down and address it here:
1. Repl.it accessing orgs/non-owned repos

We'll only ever access repositories that you connect to on Repl.it, and will never do anything related to GitHub data without an explicit action on your side. Also, if you don't own or have push access to a repo, we won't have permission to let you edit that code from Repl.it either :)
pick an email address to use with GitHub
We are planning to support this!
.gitignore, README.md, and a LICENSE file
we'll be adding support for hidden files soon, which will allow us to give the option to auto-include a .gitignore
currently working on a checkbox to add a README when you connect to GitHub
great call on the license file, I'll look into that
confusion about pushing locally vs. to GitHub
We're removing the dropdown, so that once you connect to GitHub, any push will go there as well without requiring extra user action.

PaoloAmoroso (143)

@replitjeremy Thanks for the clarifications and updates, here are some additional thoughts.

I misunderstood the required access permissions when connecting my GitHub account. Now it makes sense.

Removing the dropdown should indeed streamline and clarify the workflow.

PaoloAmoroso (143)

@replitjeremy The dropdown is gone from my Repl.it test REPL, now there's a Connect to GitHub button. After clicking it I click Create GitHub repository and get the error Unable to create a GitHub repository Let us know if there is an issue. The GitHub repo I initially created from Repl.it is still on GitHub.

replitjeremy (64)

@PaoloAmoroso Are you trying to create a repository with the same name of an existing one on GitHub? The GitHub API prevents us from doing that.

If you'd like to create a new repl that links to an existing GitHub Repo, add the github URL as a part of the 'new repl' form.

PaoloAmoroso (143)

@replitjeremy I actually did nothing special after setting up a fresh REPL to test Repl.it's new version control features.

I created a fresh REPL, went through the Repl.it version control set up flow to give Repl.it access to my GitHub account and create the repo there, and did a few commits. When I came back to the REPL after you said you were going to remove the Repl.it/GitHub dropdown, the dropdown was indeed gone and clicking the option to connect to GitHub issued the error I mentioned earlier.

mat1 (3380)

Wow very epic, bee man.

MatthewDoan1 (327)

@mat1 Yup, somebody's been playing Minecraft snapshots.

mat1 (3380)

@MatthewDoan1 Yes, Minecraft invented bees.

PDanielY (1093)

@mat1 "No, they didn't" r/whoosh

matthewrkitson (2)

I'd like to second the request to be able to choose username and email address used for commits.

In particular, if you've got "don't share my email address" selected as an option in your github repository, repl.it can't push any changes (as they're attributed to your private github email address).

dotcomboom (108)

I'd like to be able to change my git email so it can match my GitHub user address.

jdstanhope (1)

When I click on the connect to GitHub from iPadOS 14 beta 3 nothing happens. I suspect there is a problem with redirect or possibly trying to open a new window to perform the connection.

PaoloAmoroso (143)

@replitjeremy a current issue is the inability of omitting an .env file from commits.

replitjeremy (64)

This will be fixed soon! I'll update here when it's out for everyone.

replitjeremy (64)

@PaoloAmoroso Apologies this took so long, should be fixed! I just verified with a 'C' repl

MarijnKneppers (2)

@replitjeremy Can you please add support for the .gitignore?

replitjeremy (64)

hi, @MarijnKneppers. .gitignore files are currently supported! Did you experience an issue when using one?

MarijnKneppers (2)

@replitjeremy Yes. I am not able to ignore folders. I work with two versions of a discord bot. one developer version and one real. I use JSON for databases so I can not ignore all files by hand because there are files added every now and then.

replitjeremy (64)

@MarijnKneppers can you share a link to your repl?

raw (5)

Is there a way to sync with an existing repo rather than only being able to create a new one?

raw (5)

Lol, nevermind. Just realized you can import an existing repo from the New Repl screen.

hayaodeh (188)

@raw where did you expect to find it?

JasonGross (1)

It was working great, but now it's broken. It complains that

Unable to connect to this GitHub repository
Please grant Repl.it permission to access GitHub on your behalf and confirm that you have permission to fetch from https://16861cee7f6d88469a4eeb3d13d5540f52b5875c:[email protected]/jasongross/reddit-watcher.

(this is https://repl.it/@JasonGross/reddit-watcher)
But I gave repl.it access. And anyway, this is a very weird github link. And I can't seem to reinitialize the GitHub integration.

ssebastianoo (13)

How can I disconnect a repo?

replitjeremy (64)

Hi @ssebastianoo, to disconnect from github, you can open the shell (Command/Control + Shift + S) and enter git remote remove origin

V3rmillionNet (54)

Nice stuff, now i can upload and edit files more easily.

Works very well and the updates are sent almost instantly, and when you change something from github you can pull merge.

8/10 waiting for new features!

replitjeremy (64)

@V3rmillionNet Thanks for your feedback! What kind of features do you want to see?

V3rmillionNet (54)

The feature i like is more likely for the IDE itself, but to be able to upload folders and their sub directories (create new folders) so i could be able to upload a whole project to repl it without having to move each file to their dir. @replitjeremy

V3rmillionNet (54)

Or simply being able to set up github pages inside repl.it, dunno @replitjeremy

replitjeremy (64)

@V3rmillionNet This should work if you make a web repl named {GITHUB_USERNAME}.github.io and push it to github!

PDanielY (1093)

It isn't working for me when trying with a typescript repo

replitjeremy (64)

@PDanielY oof, we don't support git in typescript right now :(. I'll remove the button from the sidebar. Thanks for reporting!

mebird (1)

@replitjeremy Any plans to support TS? I'd love to have a copy of my code on git w/out manually porting it over, but I don't know if that's possible.

replitjeremy (64)

hey @mebird, we plan on adding git for all of our supported languages eventually, but it may take a while to get there. I'll make a note that people are especially interested in TS!

EchoCoding (262)

Awesome feature! Really streamlined my work!

pmarchwiak (1)

Is there a way to request this for my account? I'm teaching a class and interested in seeing if this could work for our students.

replitjeremy (64)

hey @pmarchwiak, you can make yourself an explorer, which will turn on all experimental features. Head to https://repl.it/account and expand the "roles" section

Toaster123456 (1)

Unable to remove my repl from a github

CoolHandLo (0)

This just stopped working. No more commits.

Squalm (0)

The repl thinks its 10 commits behind master (its many more behind) and also constantly needs to push 10 commits to master and pushing neither button does anything.
There is no index.lock file (unless I'm looking in the wrong place).

ghandijones (0)

3 days ago, got this to commit twice. Since, I have had zero luck with commits. Says already synced, yet is not.

mamamia5x (69)

It's a cool idea, and it is great for tracking changes made to files, but it is so dang hard to actually get it to work with GitHub. It always says it's connected to github, and the files are up to date, but they never are. No changes are ever made when trying to update it to GitHub.

replitjeremy (64)

@mamamia5x is this happening in one repl in particular that I can help you out with?

mamamia5x (69)

@replitjeremy Not necessarily, it's happening to me across different repls. I love the idea of it being just like github desktop, but you can actually write and save it on the same program. But it keeps on not saving it, while it says it did write.

replitjeremy (64)

@mamamia5x can you link to one of them? I'm tracking down an issue and would like to see if you're seeing the same thing.

mamamia5x (69)

@replitjeremy I deleted the orignal files. Sorry.

musicant (0)

Just had a problem with a student where an index.lock file got stuck in the .git directory. The student had no way of knowing what was wrong, as the Repl.it version control window didn't show any error message. From a Repl.it GUI perspective, the version control screen went gray as it normally does, then it came back as it normally does, but nothing actually got committed. I had to do a manual "git commit" at the command line with the student to find the index.lock error, and then remove the file. So it raises two Repl.it bugs, after a fashion:

  1. The Repl.it version control window doesn't register anything if a commit error happens (at least, for an index.lock error); it just proceeds merrily as if nothing was wrong.

  2. Somehow, my student got stuck in a partially finished commit with an index.lock file, but the student only was using the Repl.it version control interface. Somehow, something in the system left a commit hanging.

I'm sure the first bug is much easier to track down than the second!

replitjeremy (64)

@musicant Hey, sorry for the delayed response. We'll definitely get to #1 soon, and I've been thinking about ways we can solve #2. Thanks for your feedback!

musicant (0)

@replitjeremy Thank you, much appreciated!

He1ios (5)

I am extremely sad because my git doesn't work anymore, I press commit nothing happens, I run git commit it says no changes but when I check my github repository no new changes. REPL: https://repl.it/@He1ios/sillyo-installer#README.md

replitjeremy (64)

@He1ios hi, sorry to hear that. Did you delete this repl/is it private? The link 404s for me when I try to check it out to see what's going on

gpuleo (0)

I was able to successfully export my REPL to Github, but after pushing local changes to the Github, REPL incorrectly insists that it is "up to date with master". This feature is worse than useless in its current form.

chrisvoo (0)

Hi there, for me it works only if I delete the index.lock file.
Not sure to be in one of the described scenarios though.

fosox88966 (0)

Hi please

  • add option to change github repo. For example i cloned some public opensource project, improved it and i want to commit and push it to my github repo.
  • Add support for Gitlab repos
  • Add support for .gitignore file
PDanielY (1093)

It doesn't work with HTML repls, I mean like importing HTML repls not pushing them to GitHub like if you import an HTML repl it will ask you for a run command and there is no run command so you can't run the repl. Example: https://repl.it/@PDanielY/Facial-Recognition#index.html