文档章节

Git 简单学习 (图文) 增删改查提交代码

奥巴码侬
 奥巴码侬
发布于 2014/05/13 01:20
字数 1243
阅读 118
收藏 1

用户信息

第一个要配置你的个人用户名称和电子邮件的地址

$ git config --global user.name "Jone Doe"

$ git config --global user.email xxx@example.com


文本编辑器

接下来要设置的是默认使用的文本编辑器,默认会使用操作系统指定的默认编辑器,一般可能会是 Vi 或者 Vim。

如果你有其他偏好,比如 Emacs 的话,可以重新设置:

$ git config --global core.editor emacs


差异分析工具

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

$ git config --global merge.tool vimdff


查看配置信息

检查已有的配置信息

$ git config --list


取得GIT仓库

俩种取得GIT仓库方法。

第一种在现存的目录下,通过导入所有文件来创建新的Git仓库。

第二种是从已有的Git仓库克隆出新的仓库镜像。


从现有工作目录中初始化新仓库

$ git init

当前目录下会出现一个.git的目录,所有git的数据和资源都会存放在这个目录。
如果需要目录下的几个文件纳入版本控制,需要git add命令告诉Git开始对文件进行跟踪,然后提交

$ git add *
$ git commit -m 'initial project version'

从现有仓库克隆

克隆仓库的命令格式 git clone [url] 例如克隆Ruby的git库

$ git clone git://github.com/schacon/grit.git

会在当前目录下创建一个名为'grit'的目录,包含.git的目录,里面包含所有版本记录,然后从中取出最新版的文件拷贝。

如果想在克隆的时候,自己定义新创建项目的目录名称:

$ git clone git://github.com/schacon/grit.git mygrit

然后目录名称就会使mygrit了。

目前git支持很多协议。之前的例子使用git://协议。还支持http(s)://或user@server:/path.git

记录每次更新到库

工作目录下面的所有文件不外有俩种状态:已跟踪或未跟踪。已跟踪指已纳入版本管理的文件,工作一段时间后,他们的状态可能会变为 未更新,已修改,已放入暂存区。未跟踪的文件既没有上次更新时的快照,也不再暂存区。初次克隆某个仓库时,工作目录中所有文件属于已跟踪,且状态为未修改。

untracked --add the file-->unmodified --edit the flie-->modified --stage the file--> staged

untracked <--remove the file--unmodified <-------------------commit----------------- staged


检查当前文件状态

$git status

 on branch master nothing to commit (working directory clean);

如果出现这句话表明工作目录中没有跟踪者的文件,或跟踪者的文件在上次提交后没有更改。

从头演示

//创建一个文件
$ touch README.md

//初始化
$ git innit



$ git add README.MD



现在我们改变一下README.md,在文件里写入 'first commit';然后查看 git status


git add命令是多功能命令。可以开始跟踪文件,或者把已跟踪文件放到暂存区,还可以用于合并时把冲突的文件标记为已解决状态。


查看已暂存和未暂存的更新

git status的显示比较简单,仅仅列出了修改过的文件,古国查看具体改了哪些地方可以用git diff

$ git diff

我们现在修改一下 README.md

提交更新

可以这样:

$ git commit

也可以这样 commit后面加上此次提交的注释(我一般这样写):

$ git commit -m 'first commit'

也可以跳过使用暂存区域,Git会自动把所以已跟踪的文件暂存起来一并提交,从而跳过 git add 步骤。

$ git commit -a -m 'first commit'

移除文件

在Git中一出文件,就必须要从已跟踪的文件清单中移除(暂存区),然后提交。可以使用git rm 

1 如果文件未 跟踪:

$ rm test.js

2 文件被追踪,已存入暂存区,只是把文件移除暂存区,不从目录中删除

$ git rm --cached test.js

3 文件被追踪,从缓存区和目录中删除

$ git rm -f test.js


更改文件名字

$ git mv flle_form file_to

查看提交历史

$ git log

git log会按提交的时间列出所有更新。

一般常用-p选项搜寻感兴趣的提交,这里用-2仅显示最近俩次更新

$ git log -p -2

简要显示增改的行数

$ git log --stat

还有 --pretty,制定不同的格式战士提交历史,oneline每个提交放在一行显示

$ git log --pretty=oneline

还有short,full,fuller,format(定制显示的记录格式)

这里不截图了。

撤销操作

修改最后一次提交

$ git commit --amend

取消已暂存的文件

$ git reset HEAD test2.js

取消对文件的修改

取消的文件必须是已跟踪的文件

$ git checkout -- test2.js

© 著作权归作者所有

共有 人打赏支持
奥巴码侬
粉丝 33
博文 122
码字总数 43584
作品 0
西城
程序员
私信 提问
翻翻git之---SharedPreferences好用的封装库 PreferencesManager

版权声明:本文为博主原创文章,允许转载,但请保留出处。 https://blog.csdn.net/ddwhan0123/article/details/51243092 转载请注明出处:王亟亟的大牛之路 之前的那个整合库又更新了,东西会...

王亟亟
2016/04/25
0
0
开源项目spring-shiro-training思维导图

终于完成了一个开源项目的思维导图解读。选spring-shiro-training这个项目解读是因为它开源,然后涉及到了很多我们常用的技术,如缓存,权限,任务调度,ssm框架,Druid监控,mybatis-plus,...

yunlielai
2017/04/15
0
0
管理后台+websocket服务器

【业务需求】 管理模块广告管理:广告管理用户行为管理:用户审核,封号/解封数据统计:列表统计,图表统计登录:管理员登录,修改密码运营管理:运营管理信息管理:信息列表展示电商相关:配送...

zb1501210159549
2017/07/28
0
0
团家政

【业务需求】 网站模块聊天:在线聊天,在线客服广告banner:广告banner评论:文字回复评论,图文回复评论搜索查询:搜索查询用户中心:用户信息完善、修改,个人主页,第三方登录管理,忘记密码,...

zb1509527252973
2017/11/02
0
0
TCSF 服务框架配套代码生成器--TCSF-Codegen

服务开发中,几乎所有的功能都可以归纳为对数据库的增删改查,因为服务开发核心就是对数据进行存储和处理。但在日常开发中,增删改查的代码工作是重复而又枯燥无味的,包括从sql编写、持久层...

unic0rn
2017/06/27
617
4

没有更多内容

加载失败,请刷新页面

加载更多

🛠️Hanjst/汉吉斯特更新加JavaScript运行时优化等

这是 Hanjst/汉吉斯特 发布以来的首个主要升级更新版本。这次的主要升级更新的内容包括移除HTML Comments注释行, 优化在 Hanjst include模板文件时的JavaScript运行时环境。 Hanjst 在设计和...

wadelau
27分钟前
0
0
OSChina 周六乱弹 —— 舔狗是没有好下场的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听什么# #今天听这个# 分享 Nirvana 的歌曲《Smells Like Teen Spi...》 《Smells Like Teen Spi...》- Nirvana 手机党少...

小小编辑
今天
169
7
Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部