将文件夹初始纳入git管理
选中要进行版本管理的文件夹
将文件夹初始化为需要版本管理的文件夹
git init
将所有文件提交到暂存区,纳入版本控制
git add .
查看版本状态
git status
提交当前更改到版本库,并标注版本特征
git commit -m 完成了第一人称漫游、射击的基本功能、配置了人物模型的行为树
恢复文件
查看各分支的操作记录
git reflog
查看版本信息
git log
回退到某一版本
git reset --hard 版本号 版本号、文件都回退
git reset --soft 版本号 只回退版本号,文件不变
分支
建立分支
git branch 分支名
切换分支
git checkout 分支名
(先暂存改动 git stash ,才能切换分支)
查看当前分支
git branch
基于当前分支创建新分支
git checkout -b 分支名
重命名当前分支
git branch -m 新名称
查看贮藏列表
git stash list
弹出指定一笔贮藏
git stash pop stash@{序号}
批处理
弹出一笔贮藏
cd D:\Workspace\Project
git stash list
set /p no=Enter the stash no:
git stash pop stash@{%no%}
pause
批量弹出贮藏
cd D:\Workspace\Project
setlocal enabledelayedexpansion
set num=10
for /l %%i in (1,1,%num%) do (
git stash pop stash@{%%i}
)
pause
打补丁
检查patch文件
git apply --stat 09ef247.diff
检查能否应用成功
git apply --check 09ef247.diff
打补丁
git apply 09ef247.diff
批处理
拖入.diff文件即可运行
@echo off
echo Check patch file
git apply --stat %1
echo ----------------
echo Check if it can apply succeefully
git apply --check %1
echo ----------------
echo Continue patching?
pause
echo patching
git apply %1
取消托管
提示:危险操作,谨慎使用
撤销对指定的文件或文件夹的版本管理
git rm -r --cached 文件或文件夹名
.gitignore 忽略文件
“如果不使用忽略文件,则git会将海量的临时文件纳入版本控制,这会浪费大量的时间和空间”
在项目根目录下创建 .gitignore 文件
touch .gitignore
在 .gitignore 文件内列出不需要管理的文件或文件夹
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Recordings can get excessive in size
/[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
*.app
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*