git学习

2023-05-16

1.git和svn的区别

svn是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器,集中式 版本控制系统是必须联网才能工作,对网络要求比较高

git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上,协同的方法是这样的:比如自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需要吧各自的修改推送给对方,就可以互相看到对方的修改了

git是目前世界上最先进的分布式版本控制系统

2.git配置

查看配置: git config -l

查看不同级别的配置文件:

git config --system --list

查看当前用户(global)配置

git config --global --list

git相关配置文文件:

1)D:\git\Git\etc\gitconfig:git安装目录下的gitconfig --system 系统级

2)C:\Users\Administrator\.gitconfig:只适用于当前登录用户的配置 --global 全局

设置用户名与邮箱

git config --global user.name "yangao"

git config --global user.email 1213192588@qq.com

3.git基本理论

工作区域:git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repositoryz或Git Directory),如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域

工作流程:

工作目录:平时存放项目代码的地方

暂存区:临时存放你的改动,只是一个文件,保存即将提交到文件列表信息

资源库:安全存放数据的位置,这里面有提交所有版本的数据,其中HEAD指向最新放入参考的版本

远程仓库:托管代码的服务器

git管理文件的三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

4.git项目搭建

 本地仓库搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库

1)创建全新的仓库,需要用git管理的项目的根目录执行:

git init

2)克隆远程仓库

git clone [url]

5.git文件操作

文件4中状态

Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged

Unmodify:文件已经入库,未修改,如果被修改,状态为:Modified,如果使用git rm移出版本库,则成为Untracked 文件

Modified:文件已修改,仅仅只是修改,通过 git add可进入暂存 staged状态,使用git checkout,则是从库中取出文件,覆盖当前修改,返回到Unmodify状态

Staged:暂存状态,执行git commit则将修改同步到库中,这时候库中的文件和本地文件是一致的状态,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified

1)查看文件状态

git status [filename]

 2)查看所有文件状态

git status

git add .  #添加所有文件到暂存区

git commi t -m "备注消息"  #提交暂存区的内容到本地仓库

3)忽略文件

*.txt  #忽略所有.txt结尾的文件

!lib.txt  #除了lib.txt除外

/temp  #仅忽略项目根目录下的TODO文件,不包括其他目录temp

build/  #忽略build/目录下的所有文件

doc/*.txt  #忽略doc/notes.txt 但不包括doc/server/arch.txt 

 6.使用码云

1)注册登录码云,完善个人信息

2)设置本机绑定SSH公钥,实现免密码登录

#进入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git学习 的相关文章

  • 当出现错误时如何删除远程分支?

    我尝试过以下命令 但失败了 git push origin next remote error denying ref deletion for refs heads next To blah git remote rejected nex
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • gitlab 请求将分支 A 合并到开发中(落后 3 次提交)我应该担心吗?

    在 gitlab 中创建合并请求时 我经常收到一条消息 请求将分支 A 合并到开发中 x 提交落后 gitlab想告诉我什么 我应该担心还是需要修复某些东西 什么 一段时间后合并请求在项目中打开时 由于其他人合并了自己的更改 您尝试合并到的
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 清理远程 Git 分支

    我已经将 SVN 存储库移至 Git 可能由于多次克隆 我现在只剩下一堆看起来像这样的分支 BranchA origin BranchA remotes BranchA remotes origin BranchA remotes orig
  • 在 Windows 上使用 Git - 意外丢失了大量工作。我可以拿回来吗?

    我很困惑 我想我已经失去了几个小时的工作时间 我之前在 Git 中编辑了一个文件 我保存了它 但没有提交 我确实做了一些其他文件更改 并提交并推送了它们 然而 有一个文件被搞乱了 所以我单击了最后一次成功的提交 然后按了 回滚到此提交 令我
  • http.h:6:23: 致命错误:curl/curl.h:没有该文件/目录

    我在 CentOS 7 中下载 git 包 wget https www kernel org pub software scm git git 2 0 1 tar gz tar xzf git 2 0 1 tar gz 当我编译git时
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • 如何让 git 显示作者日期指定日期范围内的提交?

    显然this https stackoverflow com a 11189286 281545 git log all after
  • 使用 GitHub,在添加现有存储库时如何推送所有分支?

    我创建了一个新的 GitHub 存储库 我想将现有的存储库放在那里 我按照说明操作 cd existing git repo git remote add origin email protected cdn cgi l email pro
  • Smartgit:自动插入提交消息

    有没有办法使用钩子脚本在 Smartgit 中自动插入提交消息 重击 如果用户提交了他的更改 我想预加载提交消息字段 我没有看到任何SmartGit配置 http www syntevo com smartgit documentation
  • 如果您使用 CocoaPods,您的 .gitignore 中会包含什么内容?

    我从事 iOS 开发已经几个月了 刚刚了解到有前途的可可豆荚 http cocoapods org 用于依赖管理的库 我在个人项目上尝试过 添加了依赖项Kiwi https github com allending Kiwi到我的 Podf
  • 结帐时出现 Git 错误:“致命:引用不是树”

    当我决定弄清楚为什么我正在从事的项目如此重要时 这一切就开始了 我运行了以下脚本 git rev list objects all git cat file batch check objecttype objectname objects

随机推荐

  • Vim技巧-多行缩进

    向前或向后缩进4个空格 按shift 43 v组合键进入Visual Line模式 xff0c 可使用方向键选择多行 xff1b 按 lt 或 gt xff0c 进行向前或向后缩进 注 xff1a 有些设置为缩进一个Tab单位 向前或向后缩
  • nginx 配置git server http clone服务,并通过反向代理访问

    要做一个通过踏板机的ip进行git代码的上传与下载 xff0c 所以思路不是踏板机上安装nginx反向代理 xff0c 并且linux服务器也需要提供http方式的访问git xff0c ssh方向不知道怎么进行反向代理 linux服务器也
  • ESP8266 Windows开发环境搭建(IDE1.5)好用不骗人

    最近一个项目需要用ESP8266 xff0c 找了很多文章进行环境搭建编译都很问题 xff0c 不是make Menuconfig 不出来 xff0c 就是编译报错 xff0c 现总结如下 我在自己电脑上没弄出来 xff0c 就安装了一个虚
  • React-Native run-android报错以及adb 命令不识别

    在遇到adb 命令不识别 xff0c 或者genymotion的模拟器不识别 xff0c 找不到的问题 都是genymotion配置的不正确 打开genymotion的adb设置 xff0c androidSDK的配置选择自己下载的andr
  • android 浏览器 打开本地html文件的方法

    android 浏览器 打开本地html文件的方法有些html文件放在本地磁盘和sdcard xff0c 如何用打开这个网页呢 xff1f 这种应用在测试时非常有用 有 xff12 个方法 xff1a xff11 使用文件管理器 如ES等
  • 中国各主要大城市经纬度数据

    lt p gt 1 中国各主要大城市经纬度数据 xff1a lt br gt 北京市市中心经纬度 116 41667 39 91667 lt br gt 上海市区经纬度 121 43333 34 50000 lt br gt 天津市区经纬度
  • C# 中关闭当前线程的四种方式

    net类库已经帮助我们实现了窗口的关闭 xff0c 如果此窗口是系统的主窗口 xff0c 关闭此窗口即应该退出了整个应用程序 但事实上有时候并不是这样的 xff0c 关闭窗口 xff0c 只是停止了当前窗口的消息循环 系统主窗口 xff0c
  • linux+live555搭建rtsp服务器

    linux 43 live555搭建rtsp服务器 下载并解压接下来生成Make文件 xff0c 生成需要的文件在live文件夹下make之后会在当前目录下生成mediaServer 文件夹 xff0c 其中有一个live555MediaS
  • Navicat for SQLite 15中文版

    教程 xff1a 1 下载软件压缩包并且解压文件获得安装文件以及文件 2 双击exe文件开始安装并且选择同意用户协议 3 选择软件安装位置 4 软件安装读条中请耐心等待 5 软件安装完成 xff0c 资源地址 xff1a Navicat f
  • ascs 简明开发教程(十八):定时器

    QQ交流群 xff1a 198941541 前面讲过 xff0c ascs支持定时器 xff08 由asio实现 xff09 xff0c socket和object pool都继承自timer对象 xff0c 所以你几乎可以在任意地方使用定
  • 向MySQL数据库中存入json类型数据

    源文章地址 xff1a https www linuxidc com Linux 2017 03 141865 htm 0 说明 因为出于个人项目的需要 xff0c 获取到的数据都是json类型的 xff0c 并且都要存入MySQL数据库中
  • win10安装ElasticSearch,启动闪退问题

    JDK环境原因 xff0c 重新安装一下 xff0c 问题解决
  • JWT生成私钥和公钥

    JWT令牌生成采用非对称加密算法 1 生成密钥证书 下边命令生成密钥证书 xff0c 采用RSA 算法每个证书包含公钥和私钥 keytool genkeypair alias xckey keyalg RSA keypass xuechen
  • 浏览器中Local Storage和Session Storage的区别

    Local Storage xff1a 数量空间没有限制 xff0c 只要硬盘空间较大 xff0c 可以一直存 Session Storage xff1a 是一个会话存储对象 xff0c 在Session Storage中保存的数据只能在同
  • win10 MongoDB启动失败 Error: couldn't connect to server 127.0.0.1:27017, connection attempt faile

    1 我的MongoDB安装路径 2 创建配置文件mongo conf xff0c 文件内容如下 xff1a 数据库路径 dbpath 61 d MongoDB Server 3 4 data 日志输出文件路径 logpath 61 d Mo
  • "docker build"requires exactly 1 argument

    例如运行 xff1a docker build t xc govern center 1 0 SNAPSHOT 后面的这个 前面是有个空格的
  • PyCharm 快捷键

    ctrl 43 alt 43 s xff1a 打开软件设置 ctrl 43 d xff1a 复制当前行代码 shift 43 alt 43 上 下 xff1a 将当前行代码上移或下移 ctrl 43 shift 43 f10 xff1a 运
  • Python进阶

    1 Ubuntu操作系统 Linux主要目录 xff1a xff1a 根目录 bin xff1a 可执行二进制文件的目录 ect xff1a 系统配置文件存放的目录 home xff1a 用户家目录 2 linux命令 查看目录命令 命令说
  • Python+tkinter应用程序设置背景图片

    功能描述 xff1a 设计tkinter应用程序 xff0c 为窗口和组件设置背景图片 参考代码 xff1a 运行效果 xff1a 董付国老师Python系列图书 友情提示 xff1a 不建议购买太多 xff0c 最好先通过京东 当当 天猫
  • git学习

    1 git和svn的区别 svn是集中式版本控制系统 xff0c 版本库是集中放在中央服务器的 xff0c 而工作的时候 xff0c 用的都是自己的电脑 xff0c 所以首先要从中央服务器得到最新的版本 xff0c 然后工作 xff0c 完