首页 > 其他 > 详细

git 入门操作

时间:2014-04-05 00:57:36      阅读:569      评论:0      收藏:0      [点我收藏+]

最近刚开始学习在github上建立仓库(repository)和上传项目,需要学习git的一些操作,记录下来以免忘记。

 

  git介绍:

  git是个版本控制系统(CVS),可以用于项目的备份、修改、分支、合并和记录文件差异等等的操作

  其他的分布式管理系统着重存储文件的原始版本以及衍生版本的差异,而git的不同点在于记录文件整体的快照(snapshot),从而保存文件的指纹和索引。当有新版本提交时,git会比对之前存储的指纹,若无变化,则只存储索引,若有则存储快照。

  另外,git的文件存储在本地,这样可以避免服务器崩溃之后所有工作无法正常进行,同时也避免大量请求同时只想服务器时造成服务器负载过大而崩溃或请求处理缓慢。

 

  git下载与安装:

  在ubuntu上可以使用

sudo apt-get install git

 

在fedora 上可以使用 

sudo yum install git-core

 

来安装。

  喜欢自己通过源码安装的朋友可以查看官方的安装文档:http://git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git。

  如果想要git的源码,可以从网站上下载:http://git-scm.com/downloads。或是从git上clone下来:

git clone https://github.com/git/git

 

 

  git 基本操作:

  git下的状态有三种:暂存(staged)、已提交(commited)和已修改(modified)。

  已修改(modified):文件已被修改,但未保存;

  暂存(staged):文件已被放置于下次保存提交的清单中;

  已提交(commited):文件已被提交并保存于本地数据库中。

  接下来的操作都是围绕以上三种状态执行的。

 

  • git配置

    针对全部用户配置 /eitc/gitconfig,使用参数 --system;针对该用户配置 ~/.gitcongit ,使用参数 --global;针对当前 git 目录配置 .git/config,这个拥有最高优先级。

    e.g.  通常针对当前用户配置用户信息:
    git config --global user.name github上的用户名(myName)
    git config --global user.email  github上的绑定邮箱(123@gmail.com)
    git config --global core.edit 常用编辑器(emacs)
    git config --gloabl merge.diff 差异分析工具(vimdiff)

     其他命令还有 color.status/interactive/branch/diff 等等。查看配置可以使用

    git config --list

     

     查看帮助

git help <command>
git <command> --help
man git-<command>
e.g
git help config

 

  • git一般操作

    将工作目录初始化为新仓库,初始化之后用ls -a 可看见列表中有.git文件,说明初始化成功

    git init

     

    添加文件进入git 仓库,注:add 命令后面也可以加 文件目录,会默认递归 添加目录中的文件
    git add fileName
    git commit -m ‘initial project version‘ 或
    git commit

     git 文件状态循环图

    bubuko.com,布布扣

  查看当前文件状态

git status

例如如下状态解读:

bubuko.com,布布扣init 之后可以看见 .git 文件,说明 git 工作目录初始化成功,此时查看 status 发现 a.c 和 b.c 文件都是 untracked 状态,说明这两个文件都没有加入到 git 中

bubuko.com,布布扣将 a.c 加入git 之后,a.c 状态变为 unstaged 状态,等待commit 而 b.c 仍是 untracked 状态;同样可以将 b.c 加入到 unstaged 队列中。

若此时修改(在commit之前) a.c 文件,在查看 status

bubuko.com,布布扣

 发现原来的 unstaged 状态的 a.c 文件并没有更改,而更改的文件状态变为 modified,此时需要将 a.c add进入git 才会覆盖原来的committed状态的 a.c 文件

bubuko.com,布布扣

     commit 之后,才真正修改了原来的文件,

   

   忽略某些文件:

   在 git 目录中添加 .gitignore 文件,将需要忽略的文件加入 .gitignore 中,则在 commit 之后,.gitignore 中匹配出的文件将不会被 commit。如下示例:

bubuko.com,布布扣

   将修改后的仓库放入github

git remote add origin url
git push origin master

 

 

 

   上述代码中,origin表示你的远程仓库,改名称为默认值,可以从github上更改,url指的是远程仓库的地址,master往往指的是当前修改之后的仓库。

 

 

git 入门操作,布布扣,bubuko.com

git 入门操作

原文:http://www.cnblogs.com/buptrabbit/p/3645250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!