【Git】学习指南(一)

本文是Git学习系列的第一篇,涵盖了Git的基本概念,包括Git的版本库结构、图形与命令行工具。文章介绍了如何配置Git环境、创建项目、提交文件、检查状态、显示历史记录。此外,还详细讲解了Git的协作功能,如克隆、拉取、推送、合并,以及解决冲突。最后,作者分享了创建共享版本库的过程,鼓励读者共同学习交流。
摘要由CSDN通过智能技术生成

一、基本概念

Git:分布式版本控制系统。Git Gui为图形界面工具,Git Bash为命令行工具。

版本库本质为一个高效的数据存储结构:

1、文件(blob):文本、二进制数据;

2、目录(Tree)

3、版本(commit):当创建新版本时,会自动根据数据内容计算出对应的十六进制散列值(版本号,eg.1632acb65b01c6b621d6e1105205773931bb1a41)


二、入门操作

1、准备Git环境

  • 下载:http://git-scm.com/download(官网)
  • 配置用户:config命令

git config --global user.name "17-XiXiLiu"  #用户名

git config --global user.email "844897284@qq.com" #邮箱



2、创建项目

  • 创建项目目录(用于Git测试)


  • 创建版本库

 cd ./git/test # 切换至项目目录

 git init # 创建版本库,即工作区


  • 首次提交

git add foo.txt bar.txt   #确定哪些文件应包含在下一次提交中

git commit -m "sample project import"   #-m可写成--message,将修改提交到版本库中,并赋予一个版本号


  • 检查状态

修改foo.txt内容;先删除bar.txt,再添加bar.html新文件。

git status  #查看项目自上次提交后所发生的修改

git diff foo.txt  #显示foo.txt被修改的行

备注:bar.html被标记为Untracked files(未跟踪),是因为没有用add将其注册至版本库。



  • 提交修改

git add foo.txt bar.html   #对修改的文件和新增的文件执行add

git rm bar.txt   #对删除的文件执行rm

git status   #会看到所有以上修改已被算入下次提交中

git commit -m "some changes"   #提交修改


  • 显示历史

git log  #显示项目版本提交历史,按提交时间降序显示



3、协作功能

在实际开发项目中,往往是将项目clone到本地(版本库副本),然后在本地项目版本库中进行开发,再将开发的内容进行提交(add和commit),最后再push到远程,请求merge,合并到主支上。

  • 克隆版本库

 git clone ./test ./test-clone  #test-clone为test的克隆体(副本)


  • 从另一版本库中获取修改

修改test/foo.txt,提交修改。

cd ./test

git add foo.txt

git commit -m 'a change in the original'  #新提交的信息存入test版本库中,但test-clone版本库中是没有的

git log --oneline  #--oneline默认只显示提交ID和提交信息的第一行


修改test-clone/bar.html,提交修改。

cd ./test-clone

git add bar.html

git commit -m 'a change in the clone'  #新提交的信息存入test-clone版本库中,但test版本库中是没有的

git log --oneline  #--oneline默认只显示提交ID和提交信息的第一行

git pull  #将原版本库的新提交传给克隆体,并从原版库中取回新的修改,进行对比后,在工作区合并两边修改,创建新的提交(merge),pull只在克隆版本库中执行。

备注:某些情况会导致冲突。需手动清理一些文件。

git log --graph   #日志图形化


  • 创建共享版本库

git clone --bare  ./test ./test-bare  #创建裸版本库,不带工作区,用来充当push的汇聚点,便于他人从中拉回修改


  • push上传修改

cd ./test

git add foo.txt

git commit -m "more changes in the original"

git push /e/git/test-bare master  #需指定目标版本库的路径和分支


  • 获取修改

cd /e/git/test-clone

git pull /e/git/test-bare master 


(pull和push用于本地和远程之间的共享版本提交)

博主是个小白,正在学习中,将笔记拿出来和大家分享一下,若有理解错误的地方,请大牛多指教!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值