Git是一个分布式版本控制系统,他通过命令行使用的工具,Github是提供Git仓库托管服务的网站

安装参考:

https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496

创建版本库

参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304

首先创建一个文件夹

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

然后变成Git可以管理的仓库

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

  然后里面会多处一个.git的文件夹,这个文件夹是用来存储管理信息的,有人给我说不要动他

λ ls -ah
./ ../ .git/

  我们也可以进入一个已经有文件的文件夹使用git init命令,同样也能把这个文件变成版本库

向版本库中添加文件

  版本控制系统只能够跟踪文本文件的改动,如TXT文件,网页,所有的程序代码,如果文件时二进制文件,虽然能管理,但只能把每次改动的二进制文件给串联起来,不知到怎么串联的。

  因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

  不要使用windows自带的记事本编辑文本文件,因为Microsoft的开发人员会在文件开头添加一个十六进制字符串,而这个字符串会带来很多莫名奇妙的问题,比如写好的HTML网页在显示的时候会在开头显示一个?

  一定要放到learngit目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。

  第一步:用命令git add告诉Git,把文件添加到仓库:

C:\Users\Administrator.SC-2012\learngit (master -> origin)
λ git add readme.txt C:\Users\Administrator.SC-201\learngit (master -> origin)
λ

  执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

  第二步,用命令git commit告诉Git,把文件提交到仓库:(commit:保证)

λ git commit -m "创建了一个readme.txt"#-m后面是对本次提交文件的说明
[master (root-commit) b30fedb] 创建了一个readme.txt
1 file changed, 2 insertions(+)#一个文件被改动,添加了两行内容
create mode 100644 readme.txt

  为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

λ git add file1.txt

C:\Users\Administrator.SC-201605202132\learngit (master -> origin)
λ git add file2.txt file3.txt#中间用空格而不是逗号隔开 C:\Users\Administrator.SC-201605202132\learngit (master -> origin)
λ git commit -m'添加了三个文件'
[master 06bcd78] '添加了三个文件'
3 files changed, 3 insertions(+)
create mode 100644 file1.txt
create mode 100644 file2.txt
create mode 100644 file3.txt

  

  

最新文章

  1. 阿里云服务器Linux CentOS安装配置(十)安装Discuz
  2. 为什么我坚持学习C语言?
  3. 【leetcode】Excel Sheet Column Title
  4. 四、优化及调试--网站优化--Yahoo军规中
  5. nrf51822裸机教程-硬件timer
  6. 20145227 《Java程序设计》实验五实验报告
  7. 第一个MySQL 存储过程
  8. orcherd 汉化
  9. MFC可编辑的ListCtrl
  10. 【HDOJ】3592 World Exhibition
  11. bzoj1643 [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪
  12. T-SQL基础(1) - T-SQL查询和编程基础
  13. jQuery(5)——动画
  14. SpringCloud笔记七:Zuul
  15. java.——最大子序列和(前提是:全部都是非负数)
  16. iOS - 栈顶VC控制器的获取
  17. 20155201 2016-2017-2 《Java程序设计》第八周学习总结
  18. sparksql 操作hive
  19. linux进程通信:消息队列
  20. zabbix api

热门文章

  1. Nginx 核心配置-新建一个web站点
  2. PHP的SOLID设计原则
  3. JZOJ3492数数&&GDOI2018超级异或绵羊——位&&类欧几里得
  4. Winform 弹框增加确定按钮并点击确定后进行下一步操作
  5. .Net Core 获取项目所有程序集,排除Microsoft、Nuget下载的
  6. md5-js加密
  7. 填坑 bzoj3337
  8. C语言实现Linux之ls
  9. nlp语义理解的一点儿看法
  10. oracle用dba创建用户并授权