标签: commit

"git commit"之前的多个"git add"

这是我的实验.

git init
echo hello > some.txt
git add some.txt

-- objects
   -- f2 (blob "hello")

echo hola > some.txt
git add some.txt

-- objects
   -- f2 (blob "hello")
   -- 53 (blob "hola")

git commit -m "..."

-- objects
   -- f2 (blob "hello")
   -- 53 (blob "hola")
   -- 5c (tree 
               "some.txt" -> 53)
   -- 61 (commit "tree 5c")
Run Code Online (Sandbox Code Playgroud)

我们可以看到每个"git add"都创建了blob对象,而"git commit"提交了最后一个blob 53.

但请注意,中间blob"f2"仍在存储库中.这有什么理由吗?我怎么能用这个blob?或者我该如何删除它?

git commit add

2
推荐指数
1
解决办法
1678
查看次数

在Perforce上提交后脚本可以自动化吗?

我们在工作中使用Perforce,并定期将软件项目保存在存储库中.一般创建者遵循正常的Perforce流程,但我们也有一类用户,他们不需要编辑文件但只阅读它们.目前我们使用P4Web,但这需要用户单独下载每个文件以重新组装项目目录.理想情况下,我想有一个过程,当用户不提交/提交Perforce中,该脚本将自动运行生成项目目录和文件的一个zip文件,因此它是在保证一键下载正确对抗源文件的当前状态.我知道Git有一个可以用于此的post-commit钩子,但是我无法弄清楚Perforce中的等效函数.

scripting hook perforce commit post-commit

2
推荐指数
1
解决办法
2626
查看次数

git diff显示删除为新的更改

每次我做一个git diff,尽管自第一个提交以来很多提交,它继续给我这些旧的更改,这些更改很久以前用于文件删除.

我在提交中删除了大约7个提交之前的整个文件夹,并且仍然在分支或合并上,git就像删除是新的一样.做git diff静止显示已删除文件的每一行都"刚被删除",好像这是新的,但我删除了很多提交前.

这是怎么回事?

git commit

2
推荐指数
1
解决办法
236
查看次数

TortoiseHg:推动变革了吗?

我一直在分支机构工作并做了一些提交.现在有什么方法可以在TortoiseHg中看到,如果这些提交被推或者它们仍然只是本地的?

mercurial push commit tortoisehg changeset

2
推荐指数
1
解决办法
753
查看次数

没有"开始交易"的单个"提交"语句

我正在使用带有mysqldb适配器的web2py dal连接到mysql服务器.

我的问题:

  1. 为什么在" set autocommit = 0 " 之后需要单个" commit "而不引导" begin transaction "
  2. 如果autocommit = 0,"select"语句是否会开始一个事务?

服务器信息:innodb engine autocommit = 1(默认值)tx_isolation = repeatable-read(默认值)

general_log:

100356 10:00:00 123456 Connect  dummy@172.0.0.1 on dummydb
123456 Query    SET NAMES 'utf8'
123456 Query    SET AUTOCOMMIT = 0
123456 Query    COMMIT
123456 Query    SET FOREIGN_KEY_CHECKS=1
123456 Query    SET sql_mode='NO_BACKSLASH_ESCAPES'
Run Code Online (Sandbox Code Playgroud)

mysql transactions commit autocommit

2
推荐指数
1
解决办法
3777
查看次数

删除知道提交ID的特定提交

假设我有一个包含以下提交的repo(git版本1.7.1)

A -> B -> C -> D ->E 我的HEAD开着E.现在我想删除C,同时保持一切相同 A -> B -> D -> E.

你能帮我怎么做吗?

versioning git version-control commit

2
推荐指数
1
解决办法
1430
查看次数

mysql_query是否提交了所有内容

我在PHP中使用mysql扩展,我知道它从PHP 5.5.0开始被弃用,但是我已经使用这个扩展编写了很多代码.在我看来像mysql_query提交查询,如果是这样意味着它设置为自动提交,如何设置所以它不自动提交.

php mysql commit

2
推荐指数
1
解决办法
4119
查看次数

提交中包含gitignore设置

我正在尝试在git中提交正确的文件,但是在正确配置gitignore时遇到了问题。我按照此处的说明创建了gitignore文件(django项目):

# File types #
##############
*.pyc
*.swo
*.swp
*.swn

# Directories #
###############
logs/

# Specific files #
##################
projectname/settings.py

# OS generated files #
######################
.DS_Store
ehthumbs.db
Icon
Thumbs.db
*~
Run Code Online (Sandbox Code Playgroud)

问题是settings.py已包含在提交中:

Admin$ git add .
Admin$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   projectname/settings.py
Run Code Online (Sandbox Code Playgroud)

如何忽略gitignore中的设置?

git commit gitignore

2
推荐指数
1
解决办法
5408
查看次数

Sublime Text换行和提交消息

我使用Sublime Text(3)作为我的默认Git提交消息编辑器.我尝试使用每行字符数的硬限制来遵循Git约定(第一行为50,其余为72).我目前在这些间隔设置了用于视觉参考的指南,但是不是手动必须在72个字符的末尾添加一行返回,我希望让ST自动为我插入一行返回.本质上,我希望能够在没有行返回的情况下进行编写,但是为了包装而放置了实际的返回,而不是仅仅在编辑器中进行可视化包装.有合理的方法吗?

commit-message commit word-wrap sublimetext sublimetext3

2
推荐指数
1
解决办法
1208
查看次数

我如何完成git提交?

我输入'git -commit'并在我的终端上获得以下内容

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed:
#       new file:   index.html
#       new file:   index3.html
#
# Changes not staged for commit:
#       modified:   index.html
#
# Untracked files:
#       index2.html
#
Run Code Online (Sandbox Code Playgroud)

现在我被困在这个屏幕上,我不知道如何完成提交并返回到终端的目录区域以继续cmd中的其他任务.救命!

git terminal cmd commit

2
推荐指数
2
解决办法
1756
查看次数