diff --git a/src/main.rs b/src/main.rs
index 45d5bad..c5c5f55 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -752,6 +752,10 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De
 	let tree_id={
 		let mut tree_index = repo.index()?;
 		tree_index.add_all([config.output_folder].iter(),git2::IndexAddOption::DEFAULT,None)?;
+		if tree_index.len()==0{
+			println!("tree_index.len()==0");
+			return Ok(());
+		}
 		tree_index.write_tree()?
 	};
 	let tree=repo.find_tree(tree_id)?;
@@ -759,7 +763,16 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De
 	let mut parents=Vec::new();
 
 	match repo.head(){
-		Ok(reference)=>parents.push(reference.peel_to_commit()?),
+		Ok(reference)=>{
+			let commit=reference.peel_to_commit()?;
+			let commit_tree=commit.tree()?;
+			let diff=repo.diff_tree_to_tree(Some(&commit_tree),Some(&tree),None)?;
+			if diff.deltas().count()==0{
+				println!("no changes");
+				return Ok(());
+			}
+			parents.push(commit);
+		},
 		Err(e)=>println!("repo head error {:?}",e),
 	};