bitbucket can't pull/push from repository

感情迁移 提交于 2019-12-03 14:37:55

问题


So basically I have a server where I have bitbucket git repository set up. I've been using it for months and now out of the blue sky when I try to pull I get the following error:

ssh: Could not resolve hostname bitbucket.org: Name or service not known
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I'm 100% sure I have correctly setup my ssh-keys.

git remote -v
origin  git@bitbucket.org:marel/tshirtmafia.git (fetch)
origin  git@bitbucket.org:marel/tshirtmafia.git (push)

Any suggestions how to fix this ? Please let me know if you need anything else.


回答1:


This issue is caused by incorrect git configuration. Open .git folder in root folder of your project and in config file please find the line that starts with

url = git@bitbucket.org

Most probably you have specified protocol there and defined url like url = ssh://git@bitbucket.org

remove ssh:// and it should do the trick for you.




回答2:


This worked for me. I had added google DNS server details in NetworkPreference.

8.8.8.8,8.8.4.4




回答3:


I don't know the exact cause for this issue.First thing to is to ping bitbucket.org. If you are getting response then follow that steps below.

Go to .git folder of you repo, use your favorite editor.open config file and change the url value as shown below.Worked for me.

https://bitbucket.org/<username>/<repo>  -> https://<username>@bitbucket.org/<username>/<repo>

Same steps will fix ssh issue also, Just add username.

In the picture is my notes repo , where i save all my notes




回答4:


Add bitbucket.org to your host file

nano /etc/hosts

Add the bitbucket.org to the host file as shown below

104.192.143.1   bitbucket.org

save the file and exit. bitbucket should be resolved.




回答5:


The error message suggests a DNS or network issue. If this is a linux box you could investigate the output of a few networking commands such as ifconfig, host bitbucket.org, and follow some guides on troubleshooting DNS issues for your specific environment.




回答6:


As sreekumar said, the idea is to preset the DNS and it is detailed here

Changing DNS server settings on Windows 7

  1. Go to the Control Panel.
  2. Click Network and Internet > Network and Sharing Center > Change adapter settings.
  3. Select the connection for which you want to configure Google Public DNS. For example:
    • To change the settings for an Ethernet connection, right-click Local Area Connection > Properties.
    • To change the settings for a wireless connection, right-click Wireless Network Connection > Properties.
    • If you are prompted for an administrator password or confirmation, type the password or provide confirmation.
  4. Select the Networking tab. Under This connection uses the following items, select Internet Protocol Version 4 (TCP/IPv4) or Internet Protocol Version 6 (TCP/IPv6) and then click Properties.
  5. Click Advanced and select the DNS tab. If there are any DNS server IP addresses listed there, write them down for future reference, and remove them from this window.
  6. Click OK.
  7. Select Use the following DNS server addresses. If there are any IP addresses listed in the Preferred DNS server or Alternate DNS server, write them down for future reference.
  8. Replace those addresses with the IP addresses of the Google DNS servers:
    • For IPv4: 8.8.8.8 and/or 8.8.4.4.
    • For IPv6: 2001:4860:4860::8888 and/or 2001:4860:4860::8844.
    • For IPv6-only: you can use Google Public DNS64 instead of the IPv6 addresses in the previous point.
  9. Restart the connection you selected in step 3.
  10. Test that your setup is working correctly
  11. Repeat the procedure for additional network connections you want to change.



回答7:


This seems a lot like the issue I'm facing. In my case the problem was related to IPv6 (for details see: Can't push/pull to bitbucket via SSH when behind VPN. IPv6 issue?). The workaround was to add AddressFamily inet to my .ssh/config file under the Host bitbucket entry, which forces that connection to use IPv4.




回答8:


Just in case none of those answers helped, in my case I was using a "ghost" terminal session. The output of "whoami" was showing some unknown user, and the solution was to close and open a new console window.




回答9:


Add following entry in host (including port number 22) on Windows OS

104.192.143.1:22   bitbucket.org

host file is located at C:\Windows\System32\drivers\etc




回答10:


Alright, as I am getting the hang of git, I would like to attempt to provide feedback/cherry pick on the easy stuff. The error "can't pull/push from repository" typically happens if the user you are using does not have rights to push to the desired remote git repository. If you are new, this should be your origin.

Check SSH Agent:

  • Check Private Key: navigate to your present user's home directory, on linux this is ~/. In this directory check for the folder ~/.ssh. If it exists, you possibly have git setup correctly. Else, if the folder does not exist, find a useful tutorial online to help you setup git on your machine from start to finish.
  • Check Public Key: if you actually found a .ssh folder in your home directory, then look at the public and private keys. Log into your git account online, and navigate to your public key, compare that to the file ~/.ssh/id_rsa.pub. If the contents are the same, your machine should be communicating with the remote server without any issues.

Check Remote: you are here because you are certain that git is installed on your machine, and that your present private key has had it's corresponding public key copied into your online git account. But you may be pushing to the wrong location. First check the branch that you are working on, were you pushing the right branch? Type;

git branch

You should see your branches listed with the present branch highlighted or with an asterisk in front of the name. If you wish to be pushing a different branch, check it out and continue. Then, confirm that you have the right url in origin, type;

git remote -v

Use the given output to confirm that you were pushing to the right remote. If not type;

git remote remove <name>

and follow that with

git remote add <name> <url>

this way when you push your code using

git push <name> <branch>

Everything should be pushed accordingly.

If after checking the above steps, you find that you are still locked out. Note, I assumed that you have a working internet connection. I would obviously setup git from scratch - not the same as reinstalling it, just setup it up and make sure you note the user setting up, and the passphrase that you are using. You should be fine.


Example URL: git@bitbucket.org:username/repository_name.git




回答11:


I had the same problem until I turned off my VPN. I am not sure of the reason though I will be happy if someone explains.




回答12:


This basically means that you are unable to establish a connection with the bibucket because your network isnt allowing you to do so. Try installing the certificates and then use the "git clone" command to clone your repo. c:-->program files -->git -->usr -->ssl -->cer and install the certificates by clicking on ca-bundle and ca-bundle.trust Worked for me . Let me know how it helps you :-)




回答13:


I am using git through Linux Subsystem on Windows 10, and only the answer from @Saviour Dela above, worked for me. Process I followed is as follows:

  1. Get the IP to bitbucket, by ping bitbucket from Windows command prompt.
  2. Add the IP to the /etc/hosts file.



回答14:


Guess what... using Visual Studio and Git Gui I got this same message from git: Could not resolve host: bitbucket.org. Then I went to bitbucket using Chrome on Mac OS and bitbucket was accessible.

In my case it was the Parallels Windows virtual machine that had no internet connection! :-)

So check your internet connection before anything. It can be a simple "no internet connection" problem.




回答15:


In my case it happened because connection was behind proxi.

From command line sites were inaccessible(no ping). However via browsers bitbucket.org was available.

The solution was:

git config --global http.proxy http://proxi_ip_or_host:80


来源:https://stackoverflow.com/questions/29747969/bitbucket-cant-pull-push-from-repository

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!