IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git学习日志 -> 正文阅读

[开发工具]git学习日志

仅仅说一下现阶段对于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 # 可以当成个人的环境变量,和bashrc和profile的关系差不多

2,设置你的用户名和邮件地址(每次提交都会使用这些信息)

git config --global user.name "名字"  # 设置名字
git config --global user.email johndoe@example.com # 设置邮箱
# --global 表示你在电脑中的任何位置使用git都会用上面的信息
# 想针对特定项目使用不同的用户名称与邮件地址时,可以在那个目录下使用不带--global的命令
git config --list # 可以列出配置信息

git仓库

1,从网上拉取

git clone https://github.com/libgit2/libgit2 # 后面的地址就是github上会有的地址。学习代码常用命令。

2,本地构建
首先进入到我们要使用的代码的文件夹下,可以用cd命令

git init # 会创建一个名为 .git 的子目录,也就是初始化一个文件夹

对文件代码进行跟踪,已跟踪的文件就是 Git 已经知道的文件

git add *.c
git add LICENSE
git commit -m 'initial project version' # 引号后面是备注,去github上也可以看到对于某些文件改动的描述
git status # 可以查看哪些文件处于哪些状态,有新文件,已修改等状态

文件跟踪

git add README # 跟踪一个文件

忽略文件

vim .gitignore # 可以使用vim命令在这个文件下忽略你想要跟踪的代码
*.[oa] # 在gitignore里面加上这个可以忽略以.o和.a结尾的文件
*~ # 在gitignore里面加上这个可以忽略以波浪号结尾的文件
build/ # 忽略所有build文件夹
/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 # 以不同的风格展示提交历史 还有short,full 和 fuller,还可以用format(离谱)
git log --since=2.weeks # 限制展示时常为两周

撤销操作(这个部分就有点不理解了)

git commit -m 'initial commit' # 提交操作
git add forgotten_file # 这个时候发现有个文件没有提交
git commit --amend # 撤销上一次的提交,再重新进行一次新的提交

取消暂存的文件
操作暂存区和工作目录中已修改的文件

git add * # 暂存文件(之后我得看看*啦,.啦有啥区别)
git reset HEAD CONTRIBUTING.md # 取消CONTRIBUTING.md文件的暂存,git status之后会有提示

撤消对文件的修改

git checkout -- CONTRIBUTING.md # 撤消之前所做的修改,将它还原成上次提交时的样子,git status会有提示,对那个文件在本地的任何修改都会消失,Git会用最近提交的版本覆盖掉它。

远程仓库

git remote add pb https://github.com/paulboone/ticgit # 添加远程仓库,前面pd是别名,后面是url
git remote -v # 查看远程仓库
git fetch pb # 从别名为pd的远程仓库拉取信息
git push origin master # 将 master 分支推送到 origin 服务器时(如果有人先于你进行推送,你必须抓取之后才可以推送)
git remote show origin # 查看origin 别名仓库的信息,列出了当你在特定的分支上执行 git push 会自动地推送到哪一个远程分支
git remote rename pb paul # 重命名pd为paul
git remote remove paul # 移除一个远程仓库

打标签

git tag # 打标签
之后再加内容

git别名

git config --global alias.ci commit # 为commit设置别名为ci。
git ci # 这样就等同于git commit了
git config --global alias.unstage 'reset HEAD --' # git unstage fileA等同于git reset HEAD -- fileA了

没说怎么在云端使用,后面补。

基础的内容:

  • Git 是一个开源的分布式版本控制系统(我觉得叫工具也行)
  • 分布式(不需要服务器端软件,就可以运作版本控制)
  • 把内容按元数据方式存储
  • git 本身关心文件的整体性是否有改变
  • git 是用 C 语言开发的(极致的速度)
  • TCP 监听端口为 9418

(git 存储每个新创建的 object 作为一个单独文件。为了压缩存储空间占用, packs 操作把很多文件(启发式类似名字的文件往往具有类似内容)使用差分压缩入一个文件中(packfile),并创建一个对应的索引文件,指明 object 在 packfile 中的偏移值。新创建的对象仍然作为单独文件存在。repacks 操作非常费时间,git 会在空闲时间自动做此操作。也可用命令 git gc 来直接启动 repack。packfile 与索引文件都用 SHA-1 作为校验和并作为文件名。git fsck 命令做校验和的完整性验证。)待理解

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:48:05  更:2021-11-12 19:48:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:57:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码