文章标题

1 篇文章 0 订阅

Git学习记录

git简介

git是分布式版本控制系统

集中式vs分布式

集中式版本控制
分布式版本控制
相比较集中式版本控制依赖网络,分布式版本控制对网络依赖降低

初次运行git配置

git config工具:用于读取相应的工作环境变量

变量可以存放在不同的地方:


  • /etc/gitconfig文件: 系统中对所有用户都普遍适用的配置。适用git config –system的选项就是写入这个文件
  • ~/.gitconfig文件: 用户目录下的配置文件只是用于该用户。若使用git config –global选项,读写的就是这个文件。
  • 当前项目的git目录中的配置文件(也就是工作目录中的.git/config文件):
    这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config里的配置会覆盖/etc/gitconfig中的同名变量。

用户信息


git config –global user.name “jiao”
git config –global user.email “jiao@163.com”


文本编辑器


git config –global core.editor emacs


差异分析工具


git config –global merge.tool vimdiff


查看配置信息


$ git config –list
user.name=jiao
user.email=jiao@163.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=a


有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig
和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个


git config user.name
Scott Chacon

git help config


Git基础命令

git初始化目录


git init


初始化后,在当前目录下会出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。不过目前,仅仅是按照既有的结构框架初始化好了里边所有的文件和目录,但我们还没有开始跟踪管理项目中的任何一个文件。

克隆相关仓库

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

记录每次的更新

文件的状态变化周期

新文件状态
$ git status
 On branch master
 Untracked files:
(use "git add <file>..." to include in what will be committed)
 README
nothing added to commit but untracked files present (use "git add" to track)
添加跟踪新文件
$ git add README
git status
 On branch master
 Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
 new file:
README

只要在 “Changes to be committed” 这行下面的,就说明是已暂存状态

忽略某些文件
$cat  .gitignore
*.log
*.[oa] ##忽略*.a或者*.o结尾的文件
*.a    # 忽略所有 .a 结尾的文件
!lib.a   # 但 lib.a 除外
/TODO   # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/   # 忽略 build/ 目录下的所有文件
doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
提交
$git commit -m "fix name"
跳过使用暂存区域
$git commit -a -m 'added new benchmarks'
移除文件

删除本地,同时删除git暂存区域

$ rm test
$ git rm test

只删除git 暂存区域

$ git rm --cached readme.txt
移动文件

会提示rename

$git mv README.txt README
$git status
 On branch master
 Your branch is ahead of 'origin/master' by 1 commit.
 Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed:
README.txt -> README

相当于执行了三条命令

$ mv README.txt README
$ git rm README.txt
$ git add README
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值