{"id":5463,"date":"2016-04-20T20:02:29","date_gmt":"2016-04-20T20:02:29","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=5463"},"modified":"2016-04-20T20:02:29","modified_gmt":"2016-04-20T20:02:29","slug":"how-to-setup-git-server-using-bitvise-ssh","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/others\/tips\/how-to-setup-git-server-using-bitvise-ssh\/","title":{"rendered":"How to setup Git Server using Bitvise SSH"},"content":{"rendered":"<p style=\"text-align: justify;\">Recently for one of client, I was in need to setup Git on their intranet. Being healthcare industry and compliance issue, source code could not leave company network and therefore needed in-house solution for Source Code Management (SCM) and automate builds.<\/p>\n<p style=\"text-align: justify;\">In this blog post, I will explain how did we setup Git server that is accessible from anywhere in company network.<\/p>\n<p style=\"text-align: justify;\">We need below two software installed on system which will act as a Git Server.<\/p>\n<ol>\n<li><a href=\"https:\/\/git-scm.com\/downloads\">Git <\/a>(Free)<\/li>\n<li><a href=\"https:\/\/www.bitvise.com\/ssh-server\">Bitvise SSH Server<\/a> (Paid )<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">First we need to install Git on server and add path of &#8220;git.exe&#8221; in environment variable, so that we can use git command from console.<\/p>\n<p style=\"text-align: justify;\">Next, we need to install Bitvise SSH Server and set it up.\u00a0Once, Bitvise SSH Server is installed, we need to follow below steps.<\/p>\n<p style=\"text-align: justify;\"><strong>Step 1:<\/strong> Open Bitvise SSH Server control panel as shown in below image<\/p>\n<figure id=\"attachment_5465\" aria-describedby=\"caption-attachment-5465\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Control-Panel.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5465\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Control-Panel.png?resize=730%2C697&#038;ssl=1\" alt=\"Bitvise SSH Control Panel\" width=\"730\" height=\"697\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Control-Panel.png?w=730&amp;ssl=1 730w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Control-Panel.png?resize=300%2C286&amp;ssl=1 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/a><figcaption id=\"caption-attachment-5465\" class=\"wp-caption-text\">Bitvise SSH Control Panel<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p style=\"text-align: justify;\"><strong>Step 2:<\/strong> Click on &#8220;Edit advanced settings&#8221;. New pop up window will open as shown in below image.<\/p>\n<figure id=\"attachment_5466\" aria-describedby=\"caption-attachment-5466\" style=\"width: 912px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5466\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting.png?resize=912%2C698&#038;ssl=1\" alt=\"Bitwise SSH Server Advance setting\" width=\"912\" height=\"698\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting.png?w=912&amp;ssl=1 912w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting.png?resize=300%2C230&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting.png?resize=768%2C588&amp;ssl=1 768w\" sizes=\"auto, (max-width: 912px) 100vw, 912px\" \/><\/a><figcaption id=\"caption-attachment-5466\" class=\"wp-caption-text\">Bitwise SSH Server Advance setting<\/figcaption><\/figure>\n<p style=\"text-align: justify;\"><strong>Step 3:<\/strong> Click on &#8220;Windows groups&#8221;. New pop up window will open as shown in below image.<\/p>\n<figure id=\"attachment_5467\" aria-describedby=\"caption-attachment-5467\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-5467\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?resize=840%2C473&#038;ssl=1\" alt=\"Bitwise SSH Server Advance setting Windows Group\" width=\"840\" height=\"473\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?resize=1200%2C675&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitwise-SSH-Server-Advance-setting-Windows-Group.png?w=1366&amp;ssl=1 1366w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/a><figcaption id=\"caption-attachment-5467\" class=\"wp-caption-text\">Bitwise SSH Server Advance setting Windows Group<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">In above window, we can define who would have access to Bitvise server. In this case, anyone, who has access to system will have access to bitvise server. However, you can play with these settings to have more granular control.<\/p>\n<p style=\"text-align: justify;\">Step 4:\u00a0Next step, is to link Bitvise SSH server and Git. Double click on entry in &#8220;Windows group&#8221; window opened in previous step. New pop up window will open as shown in below image.<\/p>\n<figure id=\"attachment_5468\" aria-describedby=\"caption-attachment-5468\" style=\"width: 993px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5468\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request.png?resize=993%2C693&#038;ssl=1\" alt=\"Bitvise SSH-Terminal and Exec Request\" width=\"993\" height=\"693\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request.png?w=993&amp;ssl=1 993w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request.png?resize=300%2C209&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request.png?resize=768%2C536&amp;ssl=1 768w\" sizes=\"auto, (max-width: 993px) 100vw, 993px\" \/><\/a><figcaption id=\"caption-attachment-5468\" class=\"wp-caption-text\">Bitvise SSH-Terminal and Exec Request<\/figcaption><\/figure>\n<figure id=\"attachment_5470\" aria-describedby=\"caption-attachment-5470\" style=\"width: 979px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request-2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5470\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request-2.png?resize=979%2C693&#038;ssl=1\" alt=\"Bitvise SSH-Terminal and Exec Request - after scroll\" width=\"979\" height=\"693\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request-2.png?w=979&amp;ssl=1 979w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request-2.png?resize=300%2C212&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Terminal-and-Exec-Request-2.png?resize=768%2C544&amp;ssl=1 768w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/a><figcaption id=\"caption-attachment-5470\" class=\"wp-caption-text\">Bitvise SSH-Terminal and Exec Request &#8211; after scroll<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Click on &#8220;Terminal and exec requests&#8221; and make sure below values has been configured.<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Shell access type<\/strong> as <em>Custom shell settings <\/em><\/li>\n<li><strong>Terminal Shell<\/strong> as <em>cmd.exe<\/em><\/li>\n<li><strong>Convert Git Parameters<\/strong> <em>checked<\/em><\/li>\n<li>\u00a0<strong>Initial terminal shell directory<\/strong> as <em>%Home%<\/em><\/li>\n<li><strong>Permit environment variables<\/strong> <em>checked<\/em><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Once, all above settings are done, create a Git repository on Server. In this example, we will create folder named <em>Git Repo<\/em> in c drive and <em>Repo1.git<\/em> inside newly created as shown in below image. we will run command <strong>git init &#8211;bare<\/strong>\u00a0to create a git repository which will act as a server.<\/p>\n<figure id=\"attachment_5473\" aria-describedby=\"caption-attachment-5473\" style=\"width: 700px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Server.gif?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5473\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Bitvise-SSH-Server.gif?resize=700%2C520&#038;ssl=1\" alt=\"Git bare repository\" width=\"700\" height=\"520\" \/><\/a><figcaption id=\"caption-attachment-5473\" class=\"wp-caption-text\">Git bare repository<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">If you notice in above image, it created multiple folders automatically. When we use &#8220;&#8211;bare&#8221; in &#8220;init&#8221; command, it says that we are not creating a git client but creating git server.<\/p>\n<p style=\"text-align: justify;\">Now, users on other system needs to connect this repository. In\u00a0<em>Terminal and Exec Request window<\/em>, we specified that user will be connected to their home directory. Therefore, to access <em>Repo1.git<\/em>, we need to go back to c drive (2 level up using .. notation) and then navigate to Repo1.git. We will be using below command on client machine.<\/p>\n<blockquote><p>git clone &#8220;ssh:\/\/username@remoteServerIpAddress\/~\/..\/..\/Git Repo\/Repo1.git&#8221;<\/p><\/blockquote>\n<p style=\"text-align: justify;\">In above command, <em>username<\/em> will be replaces by windows username and remoteServerIpAddress will be replaced by actual IP address of server. On successful connection, user will be prompted for windows password. Once user is able to clone repository, they can perform all git activities as usual.<\/p>\n<p style=\"text-align: justify;\">It is possible that user may receive below error while cloning git repository.<\/p>\n<p><em>&#8216;git-upload-pack&#8217; is not recognized as an internal or external command.<\/em><\/p>\n<p style=\"text-align: justify;\">Above error is self-explanatory, we need to make sure that path to &#8216;git-upload-pack&#8217; folder should be configured in environment variable.<\/p>\n<p style=\"text-align: justify;\">To troubleshoot connectivity issue, we can use Activity log of Bitvise SSH Server as shown in below image. User can also click on <em>open log folder viewer<\/em> to dive into detailed log files.<\/p>\n<figure id=\"attachment_5475\" aria-describedby=\"caption-attachment-5475\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Biwise-SSH-Server-Activity-Log.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5475\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Biwise-SSH-Server-Activity-Log.png?resize=730%2C702&#038;ssl=1\" alt=\"Biwise SSH Server Activity Log\" width=\"730\" height=\"702\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Biwise-SSH-Server-Activity-Log.png?w=730&amp;ssl=1 730w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/04\/Biwise-SSH-Server-Activity-Log.png?resize=300%2C288&amp;ssl=1 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/a><figcaption id=\"caption-attachment-5475\" class=\"wp-caption-text\">Biwise SSH Server Activity Log<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Step by step guide to setup Git Server using Bitvise SSH Server<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[17],"tags":[366,108,264],"class_list":["post-5463","post","type-post","status-publish","format-standard","hentry","category-tips","tag-bitvise","tag-git","tag-ssh-key"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4276,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-in-salesforce-using-jenkins-and-git-video-tutorial\/","url_meta":{"origin":5463,"position":0},"title":"Continuous integration in Salesforce Using Jenkins and Git | Video Tutorial","author":"Jitendra","date":"March 23, 2015","format":false,"excerpt":"As your Salesforce Organization undergoes heavy customization and frequent builds, moving changes from one Sandbox to other sandboxes starts taking longer time and effort. Also, in normal Salesforce project, there are chances that you will have minimum three sandboxes likely Developer Sandbox, QA Sandbox and UAT Sandbox. After some time\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce - Jenkins Git Polling Log","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4756,"url":"https:\/\/www.jitendrazaa.com\/blog\/others\/tips\/fix-git-errors-permission-denied-and-cannot-spawn\/","url_meta":{"origin":5463,"position":1},"title":"Fix Git errors : Permission denied , Cannot spawn , No supported authentication methods available","author":"Jitendra","date":"August 6, 2015","format":false,"excerpt":"Recently, I came across few errors of Git and found very time consuming to fix those. Let's discuss what are those errors and how we can fix it. Error : Permission denied (publickey). fatal : could not read from remote repository This error came while trying to push changes to\u2026","rel":"","context":"In &quot;Tech Tips&quot;","block_context":{"text":"Tech Tips","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/others\/tips\/"},"img":{"alt_text":"Pageant Load existing SSH keys","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/08\/Pageant-Load-existing-SSH-keys.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/08\/Pageant-Load-existing-SSH-keys.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/08\/Pageant-Load-existing-SSH-keys.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3231,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/creating-first-application-in-heroku-using-eclipse\/","url_meta":{"origin":5463,"position":2},"title":"Creating First Application in Heroku using Eclipse","author":"Jitendra","date":"March 3, 2013","format":false,"excerpt":"Hello Readers, in this article we will see step by step procedure to deploy your first (Hello World) program in Heroku. There are two ways, first going through series of Commands of \"Heroku\" and \"GIT\" and other simple and smart way is to use Eclipse Capability with Heroku. To make\u2026","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"Setting up Credentials for Heroku in Eclipse","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2013\/03\/Setting-up-Credentials-for-Heroku-in-Eclipse.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2013\/03\/Setting-up-Credentials-for-Heroku-in-Eclipse.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2013\/03\/Setting-up-Credentials-for-Heroku-in-Eclipse.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3115,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/authenticate-git-using-ssh-protocol-with-eclipse-and-egit-salesforce\/","url_meta":{"origin":5463,"position":3},"title":"Authenticate Git using SSH protocol with Eclipse and Egit &#8211; Salesforce","author":"Jitendra","date":"September 25, 2012","format":false,"excerpt":"In Previous article, i have explained step by step approach to configure Git for Salesforce using Eclipse and Egit plugin. However, i have explained the \"https\" method to connect Git directly. There are several repositories which does not support the \"https\" protocol and prefer \"SSH\" (Secure Shell) protocol. So, in\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Configure Push for SSH Authentication in Git","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Generate-SSH-RSA-Key-using-Eclipse.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Generate-SSH-RSA-Key-using-Eclipse.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Generate-SSH-RSA-Key-using-Eclipse.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3930,"url":"https:\/\/www.jitendrazaa.com\/blog\/others\/tips\/resolve-error-eclipse-ssh-key-is-not-matching-the-ssh-keys-that-is-associated-with-your-heroku-account\/","url_meta":{"origin":5463,"position":4},"title":"Resolve Error : Eclipse SSH key is not matching the SSH key(s) that is associated with your Heroku account","author":"Jitendra","date":"July 27, 2014","format":false,"excerpt":"We have seen that how to create First Heroku application using Eclipse.\u00a0However it is possible that after following all steps properly in above article you may receive error saying the Eclipse SSH key is not matching the SSH key(s) that is associated with your Heroku account. To fix this error,\u2026","rel":"","context":"In &quot;Tech Tips&quot;","block_context":{"text":"Tech Tips","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/others\/tips\/"},"img":{"alt_text":"Clone Git from Heroku","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/Clone-Git-from-Heroku.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/Clone-Git-from-Heroku.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/07\/Clone-Git-from-Heroku.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":5935,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-ci-in-salesforce-using-team-foundation-server-tfs-video\/","url_meta":{"origin":5463,"position":5},"title":"Continuous Integration (CI) in Salesforce using Team Foundation Server (TFS) &#8211; Video","author":"Jitendra","date":"March 20, 2017","format":false,"excerpt":"Step by step guide to set up Continuous Integration (CI) for Salesforce using Team Foundation Server (TFS) with video tutorial","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Team Foundation Server (TFS) - New Build definition - Select repository","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/5463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=5463"}],"version-history":[{"count":5,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/5463\/revisions"}],"predecessor-version":[{"id":5476,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/5463\/revisions\/5476"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=5463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=5463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=5463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}