特定提交和本地文件之间的git diff

时间:2015-07-09 04:15:02

标签: git

我已经找到了答案,但在stackoverflow上找不到它,所以我在这里问它。
让我们假设自上次提交(和推送)后我有一些本地更改,我想在特定提交(几个提交前)和我当前的本地版本之间git diff文件。
我的意思是,例如,我可以通过

看到两个特定提交之间的文件差异
private void RemoveHighLightCartProducts(string ProductId)
    {

        if (Session["MyCart"] != null)
        {
            DataTable dtProductsAddedToCart = (DataTable)Session["MyCart"];
            //delete row which contains product data.

            var ProductRowToBeDeleted = dtProductsAddedToCart.Select("ProductID =" + ProductId);
            foreach (var row in ProductRowToBeDeleted)
            {
                row.Delete();
            }
            foreach (DataListItem item in dlProducts.Items)
            {


                Button btnAddToCart = item.FindControl("btnAddToCart") as Button;
                btnAddToCart.BackColor = System.Drawing.Color.Red;
                btnAddToCart.ForeColor = System.Drawing.Color.White;
                btnAddToCart.Text = "Add to Cart";
                Image imgGreenstar = item.FindControl("imgStar") as Image;
                imgGreenstar.Visible = false;
            }
        }
    }

但我希望看到COMMIT1和本地文件之间的区别。 你是怎么做到的?

1 个答案:

答案 0 :(得分:5)

根据git docs

  

git diff [--options]< commit> [ - ] [< path> ...]此表单用于查看   您在工作树中相对于命名的< commit>所做的更改。   您可以使用HEAD将其与最新提交或分支进行比较   用于与不同分支的提示进行比较的名称。

所以你只需做git diff COMMIT1 src/testsuites/file1.c