当前位置: 首页 > article >正文

git基础命令

git简介

什么是git?

git是一种分布式版本控制系统。

git与svn之间的区别是什么?

  1. svn是集中式版本控制系统。
  2. git是分布式版本控制系统。

什么是集中式版本控制系统?有哪些特点?

  1. 版本库是集中存放在中央服务器。
  2. 集中式版本控制系统必须联网才能工作,本地电脑从中央服务器获取最新的版本,修改之后再推送给中央服务器。
  3. 中央服务器出现问题,会影响所有人的工作。

什么是分布式版本控制系统?有哪些特点?

  1. 分布式版本控制系统没有中央服务器,每个人的电脑上都是一个版本库。
  2. 分布式版本控制系统有一台用于交换大家修改的远程服务器,例如gitHub,gitLab。
  3. 与本地版本库的操作不需要联网。

git相比较svn有哪些优点?

  1. git可以在离线状态下继续工作,而svn不能。
  2. svn中央服务器的压力比较大,git适合分布式开发,强调个体,公共服务器压力和数据量不会太大。
  3. 适合开源项目的开发。

git常用命令

  1. $ init 初始化一个仓库。
  2. $ pwd 显示当前目录。
  3. $ git add 告诉git将文件添加到仓库。
  4. $ git commit 告诉git将文件提交到仓库。
  5. $ git commit -m “” 添加提交说明。
  6. $ git status 掌握仓库当前的状态。
  7. $ git diff readme.txt 查看修改文件具体修改情况。
  8. $ git log --pretty=oneline 查看提交记录和版本信息。
  9. $ git reset --hard XXX 版本回退。
  10. $ git reflog 查看命令历史,以便确定要回到未来的哪个版本。
  11. $ git checkout – file 丢弃工作区的修改。
  12. $ git reset HEAD file 清空暂存区。
  13. $ git rm file 删除工作区中的文件,提交后删除版本库中的文件。
  14. $ git checkout – test.txt 可以从版本库恢复到工作区。
  15. $ git remote add origin git@github.com:jiaxinxiao/learngit.git 关联github上的远程仓库。
  16. $ git push -u origin master 第一次将本地master分支的最新修改推送至github。后续可以使用git push origin master推送最新修改。
  17. $ git branch 显示分支信息。
  18. $ git checkout -b name 创建并切换到name分支上。
  19. $ git checkout -d name 删除名称为name的分支。
  20. $ git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。用于bug分支修复。
  21. $ git stash apply恢复,stash内容并不删除,需要用git stash drop删除。
  22. $ git stash pop恢复,恢复的同时把stash内容也删掉。git stash list查看stash内容。
  23. $ git branch -D 丢弃一个没有被合并过的分支。

更换远程库地址并合并代码

  1. git remote 查看远程库地址
  2. git remote rm origin 删除当前远程库
  3. git remote add origin {url} 添加新远程库地址
  4. git remote -v 查看远程仓库
  5. git fetch origin master:temp 从远程仓库获取最新版本到本地,并创建temp分支
  6. git diff temp 比较本地仓库与temp分支的区别
  7. git merge temp 合并temp分支到本地的master分支
  8. git branch -d temp 删除temp分支

如果该分支的代码之前没有merge到本地,那么删除该分支会报错,可以使用git branch -D temp强制删除该分支。

git工作区、暂存区、版本库之间的关系。

git关系图.png

定义

  1. 初始化git版本库之后会生成一个隐藏文件.git,可以理解为git的版本库repository。其中包括master和stage。
  2. 我们自己建立的项目文件夹是工作区。
  3. 在.git文件夹里面有一个index文件,就是暂存区,也叫做stage。
    ###3.2 操作
  4. git add file1 是把文件从工作区提交到暂存区,git commit -m “prompty” file1 是把文件从暂存区提交到了分支master下面。
  5. git diff 比较的是工作区和暂存区的差别
  6. git diff --cached 比较的是暂存区和版本库的差别
  7. git diff HEAD 可以查看工作区和版本库的差别

如何将本地文件上传到gitHub?

  1. git init
  2. git add .
  3. git commit -m"first commit"
  4. git remote add origin url
  5. git push -u origin master

http://www.kler.cn/a/132860.html

相关文章:

  • 51单片机应用开发---LCD1602显示应用
  • OpenGL 进阶系列11 - 粒子特效(使用 Compute Shader)
  • 【Go】-bufio库解读
  • Go 语言切片初始化与性能优化:使用 cap 参数的重要性
  • Codeforces Round 987 (Div. 2) ABCD
  • FFmpeg源码:avio_read_partial函数分析
  • 【微信公众号】一、获取 access_token
  • .Net(C#)常用转换byte转uint32、byte转float等
  • 使用新版Visual Studio编译老项目部分报错处理
  • ChatGpt3.5已经应用了一段时间,分享一些自己的使用心得.
  • [Docker]六.Docker自动部署nodejs以及golang项目
  • 如何快速本地搭建悟空CRM结合内网穿透工具高效远程办公
  • 电磁场与电磁波part4--时变电磁场
  • 大师学SwiftUI第18章Part1 - 图片选择器和相机
  • 【Linux】Alibaba Cloud Linux 3 安装 PHP8.1
  • 挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?
  • 鼎盛合 | 宠物智能投食机方案设计开发
  • 基于STC12C5A60S2系列1T 8051单片的IIC总线器件模数芯片PCF8591实现模数转换应用
  • 【C++函数的进化】函数指针,模板,仿函数,lambda表达式
  • 【开源】基于JAVA的校园失物招领管理系统
  • 简单的python爬虫工具,B站视频爬虫
  • 高校教师资格证备考
  • 综述:目标检测二十年(机翻版)(未完
  • 读取PDF中指定数据写入EXCEL文件
  • 代码随想录 Day47 动态规划15 LeetCode T583 两个字符串的删除操作 T72 编辑距离
  • golang 上传图片 --chatGPT