Git安装与使用教程-本地仓库与远程仓库内容版本管理
一.Git 简介
Git是目前世界上最先进的分布式版本控制系统。其可以进行本地和远程两种版本控制。
- 本地版本控制:在本地 .git 文件夹内维护历时文件
- 远程仓库(如GitHub)版本控制:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库。
Git主要特征如下:
下面分别介绍Git安装教程、本地版本控制、远程版本控制。
二.Git 安装教程-Windows
Git官网下载地址,Git安装教程
三.本地版本控制
本地版本控制主要用于非公开项目版本管理,如公司项目、个人保密项目等,目前GitHub也可以建立非公开的私人远程仓库,如果保密性过高,可以选择就在自己的电脑上进行版本管理。
接下来介绍下在电脑上进行本地版本控制的各个操作。
获取本地Git仓库- git init
如果你打算使用 Git 来对现有的项目进行管理,
你只需要进入该项目目录并输入:git init
,
此命令会创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。查看当前文件状态-
git status
输入后,显示了当前目录下包含的文件及当前分支,当前分支为master,一般初始化仓库后会默认生成分支master
,图中红色文件表示这一类文件还未被跟踪,属于上述三种状态之已修改状态。git status
输出十分详细,如果你使用git status -s
命令或git status --short
命令,你将得到一种更为紧凑的格式输出。运行git status -s
,状态报告输出如下:新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有M 标记。你可能注意到了 M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没放入暂存区,出现在靠左边的 M 表示该文件被修改了并放入了暂存区。添加文件至暂存区,输入
git add (files)
git add 命令使用文件或目录的路径(本例使用当前路径)作为参数;如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件,此时文件处于已暂存状态,如Changes to be committed
下显示的文件。提交文件至本地仓库-
git commit -m "建立算法代码仓库,第一次提交"
问题: 图中红色框内正常应是中文,作者这里不知是哪里设置问题,输出不太正确,如有知道原因的朋友可在评论区留言讨论,感谢~ 如图显示当前文件已提交至仓库master
分支。注意,提交时记录的是放在暂存区域的快照。任何还未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。查看查看已暂存和未暂存的修改-
git diff
修改本地文件readme.txt,添加时间注释“-2020.03.02记录”,源文件内容如图,
修改后内容如图,
修改内容后文件处于已修改状态,输入git diff
查看文件区别,
图中显示了已暂存和未暂存文件区别。
git diff --cached
查看已经暂存起来的变化,从暂存区移除-
git rm <files>
,本地和仓库中均移除文件,结果如图所示。如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f,git rm -f <files>
。
另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪。当你忘记添加 .gitignore文件,不小心把一个很大的日志文件或一堆 .a 这样的编译生成文件添加到暂存区时,这一做法尤其有用。为达到这一目的,使用 --cached 选项:git rm --cached readme.txt
。
git rm 命令后面可以列出文件或者目录的名字。如git rm log/\*.log
删除log/ 目录下扩展名为 .log 的所有文件。git rm \*~
为删除当前目录下以 ~ 结尾的所有文件。设置忽略文件.gitignore
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,可以创建一个名为.gitignore 的文件,列出要忽略的文件模式。
例:第一行忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件。要养成一开始就设置好 .gitignore 文件的习惯。
cat .gitignore
*.[oa]
*~
下面付一些其他命令的使用
重命名文件-
git mv file_from file_to
查看提交历史-
git log
,git log有很多支持的选项,可自行百度。
尝试重新提交-
git commit --amend
取消暂存的文件-
git reset HEAD <file>
撤销对未暂存文件的修改 -
git checkout --<file>
先更这么多,远程仓库使用下次更新,感谢各位朋友的:点赞、收藏和评论~
Git安装与使用教程-本地仓库与远程仓库内容版本管理相关推荐
- git命令行推送本地分支到远程仓库
之前说过Git与IDEA强强联合(HTTPS协议连接)那么如何使用命令行来推送代码呢? 如下图所示为一个基于layui的前端代码: 目录工作区文件: 本地内容就是将这些内容推送到远程仓库 首先使用gi ...
- 用git和idea推送本地项目到远程仓库
方式一:git命令方式 1.鼠标右键:Git Bash Here 2.初始化仓库:git init 3.配置签名:①git config user.name "Zhang3" ② ...
- 通过Android studio使用git创建本地分支提交远程仓库以及如何查看切换分支
我们有时候对命令不熟悉的同学例如我,那么这个AS自带的这个创建分支功能就对我们必不可少了. 首先我们看下远程仓库只有主支master,没有任何分支的信息如下图: 1.首先我们打开AS,点击右下角的gi ...
- git删除本地分支在远程仓库已不存在的分支
查看本地及远程所有分支 git branch -a 查看origin的详细信息 git remote show origin 同步origin主机对于git分支的删除操作,即去除Git Graph无用 ...
- Git 安装和使用教程(更加详细)
转载至:https://www.cnblogs.com/smuxiaolei/p/7484678.html#undefined Git 安装和使用教程 git 提交 全部文件 git add . g ...
- Git 安装和使用教程(Windows)
安装 git官方下载地址: https://git-scm.com/download/win 不过下载很慢,而且容易打不开,于是找了个其他下载链接 下载完成后,一路点击next,所有设置保 ...
- Git详解之必知点----Git、本地仓库、远程仓库、IDEA集成Git
Git详解之必知点 1.Git介绍 1.1版本控制(理解) 1.2开发中存在的问题(理解) 1.3SVN版本控制(理解) 1.4Git版本控制(理解) 2.Git下载和安装 2.1Git的安装(应用) ...
- 08 Git中本地工作与远程仓库的同步
本节视频: 本节的目标对应日常工作的常态,将应对第一次提交中不会遇到的各种"意外".这些意外是多人合作中的正常现象,需要掌握其正确的处理方式. 与上一节相比,本节的新内容是从远程仓 ...
- 在自己的服务器上搭建git仓库服务器(本地推送到远程仓库、远程仓库推送到本地)
文章目录 Git服务器 一.安装Git 二.配置Git 1.创建Git用户 2.仓库初始化 三.使用仓库 1.本地推送到远程仓库 2.远程仓库推送到本地 总结 Git服务器 一般,我们编写项目,都会保 ...
最新文章
- 【亲测可用】Xshell可视化配置一个登录服务器后自动进入指定目录的方法
- shellcode中变形bindshell的实现
- 深度学习中Flatten层的作用
- under what circumstances, breakfast is essential
- F - Heron and His Triangle UVALive - 8206
- 847. Shortest Path Visiting All Nodes(一)
- 错误记录(八)could not initialize proxy - no Session
- HTTPS 会变成跟踪功能
- python中的类装饰器应用场景_python中的装饰器常用于哪些应用场景
- Linux内核网络:实现与理论--序言
- 系统集成方式:数据集成、控制集成
- BUUCTF-web [极客大挑战 2019]PHP1 之 反序列化漏洞
- 计算机专业英语辅音字母缩略,英语缩写规则
- uni-app实现PDF预览功能(避坑看这)
- Ubuntu 20.04 桌面美化 iOS主题
- 黄页88网站之加密字符串破解
- Windows端口代理转发
- Visio绘图软件所需图标总结
- 短消息聊天框html模板,短信、私信、微信等聊天对话的文本消息生成器AE模板
- java 设置环境变量生效_配置java环境变量后没有生效的解决办法
热门文章
- Redis 启动杂项
- Servlet开发入门
- ubuntu中常用指令
- 线性回归、逻辑回归及SVM
- node sqlite 插入数据_安卓手机中的应用数据都保存在哪些文件中?
- 计算机专业黑板报迎新,大学开学迎新黑板报
- oracle外键如何创建索引,子表建立外键的索引问题
- mysql优化说明_MySQL性能优化各个参数解释说明
- 怎么用python找论文_如何利用Python绘制学术论文图表方法
- linux 存储映射lun 给_如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘 | Linux 中国