Github(3)-本地文件管理

使用github 托管代码简单使用教程--本地文件管理

  • 1.基本概念
  • 2.本地文件管理
    • 2.1 git add
    • 2.2 git status
    • 2.3 git commit
    • 2.3 git log
    • 2.5 git reset --hard 版本回退
    • 2.6 git reflog
    • 2.7 git diff
    • 2.8 git checkout --file 工作区文件恢复
    • 2.9 git rm 删除版本库里的文件

廖雪峰老师博文学习笔记:https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432

代码修改/新建进入远端服务器的流程:working directory->staging area->repository->remote repository

git 数据流:
在这里插入图片描述

1.基本概念

工作区(Workspace)本地一个用于当前文件操作的工作区
暂存区(Stage/Index)存放在“.git/目录下”的index文件(.git/index)中
版本库工作区隐藏目录.git/,存放Git的版本库。
远程版本库托管在服务器上的仓库,可与本地代码库建立连接

2.本地文件管理

git 比其他分布式管理系统优秀的原因是它管理的是修改。

2.1 git add

将文件加入缓存区(什么时候加的技巧没有掌握)
单个文件,多个文件,名字匹配文件,所有修改/未修改/删除的文件

git add A.txt
git add A.txt B.txt
git add A*
git add all # 可以提交未跟踪、修改和删除文件
git add . # 可以提交未跟踪和修改文件,但是不处理删除文件

两者都可以将工作区中所有未跟踪或者修改的文件添加到暂存区。(1).git add all无论在哪个目录执行都会提交相应文件。(2).git add .只能够提交当前目录或者它后代目录下相应文件。

参考博文:https://www.softwhy.com/article-8489-1.html
两次add 同一个文件后再commit,提交的是最新的修改文件。

2.2 git status

git status

查看当前的工作区和缓存区的状态,有没有文件被修改,新增,需要提交之类的。

2.3 git commit

Commit–提交,每一个提交可以被视为一个版本。每一次Commit时,作者、时间、注释及其之间的版本都会被记录下来,commit完暂存区被清空。

每当文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。(廖老师)

每提交一个新版本,实际上Git就会把它们自动串成一条时间线。

git commit -m “提交注释:first commit/update xxx”

如果某次commit 之后,发现有新的改动需要提交到这个commit中,可以使用–amend

git add updatefile.py # 新修改的文件
git commit --amend # 将新修改的文件提交的最近的一个commit

随后会跳出提示修改提交信息的窗口,如果不修改提交备注信息,则wq退出即可提交成功。
amend 常用于修改已经提交的版本中的代码,如果是多步提交之前,可使用reset 将HEAD 移动回对应的版本,然后再提交修改。
注意:amend之后会产生新的版本号git log 看不出来,git reflog才能看的出来

2.3 git log

查看版本信息 ,命令输出信息中的commit 字段后跟着一个版本号。

git log

在Git中,用HEAD表示当前版本:

HEAD^上一个版本
HEAD^^上上个版本
HEAD~n上n个版本

不显示详细的提交信息

git log --pretty=oneline

图状显示

git log --graph --pretty=oneline --abbrev-commit

2.5 git reset --hard 版本回退

版本回退是本地代码管理的灵魂

git reset --hard 版本号 # 对应的策略
git reset --hard head^

版本号没必要写全,前几位就可以了.

2.6 git reflog

git reset 之后, git log不显示最新版本信息,使用git reflog查看历史命令,可以找到对应的版本号.

git reflog

2.7 git diff

对比文件差异

1.工作区Vs缓存区

git diff file_name // 对比工作区与缓存区file_name文件的差异

2.缓存区Vs上一次提交

git diff --cached file_name

3.工作区Vs上一次提交

git diff HEAD file_name

4.两次提交之间对应文件的差异

git diff 版本号1 版本号2 file_name // 对比两次提交相应文件的差异。

–号前后是对比对象吧

2.8 git checkout --file 工作区文件恢复

git checkout – readme.txt

让文件回到最近一次git commit或git add时的状态。

暂存区里有 未提交的readme.txt ,则将其恢复到工作区
暂存区里无 未提交的readme.txt ,则将版本库里的readme.txt 恢复到工作区

两个作用
1丢弃工作区里的修改
2恢复工作区误删的文件误删操作

git checkout 不带–,切换分支命令,后续讲解

2.9 git rm 删除版本库里的文件

将文件从版本库中删除

git rm test.txt
git commit -m “remove test.txt”


廖雪峰老师博文学习笔记:https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leecode62 不同路径

示例 1: 输入: m 3, n 2 输出: 3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 1. 向右 -> 向右 -> 向下 2. 向右 -> 向下 -> 向右 3. 向下 -> 向右 -> 向右 示例 2: 输入: m 7, n 3 输出: 28 思路:太过于简单&#xf…

leetcode64 最小路径和

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总…

leetcode300 最长上升子序列

经典题&#xff0c;不解释&#xff0c;可以看我之前文章。 普通dp public class Solution {public int lengthOfLIS(int[] nums) {if (nums.length 0) {return 0;}int[] dp new int[nums.length];dp[0] 1;int maxans 1;for (int i 1; i < dp.length; i) {int maxval …

leecode5 最长回文子串

给定一个字符串 s&#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1&#xff1a; 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2&#xff1a; 输入: "cbbd" 输出: "bb"…

服务器端开发的一些建议

摘要: 本文作为游戏服务器端开发的基本大纲&#xff0c;是游戏实践开发中的总结。第一部分专业基础&#xff0c;用于指导招聘和实习考核&#xff0c; 第二部分游戏入门&#xff0c;讲述游戏服务器端开发的基本要点&#xff0c;第三部分服务端架构&#xff0c;介绍架构设计中的一…

leetcode63 不同路径II

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为“Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为“Finish”&#xff09;。 现在考虑网格中有障碍物。那么从左上角到右下角将…

leetcode55 跳跃游戏 秒杀所有答案

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步&#xff0c;从位置 0 到达 位置 1, 然后再从位置 …

leetcode45 跳跃游戏II 秒杀所有答案

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践

sklearn.DecisionTreeClassifier决策树简单使用1.决策树算法基础2.sklearn.DecisionTreeClassifier简单实践2.1 决策树类2.3 决策树构建2.3.1全数据集拟合&#xff0c;决策树可视化2.3.2交叉验证实验2.3.3超参数搜索2.3.4模型保存与导入2.3.5固定随机数种子参考资料1.决策树算法…

leetcode72 编辑距离

给定两个单词 word1 和 word2&#xff0c;计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 "horse", word2 "ros" 输出: 3 解释: ho…

即时通讯系统架构

有过几款IM系统开发经历&#xff0c;目前有一款还在线上跑着。准备简单地介绍一下大型商业应用的IM系统的架构。设计这种架构比较重要的一点是低耦合&#xff0c;把整个系统设计成多个相互分离的子系统。我把整个系统分成下面几个部分&#xff1a;&#xff08;1&#xff09;状态…

leetcode303 区域和检索

给定一个整数数组 nums&#xff0c;求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和&#xff0c;包含 i, j 两点。 示例&#xff1a; 给定 nums [-2, 0, 3, -5, 2, -1]&#xff0c;求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0,…

网络游戏的客户端同步问题 .

有关位置同步的方案实际上已经比较成熟&#xff0c;网上也有比较多的资料可供参考。在《带宽限制下的视觉实体属性传播》一文中&#xff0c;作者也简单提到了位置同步方案的构造过程&#xff0c;但涉及到细节的地方没有深入&#xff0c;这里专门针对这一主题做些回顾。 最直接的…

leetcode319 灯泡的开关

初始时有 n 个灯泡关闭。 第 1 轮&#xff0c;你打开所有的灯泡。 第 2 轮&#xff0c;每两个灯泡你关闭一次。 第 3 轮&#xff0c;每三个灯泡切换一次开关&#xff08;如果关闭则开启&#xff0c;如果开启则关闭&#xff09;。第 i 轮&#xff0c;每 i 个灯泡切换一次开关。 …

网游服务器端设计思考:心跳设计

网络游戏服务器的主要作用是模拟整个游戏世界&#xff0c;客户端用过网络连接把一些信息数据发给服务器&#xff0c;在操作合法的情况下&#xff0c;更新服务器上该客户端对应的player实体、所在场景等&#xff0c;并把这些操作及其影响广播出去。让别的客户端能显示这些操作。…

算法(25)-括号

各种括号1.LeetCode-22 括号生成--各种括号排列组合2.LeetCode-20 有效括号(是否)--堆栈3.LeetCode-32 最长有效括号(长度)--dp4.LeetCode-301删除无效括号 --多种删除方式1.LeetCode-22 括号生成–各种括号排列组合 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&a…

leetcode542 01矩阵

给定一个由 0 和 1 组成的矩阵&#xff0c;找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 10000。…

RPC、RMI与MOM与组播 通信原理 .

远程过程调用&#xff08;RPC&#xff09;&#xff1a; 即对远程站点机上的过程进行调用。当站点机A上的一个进程调用另一个站点机上的过程时&#xff0c;A上的调用进程挂起&#xff0c;B上的被调用过程执行&#xff0c;并将结果返回给调用进程&#xff0c;使调用进程继续执行【…

一个简单的游戏服务器框架 .

最近一段时间不是很忙&#xff0c;就写了一个自己的游戏服务器框架雏形&#xff0c;很多地方还不够完善&#xff0c;但是基本上也算是能够跑起来了。我先从上层结构说起&#xff0c;一直到实现细节吧&#xff0c;想起什么就写什么。 第一部分 服务器逻辑 服务器这边简单的分为三…

leetcode97 交错字符串

给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 输入: s1 "aabcc", s2 "dbbca", s3 "aadbbcbcac" 输出: true 示例 2: 输入: s1 "aabcc", s2 "dbbca", s3 "aadbbbaccc" 输…