1、BUG
root@bfire:~/geeknote# geeknote login
>>> : Authorize...Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 883, in main
User().login(**ARGS)
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 35, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 397, in login
if self.getEvernote().auth():
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/geeknote.py", line 151, in auth
self.authToken = GNA.getToken()
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/oauth.py", line 132, in getToken
self.getTmpOAuthToken()
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/oauth.py", line 150, in getTmpOAuthToken
oauth_callback="https://" + self.url['base']
File "/usr/local/lib/python2.7/dist-packages/geeknote-0.2a-py2.7.egg/geeknote/oauth.py", line 103, in loadPage
conn.request(method, uri, params, headers)
File "/usr/lib/python2.7/httplib.py", line 962, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 996, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 958, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 818, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 780, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 1165, in connect
self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 143, in __init__
self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
self._sslobj.do_handshake()
error: [Errno 104] Connection reset by peer
http://git-scm.com/docs/git-log
02、解决git bash与vim 中文乱码问题
1、vim的,直接修改git自带的vim下的vimrc配置文件即可。
在git安装目录\share\vim\vimrc 文件中加入:
set fileencodings=utf-8,ucs-bom,cp936,big5
set fileencoding=utf-8
set termencoding=gbk
2. 编辑 git-completion.bash 文件:$ vi git-completion.bash
最下面添加
alias ls='ls --show-control-chars --color=auto' #ls能够正常显示中文
3. 编辑 inputrc 文件:$ vi inputrc
修改 output-meta 和 convert-meta 属性值
set output-meta on #bash中可以正常输入中文
set convert-meta off
4. 编辑 profile 文件:$ vi profile
最下面添加
export LESSHARSET=utf-8
5. 重新编译配置文件,使文件生效
$ source git-completion.bash
$ source inputrc
$ source profile
03、error: failed to push some refs to 'git@github.com:archermind/LEDTorch.apk-for-Android.git'
http://like-eagle.iteye.com/blog/1742246
1、注册github账号并创建仓库。
注册好帐号,比如我的用户名是liweiyitou
创建一个新的仓库(Repository),例如theone
2、将工程文件夹(比如theone)拷贝至C:\Sites\下。
3、执行git命令提交代码至Github。
git init
git add .
git commit -m "first" -a
git remote add origin https://github.com/liweiyitou/theone.git
git push origin master
###在之后git控制台提示中继续再输入github的用户名和密码即可push代码成功哦\(^o^)/~
解释:
在当前目录初始化
添加所有文件
提交,first是提交时的注释
要把网址换为你建立的Repository的网址,github网站上能查到
push到github
=========================================
代码冲突"! [rejected] master -> master (non-fast-forward)"的原因以及解决办法:
①博文选摘之一
如下文章选摘自博文:http://blog.csdn.net/mci2004/article/details/7763399
最近想把自己做的一个小小小小的应用放到github上去,顺便学习下git和玩玩github,我用两台电脑往github上的项目push代码,想模拟social coding的感觉。呵呵,但是出现了这个错误 :
To git@github.com:archermind/LEDTorch.apk-for-Android.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:archermind/LEDTorch.apk-for-Android.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
错误产生的原因是,因为我在A电脑上向github上的项目push过代码,而又在B电脑上修改了代码并且要push到github上去,这个时候,git为了避免冲突的发生,rejected。
正确的做法是,在push之前git fetch origin,将github上的新代码拉下来,然后在本地merge,如果没有冲突就可以push了,如果有冲突的话要在本地解决冲突后,再push。具体做法就是。
git fetch origin
git merge origin/master
###这两步其实可以简化为git pull origin master
git push origin master
②博文选摘之二
Git错误non-fast-forward后的冲突解决
博文转载:http://blog.csdn.net/chain2012/article/details/7476493
当要push代码到git时,出现提示:
error:failed to push some refs to ...
Dealing with "non-fast-forward" errors
From time to time you may encounter this error while pushing:
$ git push origin master
To ../remote/
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to '../remote/'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'non-fast forward'
section of 'git push --help' for details.
This error can be a bit overwhelming at first, do not fear. Simply put, git cannot make the change on the remote without losing commits, so it refuses the push. Usually this is caused by another user pushing to the same branch. You can remedy this by fetching and merging the remote branch, or using pull to perform both at once.
In other cases this error is a result of destructive changes made locally by using commands like git commit --amend or git rebase. While you can override the remote by adding --force to the push command, you should only do so if you are absolutely certain this is what you want to do. Force-pushes can cause issues for other users that have fetched the remote branch, and is considered bad practice. When in doubt, don't force-push.
问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:
1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
git push -f
2,先把git的东西fetch到你本地然后merge后再push
$ git fetch
$ git merge
这2句命令等价于
$ git pull
可是,这时候又出现了如下的问题:
上面出现的 [branch "master"]是需要明确(.git/config)如下的内容
[branch "master"]
remote = origin
merge = refs/heads/master
这等于告诉git2件事:
1,当你处于master branch, 默认的remote就是origin。
2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变
如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
之后再重新git pull下。最后git push你的代码吧。it works now~
4\git lab Permission denied 错误解决方案
使用git clone工程的时候,遇到以下错误
Shell代码 收藏代码
[user@host ~]$ git clone user@gitlab.xx.com:projectname/proj.git
Cloning into itemcenter-all...
user@gitlab.xx.com's password:
Permission denied, please try again.
user@gitlab.xx.com's password:
Permission denied, please try again.
user@gitlab.xx.com's password:
Permission denied (publickey,password,keyboard-interactive).
fatal: The remote end hung up unexpectedly
经过查阅发现是ssh模式不支持 用户名+密码 验证,需要调整gitlab服务器ssh配置。
Shell代码 收藏代码
vi /etc/ssh/sshd_config
#修改这一行
#PasswordAuthentication no
PasswordAuthentication yes
也可以客户端使用http模式绕过
Shell代码 收藏代码
[user@host ~]$ git clone http://gitlab.xx.com/projectname/proj.git