本文主要结合网上参考和自己提交代码遇到的问题总结git提交代码的流程和问题。
1、首次上传代码
在需要上传的代码文件中终端中执行:
touch README.md //这个貌似必须有,我第一次因为这个上传出错
git init // 初始化
git add. // .代表添加文件夹下所有文件
git commit -m "first commit" // 把添加的文件提交到版本库,并填写提交备注
git remote add origin git@10.180.30.18:test/your_file_name.git //建立远程链接,git@10.180.30.18:test/your_file_name.git 为你的远程仓库地址,其中有两个链接,一个http,一个ssh,我自己用http链接上传失败,改用ssh就可以了。
git push -u origin master // 将代码上传
2、后续提交更新
git add. // .代表添加文件夹下所有文件
git commit -m "change ** file" // 把添加的文件提交到版本库,并填写提交备注
git push -u origin master // 将代码上传
如果git push出现error:
error: 无法推送一些引用到 ' git@10.180.30.18:test/your_file_name.git'
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
先执行一下git pull 命令(如果弹出Vim窗口,Ctrl+X 保存即可),再执行git push 即可。
- 注:其他可能错误,利用http链接进行git clone或者git push时出现错误:
unable to access 'https://github.com/…
这是由于公司代理设置问题或者git本身设置代理(一般是不需要代理),查看是git否有设置代理
git config --global -l
如果没有"proxy"的字样,再关闭公司代理,如果还是报错,重启以下电脑试试,我遇到过一次。全都取消代理设置后,还不行,重启了以后就可以了。
3、解决git clone时每次都需要输入用户名和密码
解决git clone时每次都需要输入用户名和密码的三种方法:
1. SSH免密方式
(1)在终端执行
ssh-keygen
(2)获取秘钥
cat ~/.ssh/id_rsa.pub
(3)在git仓库的“用户设置中”添加秘钥,名称可以随意:
2. 配置全局认证信息
下面命令会账号和密码保存起来,永久使用。
git config --global credential.helper store
清除该账号和密码,使用如下命令:
git config --global credential.helper reset
3. 地址中增加用户信息
git remote add origin https://username:password@xxx.git