设为首页 收藏本站
查看: 683|回复: 0

[经验分享] 使用Git 过程中遇到的几个问题及其解决方案

[复制链接]

尚未签到

发表于 2018-9-18 10:37:26 | 显示全部楼层 |阅读模式
  前面三篇介绍了关于 Git 的概念、命令使用、命令查询等理论知识
  1)Git 版本管理工具
  

  2)Git 常用命令详解
  3)Git 常用命令速查表
  

  本文主要介绍在使用Git 过程中遇到的几个问题及其解决方案
  

  

  一、Git 界面GUI和命令行Command两种操作方式
  Git 进行代码版本管理时,有两种操作方式:图形界面GUI 和 命令行Command
  图形界面GUI:有平台限制,目前仅支持Windows系统,Linux(Unix)都是命令行模式,并且图形界面每次提交好像Display显示文件数有限制(如:最大显示20000个文件)
  命令行Command:没有平台限制,Windows、Linux(Unix、Mac OS X)下都支持,通过 gid add dir/files 添加文件,没有文件数限制
  下面详细介绍 Git 管理和操作的两个方式:
  1、图形界面GUI
  首先,下载Windows下的Git图形界面工具:msysgit  或 官方下载
  接着,安装 msysgit ,如下载最新的 Git-1.7.10-preview20120409.exe 后安装,操作方式有Git GUI 和 Git Bash两种,默认为 Gui Bash Only
  然后,安装完后,在开始 —> 所有程序 —> Git 中,有 Git Bash 和 Git Gui 两个图标,点击启动 Git Gui 界面如下:

  

  msysgit 图形工具,可以创建新的版本库(本地)、克隆已有版本库(远程)、打开已有版本库(本地或远程)
  例如:克隆已有的版本库(远程),如 克隆下载 linux-kernel-source 步骤:
  a、 点击“克隆已有版本库”,依次输入远程版本库(xxx)和本地目录(xxx),如下图

  

  

  2、命令行Command
  a、Git 远程下载
  git  clone  git://git.kernel.org/pub/scm/  project_path
  1)例如:下载 linux-kernel-source,Git 命令如下
  git  clone  https://code.google.com/p/linux-kernel-source/ /E/Fruit/code_google/linux-kernel-tmp

  

  

  2)例如:下载 Linux 内核 git.kernel.org
  git  clone  git://git.kernel.org/pub/scm/   /home/homer/Linux-kernel-3.3.4
  b、 Git 本地上传
  添加新文件:git add dir/files
  提交文件:git commit -m 'add xxx.txt'
  上传文件:git push
  

  Git命令更多实例,请见我在google code上传的两个开源项目:linux-kernel-source 和 android-source-homer
  

  

  

  二、Windows下google code git的无密码登录
  每次使用git push代码到google code的时候总要输入用户名及密码,很是麻烦:

  

  说明:上文提示可以看到,由于Git版本升级,push.default默认参数值从“matching”改成了“upstream”,并且给出了两种修改方案:
  1) git config --global push.default matching —— 维护先前的行为(matching)
  2) git config --global push.default upstream —— 引进新的行为(upstream)
  

  以上两条命令,根据自己需求设置一条即可,以后此提示信息就不会再弹出。
  

  幸运的是,google code在项目管理页面提供了保存认证信息的方法:

  

  Option 2 即为无密码登录的配置。不过这个配置是针对Linux系统的。那么windows下有没有类似于.netrc的配置呢?
  答案是肯定的。完成windows下.netrc的配置需要两个步骤:1.新建HOME环境变量;2.新建_netrc文件,并输入配置信息。
  1. 环境变量
  If you are using Windows 7
  run the cmd type this:
  

  
setx HOME %USERPROFILE%(注意:%USERPROFILE% 才是当前默认的用户目录)
  

  and the %HOME% will be set to 'C:\Users\"username"'
  例如:用户名为 homer,则 %HOME% will be set to 'C:\Users\homer'

  

  
  

  2. 配置_netrc
  windows下的 .netrc 文件要命名为 _netrc  具体步骤:
  首先,在【1、环境配置】指定的%HOME%目录(C:\Users\homer)中新建一个名为 _netrc 的文件
  然后,在新建的  _netrc 的文件中,输入以下内容:
  machine  code.google.com  login  xxx@gmail.com  password  xxx [generated googlecode.com password]
  其中,password 是code.google.com自动生成的,在 Profile —> Settings —> GoogleCode.com Password(https://code.google.com/hosting/settings)
  Git Push 不需要输入密码上传效果图:

  

  推荐参考:StackOverflow
  

  

  

  

  三、 google code托管开源项目https://code.google.com/hosting/settings被墙的解决方法
  方法一:
  很多人在使用 code.google.com时, 都需要一个code.google.com的密码, 这个密码是从https://code.google.com/hosting/settings 网址获得, 但大多时候您会发现这个网址不能打开,通过实践分析的原因可能是以下原因:
  1. 国家屏蔽了www.google.com 的网址IP地址
  2. 由于国家屏蔽, google.com被迫更改了自己的IP地址。
  解决办法:
  1.首先在命令行 ping www.google.com ,查出当前google.com的IP地址。
  2.修改c:\windows\system32\drivers\etc\hosts 文件
  74.125.153.104 为你当前Ping时看到的IP。
  追加以下内容:
  74.125.153.104 code.google.com
  
74.125.153.104 encrypted.google.com
  
74.125.153.104 suggestqueries.google.com
  
74.125.153.104 mail.google.com
  
74.125.153.104 groups.google.com
  
74.125.153.104 groups.google.com.hk
  
74.125.153.104 docs.google.com
  
74.125.153.104 docs0.google.com
  
74.125.153.104 docs1.google.com
  
74.125.153.104 spreadsheets.google.com
  
74.125.153.104 spreadsheets0.google.com
  
74.125.153.104 webcache.googleusercontent.com
  
74.125.153.104 sites.google.com
  
74.125.153.104 talkgadget.google.com
  
74.125.153.104 clients1.google.com
  
74.125.153.104 clients2.google.com
  
74.125.153.104 clients3.google.com
  
74.125.153.104 clients4.google.com
  方法二:
  刚开始的code.google.com都可以访问到,几乎所有页面都可以访问,唯独查看svn账号密码的页面(https://code.google.com/hosting/settings )就总是“连接被重置”
  因为众所周知的原因,我朝大约是不想让子民向美帝提交代码,所以封杀了这关键性的一页。通过百度查询,发现他们的解决方法虽然都是改hosts(方法一),但具体怎么改,说的不太对,我自己验证了一下,发现下面的方法比较靠谱
  如果你已经有了翻方法,那翻访问就行了,我的方法是针对不翻的情况下的。
  网上有人说让我们先ping一下www.google.com和code.google.com然后去拿这个结果中的IP去设置hosts,可能会不行!!!
  为什么呢?因为我们的ping也被墙给阉割过了,比如说ping www.google.com,显示的结果可能是Ping code.l.google.com的,被篡改了。
  我们要得到和美帝一样的ping结果怎么办呢?
  很简单,先在google搜索online ping,找到第一个或者你看着顺眼的一个网站打开,用里面的在线ping工具来ping code.google.com,相当于用了国外的服务器来ping,所以结果是靠谱的。
  步骤总结:
  1、去google搜online ping,在英文google搜;或直接打开 ping.eu/ping
  2、在提供在线ping的国外网站上,输入:ping code.google.com ,取得ip
  3、改hosts文件,将刚才ping到的ip设置和code.google.com配对。(最好清空一下dns缓存,命令行输入ipconfig /flushdns



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-589743-1-1.html 上篇帖子: git的安装之路 下篇帖子: 轻松搭建git服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表