`
xinklabi
  • 浏览: 1591327 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

Git操作实战示例(四)

 
阅读更多

转自:http://blog.csdn.net/ithomer/article/details/7530042

前面三篇介绍了关于 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)

 

 

 

参考推荐:

Windows下google code git的无密码登录

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

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

 

 

Git 版本管理工具

Git 常用命令详解

Git 常用命令速查表

分享到:
评论

相关推荐

    Git实战IDEA操作

    Git实战IDEA操作详解 Git是一款分布式版本控制系统,它在软件开发中扮演着至关重要的角色,帮助团队协作和代码管理。IntelliJ IDEA(简称IDEA)是广受欢迎...请参考《Git实战操作IDEA实战.pdf》获取更详细步骤和示例。

    Git合并代码,Git合并代码,Git合并代码,Git配置与分支管理教程

    通过具体的示例代码演示了各个操作步骤的具体应用情况,帮助读者快速掌握 Git 工作流的核心概念与基本技能。 适合人群:适用于初学者或有一定经验的 Git 使用者,希望通过实例学习如何配置及管理个人 Git 项目。 ...

    Python自动化运维实战案例源码(20个案例)下载实战演练Python包使用教程指南模块操作技术与最佳实践书示例及案例源码

    Python自动化运维实战案例源码(20个案例)Python案例源代码下载实战演练,包括:difflib 比对两个文件的区别用html高亮展示类似于git,dns操作python,fabric高效的ssh远程服务库,filecmp文件内容比对,func模块...

    Git相关资源

    Git是分布式版本控制系统,它使得开发者能够高效地协作并跟踪代码变更。以下是对Git相关资源的详细解析: ...Git Resource压缩包可能包含了教程、命令参考、实战示例等内容,这些都是深入理解和掌握Git的重要资源。

    GitHack-master.rar

    9. **实战案例**:项目可能提供了针对特定场景的示例,如模拟攻击、漏洞复现,或是如何防御针对Git的攻击。 10. **学习资源**:GitHack-master可能还包含了教程、文档或链接,帮助用户深入了解Git的高级特性和最佳...

    git 分享ppt

    下面通过示例来具体说明Git的分支管理: 1. **创建分支**: - 使用`git branch <branch-name>`创建新分支。 - 使用`git checkout <branch-name>`切换到新分支。 2. **提交文件**: - 在开发分支上完成工作后,...

    Git Version Control Cookbook 2nd Ed-2018.7.pdf

    - **综合示例**:书中提供了多个实际项目中的例子,帮助读者理解如何在不同场景下应用Git的各种命令和技术。 - **配置目标**:介绍了如何根据不同的需求配置Git,例如设置默认分支名称、启用颜色支持等。 #### 七、...

    git的使用和创建_creat

    Git作为一种强大的版本控制系统,不仅提供了基础的操作命令,还具备一系列独特的特性,如高效的分支管理、灵活的合并与重定位等。通过学习和掌握Git的基本命令及工作流程,开发者可以有效地协作开发,提高工作效率,...

    Git Tag 标签详解

    #### 四、实战应用示例 **1. 补打标签** - **命令**:`git tag -a [标签名] [提交对象的校验和]` - **说明**:为之前的某个提交打标签。 - **示例**:假设你想要为提交对象 `9fbc3d0` 打一个标签 `v0.1.1`,则可以...

    EVCache缓存在Spring Boot中的实战示例

    接着,我们可以实现 EVCacheClient 中的方法,例如 `get`、`put` 和 `delete`,以操作缓存数据: ```java public class EVCacheClient { // ... public String get(String key) { return evCache.get(key); } ...

    jquery mobile官方git资源

    总结,jQuery Mobile官方Git资源为开发者提供了全面的学习材料和实战案例,无论是初学者还是经验丰富的开发者,都能从中受益。通过深入理解和掌握这些知识点,我们可以更加高效地构建高质量的移动Web应用,满足不同...

    rwTODOs:入门git视频课程的示例项目

    总结起来,这个“rwTODOs”项目是一个非常适合初学者的git实战教程,通过参与这个项目,你可以学习到git的基础知识,如初始化仓库、创建分支、切换分支、合并分支、解决冲突等,并能了解到如何在实际开发中应用git...

    Git权威指南.pdf

    1. **真实项目示例**:通过具体项目案例,展示如何有效利用Git进行项目管理和版本控制。 2. **常见问题解答**:收集并解答开发者在使用Git过程中可能遇到的问题。 ### 结论 “Git权威指南.pdf”旨在为初学者提供一...

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

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

    Git使用培训2.pdf

    从给定的文件信息来看,这是一份针对Git使用的详细培训资料,主要涵盖了Git的基本操作、分支管理、版本控制规范以及高级应用等多个方面。以下是对这些知识点的详细解析: ### Git使用培训概述 #### 版本控制的重要...

    经典项目示例及Tomcat

    【描述】提到的"经典的实战项目示例"意味着这些项目代表了某个领域的典型应用场景,可能是企业信息化、电商、社交网络或者其他业务场景。它们通常包含了完整的前后端架构、数据库设计、业务逻辑处理等各个层面,为...

    spring-boot示例项目

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

Global site tag (gtag.js) - Google Analytics