Git Repository not Detected in Remote VS Code Workspace - visual-studio-code

I set up VS Code's Remote - SSH extension to edit ROS projects on remote Linux machines over SSH. I'm able to view and edit code directly on the remote machines, but I'm unable to use any of VS Code's built-in git/source control functionality.
My understanding is that when I'm in a remote workspace with a .git directory, VS Code should automatically detect that the workspace is a git repository. In my case, the source control pane in the side bar does not acknowledge that I'm in an existing repo, but instead offers to initialize git. Screenshot here
I'm definitely in a git repo, as I'm able to interact with git through VS Code's terminal just fine.
Additionally, once connected to a remote SSH workspace, if I select "clone a repository" from VS Code's welcome screen, I get the error: "It looks like git is not installed on your system."
I know that the issue is isolated to the Remote-SSH connections, as I'm able to use the built-in source control features without a problem on local projects, and I've disabled all other extensions.

Related

branches of git repo not showing in vscode using local devcontainer

I have a repo on github configured with codespaces. When opening codespaces on github in the cloud everything works and I can easily switch between branches.
Now I checked out the same repo locally on my windows machine an opened it with my local installed VScode. Again everything normal, and I can easily switch between different branches.
VScode now offers me to reopen in a devcontainer. I choose to do so and VScode starts building my local devcontainer, installing... After a while my devcontainer is ready and I can modify code and build (branch available is the one last used on the windows side). So far so good. However now I can not change branches in VScode anymore. Also when I click on the Git icon on the left of VScode I get a message saying:
The folder currenlty open doesn't have a git repository.
However in the terminal of the devcontainer I see my complete git repo (with all the git files) that is mounted from Windows. Changes done in the container are immediately reflected on Windows and vice versa as well (just checked this to make sure that it is properly mounted).
Any help is very welcomed.
Regards
Marc

Github local repo with VS code : Too many changes

I have install Github Enterprise on a self-managed server. I am connecting to my Github repo through VS Code. Every time I open VS code:
1 - It's trying to connect automatically to my cloud repo (Which I would like to be able to manually connect)
2 - VS code is installed in Anaconda and it's detecting 5000 changes....all anaconda files on my local machine
Can anyone help me with this issue?
thank you
I guess you have Anaconda or a conda environment installed into your project folder? Then you have to add that folder to your .gitignore file.
In VSCode you can rightclick on one of the 5000 files, select "Add to .gitignore" from the context menu, then the file .gitignore opens and you can delete everything but the top folder from the new entry and then that folder will be ignored.
Btw., VSCode doesn't update your local git repository automatically but just checks, if there are new changes in your remote repo (github) or how far it is behind your local changes. You can see that in the VSCode status bar. If you want to actually change one of the repos you either have to "pull" or "push" manually.

Is it possible to source control using VS Team Services without using Visual Studio or other IDE?

There are similar questions to this but they mostly have some other purpose than mine, use different tools or end up not being that similar.
I've been searching for another way to source control Dynamics NAV development, as we've been using an in-house add-on called Object Control which merely controls changes to objects and produces .txt backups.
With those .txt backups we could do normal source control using Visual Studio Team Services, but we want to avoid the hassle of opening Visual Studio just to connect it all to Team Services everytime we make changes.
I know Microsoft has a set of REST APIs for retrieving information on repos and projects but i'm not sure how you can send information to the server (new changesets, files, creating projects, etc) without using an IDE.
I'm set on creating an application or interface to bridge the gap between the NAV development and Team Services but is there a way to use and communicate with Team Services on its own?
Yes, you can use the git command line to source control VSTS git repo. You can use git bash (download here).
Frequently commands as below:
git clone <URL of VSTS git repo> #clone a git repo of a VSTS project locally
git add filename #add the file in git repo
git commit –am 'message' #commit the changes with comment: message
git push #push current branch to remote (VSTS git repo)
More git commands, you can refer git book.
Power Tools. It integrates with windows shell and you can do everything w/o opening VS
DLLs that installed along with VS TFS can be used like any other libraries in your application. Or you could even use then in Nav RTC. I used this approach have some inconsistencies but in general it works smoothly. So you can sourcecontrol Nav from Nav itself.
Rest services since you mentioned them. I'm just not sure if they provide access to work items only or to source control as well. For you to explore.
If you chose Git for source control, you just need the command line to commit changes and push them to VSTS.
In VSTS go to Code -> Manage Repositories -> New repostiroy. Choose Git as the type and give it a name. On the top right of the new repository home screen you'll find a button "Clone", copy the URL for the next step.
On your machine install Git then open a command prompt and navigate to the folder with your source code and type
git init
git add .
git commit -m "Initial Commit"
git push --set-upstream <the URL you took from VSTS> master

Rstudio: Changing origin for git version control of project

I originally set up git in Rstudio while enrolled in the Data Scientist's Toolbox course at Coursera. Unfortunately, I did this in my phd project. The repository no longer exists on github. I am now attempting to write my thesis in rmarkdown using knitr and bookdown. I would like to use version control, both to learn proper git workflow and to have a structured back up of everything I have done in my thesis. However, I have been unable to change the version control repository in Rstudio.
I am unable to change this in the Tools > Version control > Project setup > Git/SVN menu. The Origin: textbox is unchangable.
I tried creating a new project using the old phd project's working directory. This also cloned the version control settings.
How do I change the origin to accomplish what is described above?
Git, Github and Rstudio are different things. You could use git as local version control tools. You might connect your local repo to Github account which is based on git by push/pull. Rstudio just makes a user interface for git and supplies the function to push the repo into remote server based on git to make version control(not only Github, but also Gitlab).
So for your issue, if you do not want to pay for github for a private repo, all of your code would be public and I don't think it is good before your finally finished your thesis. But version control could be made locally with git only. Just use git shell to control the version.
However, as a student, github could support private repo here for you. Just register and find your student package. Then just remove the url for remote repo after you cd to your workdir in command line, use the following code to find your remote url(mostly you might fing origin):
git remote -v
Then use this to remove them:
git remote rm origin
Now you could use version control locally. If you want to connect this repo to your remote github private repo, use this:
git remote add origin https://github.com/[YourUsername]/[YourRepoName].git
RStudio would find this information about git and support your following operation. Project in RStudio is different with git, although project support git as version control tool. So you need git in command line or shell to solve your problem.
This can be done by opening /your.project/.git/config
and editing the remote origin line(s), e.g. changing from git to https.
Restart Rstudio & you'll be prompted for your github username & password.
This is what worked for me for migrating from github to Azure
Go to the top right Git window in RStudio and click on the gear. Now click Shell (to open the terminal there).
#remove origin
git remote rm origin
#add new origin like Azure for me via HTTPS
git remote add origin https://USER#dev.azure.com/USER/PROJECT/_git/REPONAME
#push your local repro
git push -u origin --all
#in my case put in the PAT password if you needed to generate one.
After testing, I found some clue
Actually Rstudio is not really smart about this setting
It will first search for the git file in the Rproject folder where your Rporject file is located
if it could not, then it goes up to the folder contains your Rproject folder
However, for version control you only need coding files while RProject may contains some big files like .RData some pictures etc.
I don't find a way to manually disrupt this logic flow, the only thing you can do is to delete the current git repository setting files(which is .git folder and 2 other git setting files), then Rstudio may ask you if you want to init a new one.

Using Git With Eclipse Remote Systems Explorer

I am doing web development using CFEclipse with Classic Eclipse (Indigo) on a Windows Server.
I am using Remote Systems Explorer to access a Linux box via sftp.
The Linux box has Git installed. There is one branch in the development folder.
I have installed EGit in Eclipse, but there are no provisions for working with a remote system.
Because I cannot develop locally, how should I checkout files, edit and review changes in a browser, and ultimately commit properly? There is no local repository and checking out files through ssh (putty) while editing them in Eclipse does not show my changes when browsed.
If you can access to the remote location through ssh why you don't just simply clone the repository in local and then pull and push the changes ?
I think that cloning the the repository is the best bet in your situation, you have only to install msysgit on your windows machine ...
You can use remote project to achieve what you need. Unfortunately, git operations need to be done on the remote server. But, you can change the files and the files will be changed remotely on fly. To create the remote project you have to right click on the remote folder you want to create the remote project. The context menu you will find "Create Remote Project".
What Eclipse will do is make the modification thru RSE. This means, eclipse will deal with save files remotely.