`
nanjingjiangbiao_T
  • 浏览: 2594100 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Git 操作实战示例(四)

 
阅读更多

前面三篇介绍了关于 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 远程下载

gitclone 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 clonegit://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-sourceandroid-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[generatedgooglecode.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.首先在命令行 pingwww.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)





参考推荐:

Windows下google code git的无密码登录

Git 界面GUI和命令行Command两种操作方式

google code托管开源项目https://code.google.com/hosting/settings被墙的解决方法


Git 版本管理工具

Git 常用命令详解

Git 常用命令速查表



分享到:
评论

相关推荐

    基于SSM框架的CRUD操作实战源码学习与总结

    项目概述:本项目致力于SSM(Spring、SpringMVC、MyBatis)框架的应用实战,通过一个完整的CRUD(创建、读取、更新、删除)操作示例进行学习总结。项目主要采用Html作为前端展示语言,同时融合了Java、JavaScript、...

    spring-boot示例项目

    本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...

    Git rebase命令使用实战

    主要介绍了Git rebase命令使用实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    基于Flask框架的API对接项目实战演示源码

    项目概述:本项目是一个基于Python的Flask框架的API对接实战演示源码。它包含共45个文件,其中主要编码语言为Python,并辅助包含HTML用于前端展示。具体文件类型分布如下:Python源文件(36个),YAML配置文件(2个...

    java8stream源码-git-flow-practise:git-flow-练习

    实战:Lambdas、Streams 和函数式编程一书中示例和测验的所有源代码。 您可以在这里购买这本书:或在亚马逊上 所有示例的源代码都可以在目录中找到 第 1 章:Java 8:你为什么要关心? 第 2 章:通过行为参数化传递...

    notebooks:Jupyter Notebook和数据科学示例

    Jupyter笔记本示例 使用numpy和pandas库的Jupyter Notebook入门示例。... 使用更多可以在笔记本中执行的操作示例,使intro.ipynb笔记本更加通用 添加指向软件要求的安装指南的链接 创建一个专注于array类型的n

    教程:利用Git和社区的力量编写未来的教程。 『图雀写作工具』

    Git + Tuture =教程(教程) ”基于Git,为写作技术实战教程而生“![]( ) 介绍Tuture是一种基于Git版本控制系统,为实战技术的教程创作而生的写作工具,具有以下...因此Git仓库通常是专门用于教学演示的示例项目。

    geek_time_cpp:Geek Time 的 C++ 代码示例

    现代 C++ 实战 30 讲示例代码 这里存放的是的示例代码。构建代码需要 CMake 和下列编译器之一: MSVC(Visual Studio)2019 16.4.4 或更新版本 GCC 7 或更新版本 Clang 7 或更新版本 我假设 Windows 用户使用 MSVC ...

    java多人聊天室源码-Sample:极客时间专栏《即时消息技术剖析与实战》代码示例

    这是极客时间专栏《即时消息技术剖析与实战》代码示例,实现了一个简易web版的聊天室。主要分成两期完成,,。 期中示例说明 这个聊天室的大概功能有: 支持用户的登录。 双方支持简单的文本聊天。 支持消息未读数...

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 ...16 Model操作之select_related以及...

    学习kafa的笔记,可以看看目录选择下载

    8. kafka操作实战-命令行管理topic-命令行生产消费 9. kafka操作实践-producer生产这api示例 10. producer生产者发送数据的流程—主线程—缓存—sender线程 11. producer重要参数详细解析 12. consumer的基本api开发...

    performance-samples:多个示例展示了Android性能最佳实践

    不要忘记签出子模块: git submodule update --init --recursive 要运行任一示例: ./gradlew benchmark:cC 此示例说明如何使用Benchmark库对库模块中的代码和UI进行基准测试。 此原型示例展示了如何将Benchmark库...

    golang工程最佳实践

    主要参考极客时间《Go 语言项目开发实战》规范设计。 首先理解工程化规范包括的两方面: 非编码类规范:开源规范,文档规范,版本规范,Git 规范,发布规范,… 编码类规范:目录规范,代码规范,接口规范,日志...

    Qt5开发及实例.pdf

    Qt5开发及实例

    resource:资源集合url

    技术大全: ://ngte-web.gitbook.io/i/react/hooks/usecallback-yu-usememo泳道图工具: ://swimlanes.io/ python操作dom 换视频背景前端工具 节点使用示例集合正则可视化手机,电脑套壳工具 git文档: : ...

    Java例题源码第二章-spmia-chapter1:第1章Spring微服务实战

    及更高版本构建了本书中的代码示例。 我正在利用 V1.11 版中出现的 Docker 中的嵌入式 DNS 服务器。 新的 Docker 版本不断发布,因此您使用的发布版本可能会定期更改。 Git客户端()。 本书的所有源代码都存储在 ...

    chaos-eng.github.io:混沌工程原理

    有关格式的示例,请参见目录。 编辑文件,并按字母顺序在[Languages]部分下添加[Languages.xx]行。 (可选):在本地测试: hugo server -D并将浏览器指向本地服务器 生成html文件: hugo 提交所有生成的文件: ...

    SpringBoot-Learn:Spring Boot 入门

    示例代码::Spring Boot 集成 Flyway:Spring Boot 集成 Swagger 2:如何优雅地停止 Spring Boot 应用?:Spring Boot 集成 WebSocket 实现服务端推送消息到客户端:Spring Boot 集成 Elasticsearch 实战:Spring Boot ...

    witchUI:基于uniapp,面向业务实战的开发库

    witchUI @ 1.0.1 集成的通用组件,js库,官方api,图标,css库,主题等。 witchUI是什么 uni-app是一个使用Vue.js开发所有...clone到本地,导入demo示例的witchUI目录到项目的根目录里 git clone https://github.com/w

    使用机器学习和深度学习对城市声音进行分类:体验两种技术(ML 和 DL)对音频数据(城市声音)进行分类-matlab开发

    此数据集的示例包含在随附的 git 存储库中,完整数据集可从此处下载。 在这个例子中有 7 个里程碑: 里程碑 1:示例介绍、探索和可视化数据里程碑 2:使用诊断应用程序设计器进行数据预处理和提取特征(信号时

Global site tag (gtag.js) - Google Analytics