Git入门

Original 2016-11-10 09:25:02 588
abstract:1.下载与安装下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载。选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。2.配置(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下

1.下载与安装

下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载。

选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。

2.配置

(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下这两个参数,使用以下命令:

git config --global user.name "Your Name"    
git config --global user.email "your@email.com"

    对终端显示的配置,给文字添加颜色,更易于阅读

git config --global color.diff auto    
git config --global color.status auto    
git config --global color.branch auto

3.常用命令

(1)git init  ,在指定的目录执行该命令,即为初始化git仓库,添加了.git文件。如果要将已存在的项目纳入管理,只需切换到项目目录,执行该命令,然后执行add,最后commit,下文有详细资料介绍。

(2)git add .  .代表添加所有的,你也可以指定具体你想添加的文件,将计划的改动添加到缓存区。

        git add *.js  
        git add index.php

(3)git commit  

//提交时,直接在命令行添加注释  
git commit -m "initial commit"    
//跳过stage阶段,git自动执行stage  
git commit -am 'update to index.php'

(4)git status   查看代码的当前状态,看是否与服务器端一致。

(5)git branch 显示所有分支列表,要想创建分支,在此命令后添加要创建分支的名字,比如:

        git branch bigChange

(6)git checkout,刚刚创建使用命令(5)命令创建分支,但是仍然在master,要想切换到刚刚创建的分支需要使用checkout命令,执行git checkout bigChange,切换到刚创建的分支。

(7)git merge

(8)git log

        git log --gragh

(9)git pull  更新本地仓库,将服务器端的改动更新到本地

(10)git clone /path/to/repository  检出代码,类似svn的checkout

(11)gitk --all  图形化展示仓库

4.如何将已存在的项目纳入git的管理

请参考:http://jiangli.easymorse.com/?p=494

5.工作流程

“你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。”引用自参考资料(3)

首先使用git add命令将计划的改动提交到缓冲区,

然后使用git commit -m "代码提交信息"命令,将代码提交到HEAD,此时还没有提交到服务器

执行如下命令以将这些改动提交到服务器:
git push origin master
可以把 master 换成你想要推送的任何分支。

Git详解之二 Git基础 写道

工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记 录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。而所有其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存 区域。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。在编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。

6.安装eclipse插件EGIT

(1)下载地址:http://www.eclipse.org/egit/

(2)简介:EGit 是Eclipse项目组为git版本控制系统提供的插件。Git是一个分布式的SCM,每一个开发者都拥有代码的所有历史版本的一个完整拷贝,搜索历史非常快且灵活。

7.GitHub

(1)生成ssh keys

ssh-keygen -t rsa -C "your@email.com"    

 生成key文件之后,登录你的github账户,在账户设置中添加将该key添加到ssh key中。具体详细参考:

github网站官方生成key向导:https://help.github.com/articles/generating-ssh-keys,写得非常详细。

(2) 下载感兴趣的项目代码,此处以jquery项目为例

git clone git://github.com/jquery/jquery.git 

8.遇到的问题

(1)ls不能显示中文目录问题

       经过查找资料,在http://www.cppblog.com/kusamba/archive/2010/08/23/124420.html找到解决方式,

    解决办法:在git/etc/git-completion.bash中增加一行: 
             alias ls='ls --show-control-chars --color=auto' 

(2)如何添加已经存在的工程到远程版本库

请参考:http://jiangli.easymorse.com/?p=504

(3)svn工程迁移到git方法

请参考:http://jiangli.easymorse.com/?p=509


Release Notes

Popular Entries