我正在对包含大量SCSS文件的项目进行一些SCSS重构。
这是我的方法:为每个SCSS文件重构器创建一个新分支。
例如,我创建了一个名为scss-lint-refactor-chicken
的新分支并结帐,我完成了重构(包括Chicken.jsx
和Chicken.scss
以及可能还有其他一些文件)并提交了变化。
然后,我结帐以掌握,并合并分支。
主分支最终得到如下历史记录:
* 75d48b2 - (7 minutes ago) Merge branch 'scss-lint-refactor-chicken' - Rory Smith
|\
| * 9ea664f - (9 minutes ago) SCSS lint refactor chicken - Rory Smith
我的问题是:
答案 0 :(得分:1)
是的,这是一种使用版本控制系统的好方法,因此您可以将您的工作留在后面,或者进行两次或多次提交以进行相同的重构。
不要害怕合并消息。他们是你的朋友。 Git不会慢,因为你有更多的提交。如果您认为它们过多地污染了您的git日志,请隐藏它们:
dexOptions {
javaMaxHeapSize "4g"
}
答案 1 :(得分:1)
或者,
您可以在分支机构上运行package com.playground;
import org.controlsfx.control.PropertySheet;
import org.controlsfx.property.BeanPropertyUtils;
import javafx.application.Application;
import javafx.beans.Observable;
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ListView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Callback;
public class BindingPlayGround extends Application{
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("FXPlayGround");
Parent content = createContentPane();
Scene scene = new Scene(content, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
protected Parent createContentPane() {
ObservableList<BeanExample2> beans = FXCollections.observableArrayList();
ObservableList<PropertySheet> sheets = FXCollections.observableArrayList();
ListView<PropertySheet> listView = new ListView<PropertySheet>(sheets);
Button addBeanButton = new Button("Add Bean");
addBeanButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
BeanExample2 e = new BeanExample2();
e.setName("Name-not-set");
PropertySheet propertySheet = new PropertySheet(BeanPropertyUtils.getProperties(e));
sheets.add(propertySheet);
beans.add(e);
}
});
VBox vBar = new VBox();
vBar.getChildren().add(listView);
vBar.getChildren().add(addBeanButton);
ObservableList<BeanExample2> names = FXCollections.observableArrayList(new Callback<BeanExample2, Observable[]>() {
@Override
public Observable[] call(BeanExample2 param) {
return new Observable[]{new SimpleStringProperty(param, "name")};
}
});
Bindings.bindContent(names, beans);
Button addChoiceBoxButton = new Button("Add ChoiceBox");
addChoiceBoxButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
ChoiceBox<BeanExample2> choiceBox = new ChoiceBox<BeanExample2>(names);
vBar.getChildren().add(choiceBox);
}
});
vBar.getChildren().add(addChoiceBoxButton);
return vBar;
}
static class BeanExample2 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "BeanExample2{" +
"name='" + name + '\'' +
'}';
}
}
}
,然后从git rebase master
分支机构运行git merge <branch>
。这将删除master
提交,并可能使提交历史记录更清晰。