1.git安装
1.1 Windows 下安装
双击运行安装程序,默认安装即可
1.2 Linux下安装(切换到root模式下)
- centos - $ yum install git
- Debian/Ubuntu - $ apt-get install git
2.git理论
- git将每个版本进行独立保存
- git的三棵树:工作区域、暂存区域和git仓库
- git的工作流程
- 在工作区域中添加或者修改文件
- 将需要进行版本管理的文件放入暂存区域
- 将暂存区域的文件提交到git仓库
- git文件的三种状态
- 已修改(modified)
- 已暂存(staged)
- 已提交(committed)
3.初次使用git前的配置
- git config --global user.name "用户名"
- git confgi --global user.email "邮箱“
4.git使用
git add "文件名"
- 将需要进行版本控制的文件放入暂存区域
git commit -m "描述字段"
- 将暂存区域的文件提交到git仓库
git status
- 用于显示当前工作区域和暂存区域的状态,不显示已经commit到仓库中去的状态;常见状态有:untracked files 未监控
git restore <file>
- 如果对工作区域的文件在add或者commit后进行了更改,可以使用此明令将工作区域的文件改回修改前的状态
3.1 查看日志
git log
- 查看历史提交记录
git log --decorate --oneline
- 查看历史提交记录,用一行进行显示
git log --decorate --graph --all
- –graph 选项表示让 Git 绘制分支图,–all 表示显示所有分支
git checkout
- 命令用于把暂存区域的文件还原到工作目录
git reset HEAD ”文件名“
- 将最后一次提交的文件恢复到工作区域,如果不加文件名,则将最后一次提交恢复到工作区域(即将暂存区域恢复到最后一次提交前的状态)
git reset --mixed HEAD~
- 移动HEAD的指向,将其指向上一个快照
- 将HEAD移动后指向的快照回滚到暂存区域
git reset --soft HEAD~
- 移动HEAD的指向,将其指向上一个快照
git reset --hard HEAD~
- 移动HEAD 的指向,将其指向上一个快照
- 将HEAD移动后指向的快照回滚到暂存区域
- 将暂存区域的文件回滚到工作区域
git reset 指定版本的ID号
- 回滚指定版本的快照(也可以前滚)
git reset 指定版本的ID号 文件名/路径
- 回滚指定版本快照中的个别文件
git reflog
- 显示git的每一次操作,第一列为每一次版本更新的版本ID
git diff
- 比较工作区域与缓存区域
F:\tproject>git diff diff --git a/README.md b/README.md #表示对比的是存放在暂存区域的 README.md 和工作目录的 README.md index 2a21a9e..64d8456 100644 #表示对应文件的 ID 分别是 7966837 和 472a180,左边暂存区域,后边当前目录。 --- a/README.md #--- 表示该文件是旧文件(存放在暂存区域) +++ b/README.md #+++ 表示该文件是新文件(存放在工作区域) @@ -1,2 +1,2 @@ #以 @@ 开头和结束,中间的“-”表示旧文件,“+”表示新文件,后边的数字表示“开始行号,显示行数”,+1,2 表示新文件在合并显示中从第 1 行开始,显示 2 行。 - #由于旧文件没有自己“独有的”内容,所以-号后面没有内容 +《零基础入门学习Python》 第004讲 #这是将两个文件合并显示的结果,前边有个 + 的绿色的那一行说明是新文件独有的,浅灰色的则是两个文件所共有的内容。 这是第一个game游戏 \ No newline at end of file #文件不是以换行符结束 diff --git a/game.py b/game.py index 4a1d254..0cdab44 100644 --- a/game.py +++ b/game.py @@ -1,20 +1,28 @@ import random print('------------------我爱鱼C工作室------------------') + +times = 3 secret = random.randint(1,10) -temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:") -guess = int(temp) +guess = 0 + +print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ") -while guess != secret: - temp = input("哎呀,猜错了,请重新输入吧:") +while (guess != secret) and (times > 0): + temp = input() guess = int(temp) + times = times - 1 # 用户每输入一次,可用机会就-1 if guess == secret: - print("卧槽,你是小甲鱼心里的蛔虫吗?!")
git diff 快照1ID 快照2ID
- 比较两个历史快照
git diff 快照ID
- 比较当前目录与git仓库中的快照
git diff --cached [快照ID]
- 比较暂存区域与git仓库中的快照
- 比较暂存区域与git仓库中的快照
git commit --amend
- 修改最后一次提交,不会生成新的快照,执行后会显示出一个类似vim的界面,在界面中直接进行修改即可
git commit --amend -m "新的提交说明"
也可以使用此命令直接修改新提交的说明
3.1 删除文件
git rm 文件名
- rm 命令删除的只是工作目录和暂存区域的文件(即取消跟踪,在下次提交时不纳入版本管理)
- 当工作目录和暂存区域的同一个文件存在不同内容时,执行
git rm -f 文件名
命令就可以把两个都删除 - 如果只需要删除暂存区域的文件,保留工作区域的文件,可以执行
git rm --cached 文件名
命令
3.2 重命名文件
git mv 旧文件名 新文件名
3.3 分支管理
git branch 分支名
创建一个分支git checkout 分支名
切换分支