分布式版本控制工具,git 1.7.9正式版发布

fmms 13年前
     <p><a href="/misc/goto?guid=4958183577944756424" target="_blank">Git</a>是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。</p>    <p>Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。</p>    <p>Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如,X.org 最近就迁移到 Git 上来了,很多 Freedesktop.org 的项目也迁移到了 Git 上。</p>    <h2>Git与CVS的区别</h2>    <ul>     <li>分支更快、更容易。 </li>     <li>支持离线工作;本地提交可以稍后提交到服务器上。 </li>     <li>Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。 </li>     <li>Git 中的每个工作树都包含一个具有完整项目历史的仓库。 </li>     <li>没有哪一个 Git 仓库会天生比其他仓库更重要。 </li>    </ul>    <p>git 1.7.9正式版放出。2012-01-29.</p>    <p>完全改进</p>    <p>Git v1.7.9 Release Notes</p>    <p>========================<br /> <br /> Updates since v1.7.8<br /> --------------------<br /> <br />  * gitk updates accumulated since early 2011.<br /> <br />  * git-gui updated to 0.16.0.<br /> <br />  * git-p4 (in contrib/) updates.<br /> <br />  * Git uses gettext to translate its most common interface messages<br />    into the user's language if translations are available and the<br />    locale is appropriately set. Distributors can drop new PO files<br />    in po/ to add new translations.<br /> <br />  * The code to handle username/password for HTTP transactions used in<br />    "git push" & "git fetch" learned to talk "credential API" to<br />    external programs to cache or store them, to allow integration with<br />    platform native keychain mechanisms.<br /> <br />  * The input prompts in the terminal use our own getpass() replacement<br />    when possible. HTTP transactions used to ask for the username without<br />    echoing back what was typed, but with this change you will see it as<br />    you type.<br /> <br />  * The internals of "revert/cherry-pick" have been tweaked to prepare<br />    building more generic "sequencer" on top of the implementation that<br />    drives them.<br /> <br />  * "git rev-parse FETCH_HEAD" after "git fetch" without specifying<br />    what to fetch from the command line will now show the commit that<br />    would be merged if the command were "git pull".<br /> <br />  * "git add" learned to stream large files directly into a packfile<br />    instead of writing them into individual loose object files.<br /> <br />  * "git checkout -B     <current branch="">      <elsewhere>       " is a more intuitive       <br />    way to spell "git reset --keep       <elsewhere>        ".        <br />        <br />  * "git checkout" and "git merge" learned "--no-overwrite-ignore" option        <br />    to tell Git that untracked and ignored files are not expendable.        <br />        <br />  * "git commit --amend" learned "--no-edit" option to say that the        <br />    user is amending the tree being recorded, without updating the        <br />    commit log message.        <br />        <br />  * "git commit" and "git reset" re-learned the optimization to prime        <br />    the cache-tree information in the index, which makes it faster to        <br />    write a tree object out after the index entries are updated.        <br />        <br />  * "git commit" detects and rejects an attempt to stuff NUL byte in        <br />    the commit log message.        <br />        <br />  * "git commit" learned "-S" to GPG-sign the commit; this can be shown        <br />    with the "--show-signature" option to "git log".        <br />        <br />  * fsck and prune are relatively lengthy operations that still go        <br />    silent while making the end-user wait. They learned to give progress        <br />    output like other slow operations.        <br />        <br />  * The set of built-in function-header patterns for various languages        <br />    knows MATLAB.        <br />        <br />  * "git log --format='        <format>         '" learned new %g[nNeE] specifiers to         <br />    show information from the reflog entries when walking the reflog         <br />    (i.e. with "-g").         <br />         <br />  * "git pull" can be used to fetch and merge an annotated/signed tag,         <br />    instead of the tip of a topic branch. The GPG signature from the         <br />    signed tag is recorded in the resulting merge commit for later         <br />    auditing.         <br />         <br />  * "git log" learned "--show-signature" option to show the signed tag         <br />    that was merged that is embedded in the merge commit. It also can         <br />    show the signature made on the commit with "git commit -S".         <br />         <br />  * "git branch --edit-description" can be used to add descriptive text         <br />    to explain what a topic branch is about.         <br />         <br />  * "git fmt-merge-msg" learned to take the branch description into         <br />    account when preparing a merge summary that "git merge" records         <br />    when merging a local branch.         <br />         <br />  * "git request-pull" has been updated to convey more information         <br />    useful for integrators to decide if a topic is worth merging and         <br />    what is pulled is indeed what the requestor asked to pull,         <br />    including:         <br />         <br />    - the tip of the branch being requested to be merged;         <br />    - the branch description describing what the topic is about;         <br />    - the contents of the annotated tag, when requesting to pull a tag.         <br />         <br />  * "git pull" learned to notice 'pull.rebase' configuration variable,         <br />    which serves as a global fallback for setting 'branch.         <name>          .rebase'          <br />    configuration variable per branch.          <br />          <br />  * "git tag" learned "--cleanup" option to control how the whitespaces          <br />    and empty lines in tag message are cleaned up.          <br />          <br />  * "gitweb" learned to show side-by-side diff.          <br />          <br /> Also contains minor documentation updates and code clean-ups.          <br /> 下载:http://git-core.googlecode.com/files/git-1.7.9.tar.gz         </name>        </format>       </elsewhere>      </elsewhere>     </current></p>