文档章节

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

奥巴码侬
 奥巴码侬
发布于 2014/05/13 01:20
字数 1243
阅读 112
收藏 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
金钱管理软件 jfinal money 4.0 更简单了

更新说明: 由于许多人下载代码后,会反映CRUD封装可读性太差,这次对前台进行了全面重构。 把CRUD封装改为代码自动生成,这样对简单的增删改查仍然可以通过配置,而不写任何前台代码,并且项...

Fly的狐狸
2015/01/08
4.8K
35
开源项目spring-shiro-training思维导图

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

yunlielai
2017/04/15
0
0
TCSF 服务框架配套代码生成器--TCSF-Codegen

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

unic0rn
2017/06/27
617
4
Python3.4+Django1.7+SQLite3实现增删改查

前2篇文章,散仙写了关于Django的入门安装,以及简单模拟数据库的MVC使用,那么本篇就来稍微深入下,来看看如何使用Django来实现一个增删改查的小例子: 序列 名称 备注 1 win7 操作系统 2 ...

yzbty23
2015/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

aws S3 util demo

package com.example.demo;import com.amazonaws.AmazonClientException;import com.amazonaws.AmazonServiceException;import com.amazonaws.auth.BasicAWSCredentials;import co......

经常把天聊死的胖子
6分钟前
1
0
我们知道CDN护航了双11十年,却不知道背后有那么多故事

摘要: 一路走来,文景也曾疑惑过:为什么我们不能把活动的时间跨度拉长到3天,或者1周呢?那样我们或许就不必冒着如此大的风险,承受日常峰值是10倍以上的压力啊!然而当他走到现在才深刻的...

阿里云官方博客
15分钟前
2
0
linux下查看cpu、memo、io、swap性能数据脚本

直接贴脚本: 1、cpu #!/bin/bashCurrentDate=`date -d today '+%Y%m%d'`CurrentTime=`date -d today '+%Y%m%d%H%M'`mytext="$CurrentTime\t`top -b -n 1 | grep Cpu\(s\......

郑加威
18分钟前
2
0
MySQL之——查询重复记录、删除重复记录方法大全

MySQL之——查询重复记录、删除重复记录方法大全

安小乐
22分钟前
1
0
spring容器启动,停止,关闭事件监听-ApplicationEvent

ApplicationEvent ApplicationEvent相当于一个事件,所有自定义事件都需要继承这个抽象类。在Eclipse中Ctrl+Shift+H调用类的层次结构列表,可以看到如下 Application下抽象子类ApplicationCo...

tantexian
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部