maxc1017 发表于 2016-10-28 01:15:24

Git v2.10.0 发布,分布式版本控制系统

欢迎加入运维网交流群:263444886  
                  Git v2.10.0 发布了,Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  本次发布,对界面和工作流做了一些改进更新,以及对其性能增强。具体改进如下:
  * "git pull --rebase --verify-signature" learned to warn the user
  that "--verify-signature" is a no-op when rebasing.
  
  * An upstream project can make a recommendation to shallowly clone
  some submodules in the .gitmodules file it ships.
  
  * "git worktree add" learned that '-' can be used as a short-hand for
  "@{-1}", the previous branch.
  
  * Update the funcname definition to support css files.
  
  * The completion script (in contrib/) learned to complete "git
  status" options.
  
  * Messages that are generated by auto gc during "git push" on the
  receiving end are now passed back to the sending end in such a way
  that they are shown with "remote: " prefix to avoid confusing the
  users.
  
  * "git add -i/-p" learned to honor diff.compactionHeuristic
  experimental knob, so that the user can work on the same hunk split
  as "git diff" output.
  
  * "upload-pack" allows a custom "git pack-objects" replacement when
  responding to "fetch/clone" via the uploadpack.packObjectsHook.
  (merge b738396 jk/upload-pack-hook later to maint).
  
  * Teach format-patch and mailsplit (hence "am") how a line that
  happens to begin with "From " in the e-mail message is quoted with
  ">", so that these lines can be restored to their original shape.
  (merge d9925d1 ew/mboxrd-format-am later to maint).
  
  * "git repack" learned the "--keep-unreachable" option, which sends
  loose unreachable objects to a pack instead of leaving them loose.
  This helps heuristics based on the number of loose objects
  (e.g. "gc --auto").
  (merge e26a8c4 jk/repack-keep-unreachable later to maint).
  

  * "log --graph --format=" learned that "%>|(N)" specifies the>
  >  draw text that is to the right of the ancestry-graph section.  It

  also now accepts negative N that means the column limit is>  to the right border.
  
  * A careless invocation of "git send-email directory/" after editing
  0001-change.patch with an editor often ends up sending both
  0001-change.patch and its backup file, 0001-change.patch~, causing
  embarrassment and a minor confusion.  Detect such an input and
  offer to skip the backup files when sending the patches out.
  (merge 531220b jc/send-email-skip-backup later to maint).
  
  * "git submodule update" that drives many "git clone" could
  eventually hit flaky servers/network conditions on one of the
  submodules; the command learned to retry the attempt.
  
  * The output coloring scheme learned two new attributes, italic and
  strike, in addition to existing bold, reverse, etc.
  
  * "git log" learns log.showSignature configuration variable, and a
  command line option "--no-show-signature" to countermand it.
  (merge fce04c3 mj/log-show-signature-conf later to maint).
  
  * More markings of messages for i18n, with updates to various tests
  to pass GETTEXT_POISON tests.
  
  * "git archive" learned to handle files that are larger than 8GB and
  commits far in the future than expressible by the traditional US-TAR
  format.
  (merge 560b0e8 jk/big-and-future-archive-tar later to maint).
  
  
  * A new configuration variable core.sshCommand has been added to
  specify what value for GIT_SSH_COMMAND to use per repository.
  
  * "git worktree prune" protected worktrees that are marked as
  "locked" by creating a file in a known location.  "git worktree"
  command learned a dedicated command pair to create and remove such
  a file, so that the users do not have to do this with editor.
  
  * A handful of "git svn" updates.
  
  * "git push" learned to accept and pass extra options to the
  receiving end so that hooks can read and react to them.
  
  * "git status" learned to suggest "merge --abort" during a conflicted
  merge, just like it already suggests "rebase --abort" during a
  conflicted rebase.
  
  * "git jump" script (in contrib/) has been updated a bit.
  (merge a91e692 jk/git-jump later to maint).
  
  * "git push" and "git clone" learned to give better progress meters
  to the end user who is waiting on the terminal.
  
  * An entry "git log --decorate" for the tip of the current branch is
  shown as "HEAD -> name" (where "name" is the name of the branch);
  the arrow is now painted in the same color as "HEAD", not in the
  color for commits.
  
  * "git format-patch" learned format.from configuration variable to
  specify the default settings for its "--from" option.
  
  * "git am -3" calls "git merge-recursive" when it needs to fall back
  to a three-way merge; this call has been turned into an internal
  subroutine call instead of spawning a separate subprocess.
  
  * The command line completion scripts (in contrib/) now knows about
  "git branch --delete/--move [--remote]".
  (merge 2703c22 vs/completion-branch-fully-spelled-d-m-r later to maint).
  
  * "git rev-parse --git-path hooks/" learned to take
  core.hooksPath configuration variable (introduced during 2.9 cycle)
  into account.
  (merge 9445b49 ab/hooks later to maint).
  
  * "git log --show-signature" and other commands that display the
  verification status of PGP signature now shows the longer key-id,
  as 32-bit key-id is so last century.
  更多改进信息,可在这里查看:
  http://lwn.net/Articles/699714/
  
页: [1]
查看完整版本: Git v2.10.0 发布,分布式版本控制系统