代码版本管理笔记 | Python 程序员也应该会的 Git 基础操作

简介: 代码版本管理笔记 | Python 程序员也应该会的 Git 基础操作

设置配置信息

# 初始配置
git config --global user.name "你的昵称"
git config --global user.email "你的邮箱"
# 如果写错了
# 命令行修改如下
git config --global --replace-all user.name "your user name"
git config --global --replace-all user.email"your user email"
# 修改文件的方式,主要是修改位于主目录下 .gitconfig 文件。在 Linux  和 Mac  中,可以通过 vim  命令进行直接编辑,比如 vim ~/.gitconfig
#  Windows  系统同样位于用户主目录下,假设你当前的用户是 administrator ,那么对应的配置文件的路径应该是 C:\Users\administrator\.gitconfig
# 下面的位置
[user]
name = your user name
email = your user email

常用操作

# 检查改动文件
git status
# 回滚文件
git checkout [filename]
# 添加文件到暂存区
git add [filename]
# 提交代码
git commit . -m "备注"
# 推送代码
git push

git 版本比较

比较工作区的变动

git diff [path/filename] [path/filename]

比较暂存区和版本库的变动

git diff --cached [filename]

与指定版本做比较

# 1
git log # 找到要对比的版本的 hash 值
# 2 工作区文件与指定版本比较
git diff hash值
# 3 暂存区与指定版本比较
git diff --cached hash值

与最新版本做比较

将未正式提交的代码(包含工作区与暂存区)与最新的 commit  记录进行比较,虽然也可以通过指定 commit  的 hash  值进行,但是却很不方便,需要先获取到 hash  值,这里推荐使用与 HEAD 比较的方式

git diff HEAD

对比两个历史记录

首先通过 git log 命令获取到需要查看的记录 hash  值,然后再找到这个记录的上一个版本的 hash  值

git diff hash值1 hash值2

git 权限控制

# 处理版本权限冲突的方法
# 当前版本库
git config core.filemode false
# 全局版本库
git config --global core.filemode false

忽略指定文件或目录

# 在根目录下创建 .gitignore 文件
vm .gitignore
# 将要忽略的文件写入

检查某一个文件提交不上的问题

git check-ignore -v [filename]

强制添加某一个文件至忽略的清单

git add -f [filename]

设置忽略排除

假如我们需要将某一个文件下的大部分文件都忽略,只提交某一个或多个文件

# 需要先设置 ignore 整个文件夹
1、vim .gitignore
# 设置将 test 整个文件夹忽略
2、输入 test/*
# 设置取消忽略 test 文件夹下的 index.html 文件
3、输入 !test/index.html

忽略已经提交的文件

一不小心把某一个原本应该忽略的目录提交到了版本控制器中,再使用 .gitignore 文件去忽略的时候,发现无论如何都无法再次将其忽略

忽略已存在的文件

我们需要先删除掉该文件的缓存,才能让他成功忽略,所以正确的操作步骤是先在 .gitignore  中设置该文件为忽略,然后执行删除缓存命令

git rm --cached xxx/xxx

忽略已存在的文件夹

忽略已存在的文件夹方式和上面基本一致, 编辑 .gitignore 文件,在文件中加入要忽略文件夹然后使用删除该文件夹的缓存

git rm -r --cached xxx/

reset 恢复

这个命令可以撤销我们最近一次提交

git reset HEAD^

指定 commit id 恢复到指定记录

git log
git reset [commit id]

咸鱼学Python

专注分享网络爬虫,Python,JS逆向,爬虫进阶,APP逆向,移动安全等相关知识

287篇原创内容

公众号


相关文章
|
2月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
24 3
|
2月前
|
存储 开发工具 Python
【Python项目】外星人入侵项目笔记
【Python项目】外星人入侵项目笔记
46 3
|
2月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
48 0
【免费分享编程笔记】Python学习笔记(二)
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
3月前
|
算法 程序员 Python
程序员必看!Python复杂度分析全攻略,让你的算法设计既快又省内存!
在编程领域,Python以简洁的语法和强大的库支持成为众多程序员的首选语言。然而,性能优化仍是挑战。本文将带你深入了解Python算法的复杂度分析,从时间与空间复杂度入手,分享四大最佳实践:选择合适算法、优化实现、利用Python特性减少空间消耗及定期评估调整,助你写出高效且节省内存的代码,轻松应对各种编程挑战。
59 1
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
20 0
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
15 0
|
2月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
15 0
|
2月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
196 0
|
2月前
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
40 0