仅仅说一下现阶段对于git的理解。(刚学)看标题 有空就补充点 **帮助在云端管理代码。**可以把代码保存到云端,也可以把代码进行下载。还有就是可以查看之前的版本以及进行回滚。 下面一部分学习自http://git-scm.com/
git安装
无外乎三种,一个命令安装,下载可运行文件安装,从源码安装。 可查看下面网址进行安装
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
git配置
1,位置信息
~/.gitconfig
.git/config
/etc/gitconfig
2,设置你的用户名和邮件地址(每次提交都会使用这些信息)
git config --global user.name "名字"
git config --global user.email johndoe@example.com
git config --list
git仓库
1,从网上拉取
git clone https://github.com/libgit2/libgit2
2,本地构建 首先进入到我们要使用的代码的文件夹下,可以用cd 命令
git init
对文件代码进行跟踪,已跟踪的文件就是 Git 已经知道的文件
git add *.c
git add LICENSE
git commit -m 'initial project version'
git status
文件跟踪
git add README
忽略文件
vim .gitignore
*.[oa]
*~
build/
/build
移动文件
git mv README.md README
mv README.md README
git rm README.md
git add README
查看历史
git log
git log -p -2
git log --stat
git log --pretty=oneline
git log --since=2.weeks
撤销操作(这个部分就有点不理解了)
git commit -m 'initial commit'
git add forgotten_file
git commit --amend
取消暂存的文件 操作暂存区和工作目录中已修改的文件
git add *
git reset HEAD CONTRIBUTING.md
撤消对文件的修改
git checkout -- CONTRIBUTING.md
远程仓库
git remote add pb https://github.com/paulboone/ticgit
git remote -v
git fetch pb
git push origin master
git remote show origin
git remote rename pb paul
git remote remove paul
打标签
git tag
之后再加内容
git别名
git config --global alias.ci commit
git ci
git config --global alias.unstage 'reset HEAD --'
没说怎么在云端使用,后面补。
基础的内容:
- Git 是一个开源的分布式版本控制系统(我觉得叫工具也行)
- 分布式(不需要服务器端软件,就可以运作版本控制)
- 把内容按元数据方式存储
- git 本身关心文件的整体性是否有改变
- git 是用 C 语言开发的(极致的速度)
- TCP 监听端口为 9418
(git 存储每个新创建的 object 作为一个单独文件。为了压缩存储空间占用, packs 操作把很多文件(启发式类似名字的文件往往具有类似内容)使用差分压缩入一个文件中(packfile),并创建一个对应的索引文件,指明 object 在 packfile 中的偏移值。新创建的对象仍然作为单独文件存在。repacks 操作非常费时间,git 会在空闲时间自动做此操作。也可用命令 git gc 来直接启动 repack。packfile 与索引文件都用 SHA-1 作为校验和并作为文件名。git fsck 命令做校验和的完整性验证。)待理解
|