1. 程式人生 > >Git在windows下的安裝和使用GIT@OSC

Git在windows下的安裝和使用GIT@OSC

Git是一個版本控制工具Github是一個用git做版本控制的專案託管平臺。Git和GitHub一直以為是兩個差不多的東西,但是具體是哪些差異還真沒去了解過,現在Git也託管到了GitHub,都怪自己不求甚解以致有此一說。我有GitHub的賬號但是提交程式碼到遠端伺服器總是提示驗證不通過,從OSC中註冊GIT@OSC才發現之前通過Eclipse生成的RSA加密方式應該是不對的,這篇文章先從Git入手,稍後會將GitHub的SSHkey進行研究說明。

1.下載Git
http://git-scm.com/downloads

2.Git託管到GitHub證據
看過這個介面的都知道是GitHub專案管理介面:

3.Git安裝
採用預設安裝,直接點選下一步直到完成。

4.配置環境變數
在path變數中編輯新增如下變數:

;C:\Program Files\Git\bin;C:\Program Files\Git\mingw64\libexec\git-core
新增完成後,測試git是否可用,cmd進入命令視窗操作,如看到如下所示資訊說明Git配置成功。

4.Git@OSC操作手冊
安裝設定 git
下載最新版本的git

http://git-scm.com/downloads
當你安裝完成git的時候,你需要簡單的配置一下,開啟終端:

使用者名稱
第一步,你需要告訴git你的名字,這個名字會出現在你的提交記錄中。

git config --global user.name "你的名字"
Email
然後是你的Email,同樣,這個Email也會出現在你的提交記錄中,請儘量保持此Email和您的Git@OSC的註冊Email一致。

git config --global user.email "你的Email"
Clone 和 Push
Clone 專案

git clone http://git.oschina.net/xxxxxx/xxxxxx.git
建立特性分支

git checkout -b $feature_name
寫程式碼,提交變更

git commit -am "My feature is ready"
將你的提交推送到 Git@OSC

git push origin $feature_name
在提交頁面你可以檢視你的變更,例如:

http://git.oschina.net/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be

建立一個 pull request
你可以fork任意的公開專案,當你修改了你fork的專案,你可以向源專案提交pull request。專案的作者在審閱過程式碼後可以決定是否將此變更應用到源專案。

在GIT@OSC上使用SVN
使用教程已經整理在這裡


SSH Keys
SSH key 可以讓你在你的電腦和 Git @ OSC 之間建立安全的加密連線。

你可以按如下命令來生成sshkey

ssh-keygen -t rsa -C "[email protected]"# Creates a new ssh key using the provided email
# Generating public/private rsa key pair...
檢視你的public key,並把他新增到 Git @ OSC http://git.oschina.net/keys

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
新增後,在終端(Terminal)中輸入

ssh -T [email protected]
若返回

Welcome to Git@OSC, yourname! 
則證明新增成功。

關於許可權
訪客
建立issue
評論
Clone 和 Pull 專案
打包下載程式碼
Fork 專案
建立 pull request
報告者
繼承訪客的許可權
私有專案:不能檢視程式碼
私有專案:不能下載程式碼
觀察者
繼承報告者許可權
建立wiki
打包下載程式碼
不能push程式碼
開發者
建立 issue
評論
Clone 和 Pull 專案
打包下載程式碼
建立 pull request
建立分支
推送分支
刪除分支
建立標籤(里程碑)
建立 wiki
管理員
建立 issue
評論
Clone 和 Pull 專案
打包下載程式碼
建立 pull request
建立分支
推送分支
刪除分支
建立標籤(里程碑)
建立 wiki
新增專案成員
強制推送分支
編輯專案屬性
專案組管理員
編輯專案組屬性
增加成員
新增/刪除專案
設定專案組管理員
刪除專案組
更改成員專案許可權
Git @ OSC Flavored Markdown
Git @ OSC 的markdown基於原markdown做了一下擴充套件,具體使用如下。

You can use GFM in:
提交訊息
評論
issues
pull requests
里程碑
wiki 頁面
跟傳統的Markdown的區別
URL 自動連結
插入的URL不需要做特殊處理,會自動變成連結。
Emoji表情
支援Emoji表情,參考:Emoji cheat sheet

插入程式碼片段
可以向如下這種方式插入程式碼片段,可以在標記後面指定程式語言,如果沒有指定語言,編譯器會嘗試自動識別。

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
將會變成

require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
特殊的 Git@OSC 引用。
GFM 可以識別一些特殊的標記,並且支援自動補全,例如:

#123 (Issue)
!123 (Pull Request)
1234567 (提交)
:icon: (emoji 表情)
如何匯入外部的Git倉庫?
因為一些原因暫沒有開放一鍵匯入功能。
有需求的可以先按照如下步驟匯入其它地方的git倉庫(以 github 上的 impress.js 為例):

1. 從原始地址 clone 一份 bare 倉庫:

git clone --bare  https://github.com/bartaz/impress.js.git
2. 在 GIT@OSC 上 建立一個專案

3. 以 mirror 的方式把剛才 clone 的專案 push 到 GIT@OSC 上: (如果提示輸入 git 使用者密碼,請到http://git.oschina.net/keys 新增 SSH Key)

cd impress.js.git
git push --mirror [email protected]:username/impress-js.git
這種方式的好處是:可以完整地保留原專案的所有 branch 和 tag 資訊。
提示:首次push內容量較大,推薦採用ssh方式push,傳輸更快,更穩定,如果專案較小,也可以採用http方式push。

更多匯入辦法,請點選這裡

專案組的使用
專案組可以使使用者更加方便的新增使用者到專案中

1. 建立專案組:http://git.oschina.net/teams/new

2. 新增使用者:可以設定兩種許可權,一種是使用者預設在專案中的許可權,一種是專案組管理許可權

3. 指派到專案:如果選擇開發者,那麼將會按照使用者在專案組中的預設許可權為專案新增;如果選擇管理員,那麼專案組中的所有成員將會成為專案的管理員

4. 撤銷專案:撤銷專案將會把在專案屬於專案組中的成員移除,如果成員同樣存在於此專案別的專案組中,那麼將會更新為別的專案組中的相應的專案許可權。

Tips

專案組只有專案組的成員可以訪問

專案組的名稱是全站唯一的

一個使用者存在於兩個專案組a,b中,在a中的專案許可權是管理員,在b中的專案許可權是開發者,如果專案組a,b同時指派到專案pro,那麼將專案組a從pro中移除之後,此使用者在pro中的許可權將會從管理員降為開發者。

README 規則
1. git@osc README 檔案支援多種檔案格式以及命名規則。

例如: README, README.md, README.org...

或者: README_zh.md, README_en.md...

2. 若有多個README檔案,則優先顯示檔名包含'_zh','_cn'等中文標註的README檔案。

例如同一目錄包含兩個README檔案:README_en.md README_zh.md

則顯示README為: README_zh.md

改寫歷史,去除大檔案
git filter-branch --tree-filter 'rm -f path/to/large/files' --tag-name-filter cat -- --all
git push origin --tags --force
git push origin --all --force
詳細參見:這裡

From:https://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9#ssh-keys
Git for Windows v2.7.0 Release Notes
Latest update: January 5th 2016

Introduction
These release notes describe issues specific to the Git for Windows release. The release notes covering the history of the core git commands can be foundin the Git project.

See http://git-scm.com/ for further details about Git including ports to other operating systems. Git for Windows is hosted athttps://git-for-windows.github.io/.

Known issues
Special permissions (and Windows Vista or later) are required when cloning repositories with symbolic links, therefore support for symbolic links is disabled by default. Usegit clone -c core.symlinks=true <URL> to enable it, see detailshere.
If configured to use Plink, you will have to connect with putty first and accept the host key.
Some console programs interact correctly with MinTTY only when called throughwinpty (e.g. the Python console needs to be started aswinpty python instead of justpython).
cURL uses $HOME/_netrc instead of$HOME/.netrc.
If you specify command-line options starting with a slash, POSIX-to-Windows path conversion will kick in converting e.g. "/usr/bin/bash.exe" to "C:\Program Files\Git\usr\bin\bash.exe". When that is not desired -- e.g. "--upload-pack=/opt/git/bin/git-upload-pack" or "-L/regex/" -- you need to set the environment variable MSYS_NO_PATHCONV temporarily, like so:

MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc

Alternatively, you can double the first slash to avoid POSIX-to-Windows path conversion.

Git for Windows will not allow commits containing DOS-style truncated 8.3-format filenames ending with a tilde and digit, such asmydocu~1.txt. A workaround is to callgit config core.protectNTFS false, which is not advised. Instead, add a rule to .gitignore to ignore the file(s), or rename the file(s).
Many Windows programs (including the Windows Explorer) have problems with directory trees nested so deeply that the absolute path is longer than 260 characters. Therefore, Git for Windows refuses to check out such files by default. You can overrule this default by setting core.longPaths, e.g. git clone -c core.longPaths=true ....
Some commands are not yet supported on Windows and excluded from the installation.
As Git for Windows is shipped without Python support, all Git commands requiring Python are not yet supported; e.g.git p4.
The Quick Launch icon will only be installed for the user running setup (typically the Administrator). This is a technical restriction and will not change.
Should you encounter other problems, please search the bug tracker and the mailing list, chances are that the problem was reported already. If it has not been reported, please followour bug reporting guidelines and report the bug.

Licenses
Git is licensed under the GNU Public License version 2.

Git for Windows also contains Embedded CAcert Root Certificates. For more information please go tohttps://www.cacert.org/policy/RootDistributionLicense.php.

This package contains software from a number of other projects including Bash, zlib, curl, msmtp, tcl/tk, perl, MSys2 and a number of libraries and utilities from the GNU project, licensed under the GNU Public License. Likewise, it contains Perl which is dual licensed under the GNU Public License and the Artistic License.

Changes since Git for Windows v2.6.4 (December 14th 2015)
New Features
Comes with Git v2.7.0.
Bug Fixes
Non-ASCII command-lines are now passed properly to shell scripts.
Changes since Git for Windows v2.6.3 (November 10th 2015)
New Features
Comes with Git v2.6.4.
Also available as .tar.bz2 packages (you need an MSys2/Cygwin-compatible unpacker to recreate the symbolic links correctly).
Bug Fixes
Git for Windows v2.6.3's installer failed to elevate privileges automatically (reported three times, making it a charm), and as a consequence Git for Windows 2.6.3 was frequentlyinstalled per-user by mistake
The bug where SHELL_PATH had spaces and that was reported multiple times has been fixed.
An additional work-around from upstream Git for SHELL_PATH containing spaces (fixingproblems with interactive rebase'sexec command has been applied.
Changes since Git for Windows v2.6.2 (October 19th 2015)
New Features
Comes with Git v2.6.3.
Enables the stack smasher to protect against buffer overflows.
Bug Fixes
Git Bash works now even when choosing Windows' default console and installing into a short path (e.g.C:\Git).
Notepad can now really be used to edit commit messages.
Git's garbage collector now handles stale refs/remotes/origin/HEAD gracefully.
The regression in Git for Windows 2.6.2 that it required administrator privileges to be installedis now fixed.
When notepad is configured as default editor, we no longer do anything speciallyunless editing files inside.git/.
Changes since Git for Windows v2.6.1 (October 5th 2015)
New Features
Comes with Git v2.6.2
Users who are part of a Windows domain now have sensible default values for user.name and user.email.
Bug Fixes
We no longer run out of page file space when git fetching large repositories.
The description of Windows' default console is accurate now (the console became more powerful in Windows 10).
Git GUI now respects the terminal emulation chosen at install time when running the Git Bash.
Changes since Git-2.6.0 (September 29th 2015)
New Features
Comes with Git 2.6.1
The installer now writes the file /etc/install-options.txt to record which options were chosen at install time.
Replaces git flow with the AVH edition which is maintained actively, in surprising and disappointing contrast to Vincent Driessen's very own project.
Bug Fixes
The PATH variable is now really left alone when choosing the "Use Git from Git Bash only" option in the installer. Note that upgrading Git for Windows will call the previous version's uninstaller, which might still have that bug.
Git GUI's Registry>Create Desktop Icon now generates correct shortcuts.
The antiword utility to render Word documents for use in git diffnow works correctly.
In 64-bit installations, we no longer set a pack size limit by default.
When installing Git for Windows as regular user, the installer no longer tries to create privileged registry keys.
Changes since Git-2.5.3 (September 18th 2015)
New Features
Comes with Git 2.6.0
The WhoUses.exe tool to determine which process holds a lock on a given file (which was shipped with Git for Windows 1.x)gets installed alongside Git for Windows again.
The values CurrentVersion, InstallPath and LibexecPath areadded to theHKEY_LOCAL_MACHINE\Software\GitForWindows registry key to help third-party add-ons to find us.
When fetching or pushing with Git without a console, we now fall back to Git GUI's askpass helper to ask for pass phrases.
When run through <INSTALL_PATH>\cmd\git.exe, Git will find tools in $HOME/bin now.
Bug Fixes
The portable version avoids DLL search path problems even when installed into a FAT filesystem.
Configuring notepad as editor without configuring a width for commit messagesno longer triggers an error message.
When using Windows' default console for Git Bash, the .sh file associations work again.
Portable Git's README is now clearer about the need to run post-install.bat when unpacking manually.
We use thewinpty trick now to runipython interactively, too.
When the environment variable HOME is not set, we now fall back correctly to use HOMEDRIVE and HOMEPATH.
The home directory is now set correctly when running as the SYSTEM user.
The environment variable GIT_WORK_TREE may now differ in lower/upper case with the Git's idea of the current working directory.
Running git clone --dissociate ... no longer locks the pack files during the repacking phase.
Upstream cURL fixes for NTLM proxy issues ("Unknown SSL error") were backported.
The 64-bit version now includes the astextplain script it lacked by mistake.
Changes since Git-2.5.2(2) (September 13th 2015)
New Features
Comes with Git 2.5.3.
Includes git flow.
By configuring git config core.editor notepad, users can now use notepad.exe as their default editor. Configuring git config format.commitMessageColumns 72 will be picked up by the notepad wrapper and line-wrap the commit message after the user edited it.
The Subversion bindings for use with git svn were upgraded to version 1.9.1.
Some interactive console programs, e.g. psql.exe, now work in mintty thanks to pre-configured aliases.
The mechanism to diff .pdf, .doc and .docx files known from Git for Windows 1.xhas been ported to Git for Windows 2.x.
Git can now access IPv6-only hosts via HTTP/HTTPS.
Bug fixes
The .vimrc in the home directory is now allowed to have DOS line endings.
The README.portable file of the portable Git mentions the need to run post-install.bat when the archive was extracted manually.
Home directories for user names with non-ASCII characters are handled correctly now.
The documentation no longer shows plain-text linkgit:... "links" but proper hyperlinks instead.
The mtab link is written to /etc/mtab again, as it should.
When run inside the PowerShell, Git no longer gets confused when the current directory's path and what is recorded in the file system differs in case (e.g. "GIT/" vs "Git/").
Changes since Git-2.5.2 (September 10th 2015)
Bug fixes
The Git GUI can be launched from the Start menu again.
It now works to call git add -p -- . when there is a large number of files.
The Arrow keys can be used in the Bash history again when run in the Windows console.
Tab completion in the context of a large Active Directory is no longer slow.
Changes since Git-2.5.1 (August 31th 2015)
New Features
Comes with Git 2.5.2
Alternates can now point to UNC paths, i.e. network drives.
Bug fixes
The MSys2 runtime was taught not to look hard for groups, speeding up Git Bash's startup time.
A work around was added for issues when installing 32-bit Git for Windows on 64-bit Windows 10.
The installer no longer freezes when there are interactive commands in the user's .profile.
git rebase --skip was speeded up again.
The redirector in /bin/bash.exe now adjusts the PATH environment variable correctly (i.e. so that Git's executables are found) before launching thereal Bash, even when called without--login.
When installing Git for Windows to a location whose path is longer than usual, Git commandsno longer trigger occasionalBad address errors.
Git no longer asks for a DVD to be inserted again when one has been ejected from theD: drive.
Changes since Git-2.5.0 (August 18th 2015)
New Features
Comes with Git 2.5.1
Bug fixes
Backspace works now with ConHost-based (cmd.exe) terminal.
When there is a ~/.bashrc but no ~/.bash_profile, the latter will be created automatically.
When calling a non-login shell, the prompt now works.
The text in the installer describing the terminal emulator options is no longer cut off.
The connect.exe tool to allow SSH connections via HTTP/HTTPS/SOCKS proxiesis included in Git for Windows again, as it was in Git for Windows 1.x.
The LANG variable is no longer left unset (which caused troubles with vim).
call start-ssh-agent no longer spits out bogus lines.
It is now possible even behind NTLM-authenticated proxies to install Git for Windows' SDK.
We can handle the situation now when the first $PATH elements point outside of Git for Windows'bin/ directories and contain.dll files that interfere with our own (e.g. PostgreSQL'slibintl-8.dll).
The patch tool is now included again as it was in Git for Windows 1.x.
Changes since Git-2.4.6 (July 18th 2015)
New Features
Comes with Git 2.5.0
On Windows 7 and later, the Git Bash can now correctly be pinned to the task bar.
Bug fixes
The size of the installers was reduced again, almost to the levels of Git for Windows 1.x.
Under certain circumstances, when the Windows machine is part of a Windows domain with lots of users, the startup of theGit Bashis now faster.
Git no longer warns about being unable to read bogus Git attributes.
Changes since Git-2.4.5 (June 29th 2015)
New Features
Comes with Git 2.4.6
Bug fixes
Git for Windows handles symlinks now, even if core.symlinks does not tell Git to generate symlinks itself.
git svn learned not to reuse incompatible on-disk caches left over from previous Git for Windows versions.
Changes since Git-2.4.4 (June 20th 2015)
New Features
Comes with Git 2.4.5
Bug fixes
Git Bash no longer crashes when called with TERM=msys. This reinstates compatibility with GitHub for Windows.
Changes since Git-2.4.3 (June 12th 2015)
New Features
Comes with Git 2.4.4
The POSIX-to-Windows path mangling can now be turned off by setting the MSYS_NO_PATHCONV environment variable. This even works for individual command lines:MSYS_NO_PATHCONV=1 cmd /c dir /x will list the files in the current directory along with their 8.3 versions.
Bug fixes
git-bash.exe no longer changes the working directory to the user's home directory.
Git can now clone into a drive root, e.g.C:\.
For backwards-compatibility, redirectors are installed into /bin/bash.exe and/bin/git.exe, e.g.to support SourceTree and TortoiseGit better.
When using core.symlinks = true while cloning repositories with symbolic links pointing to directories,git status no longer shows bogus modifications.
Changes since Git-2.4.2 (May 27th 2015)
New Features
Comes with Git 2.4.3
Bug fixes
We includediff.exe just as it was the case in Git for Windows 1.x
The certificates for accessing remote repositories via HTTPS are found on XP again.
clear.exe and the cursor keys in vi work again when Git Bash is run in Windows' default console window ("ConHost").
The ACLs of the user's temporary directory are no longer modified when mounting/tmp/ (https://github.com/git-for-windows/git/issues/190).
Git Bash Here works even from the context menu of the empty area in Windows Explorer's view of C:\, D:\, etc (https://github.com/git-for-windows/git/issues/176).
Changes since Git-2.4.1 (May 14th 2015)
New Features
On Windows Vista and later, NTFS junctions can be used to emulate symlinks now; To enable this emulation, theMSYS environment variable needs to be set towinsymlinks:nativestrict.
The Git Bash learned to support several options to support running the Bash in arbitrary terminal emulators.
Bug fixes
Just like Git for Windows 1.x, pressing Shift+Tab in the Git Bash triggers tab completion.
Auto-mount the temporary directory of the current user to/tmp/ again, just like Git for Windows 1.x did (thanks to MSys1's hard-coded mount point).
Changes since Git-2.4.0(2) (May 7th 2015)
New Features
Comes with Git 2.4.1
Bug fixes
When selecting the standard Windows console window for Git Bash, a regression was fixed that triggeredan extra console window to be opened.
The password can be entered interactively again when git pushing to a HTTPS remote.
Changes since Git-2.4.0 (May 5th 2015)
Bug fixes
The .sh file association was fixed
The installer will now remove files from a previous Git for Windows versions, particularly important for 32-bit -> 64-bit upgrades
New Features
The installer now offers the choice between opening the Git Bash in a MinTTY (default) or a regular Windows console window (Git for Windows 1.x' setting).
Changes since Git-2.3.7-preview20150429
New Features
Comes with Git 2.4.0
Git for Windows now installs its configuration into a Windows-wide location: %PROGRAMDATA%\Git\config (which will be shared by libgit2-based applications with the next libgit2 version)
Bug fixes
Fixed a regression where Git Bash would not start properly on Windows XP
Tab completion works like on Linux and MacOSX (double-Tab required to show ambiguous completions)
In 32-bit setups, all the MSys2 .dll's address ranges are adjusted ("auto-rebased") as part of the installation process
The post-install scripts of MSys2 are now executed as part of the installation process, too
All files that are part of the installation will now be registered so they are deleted upon uninstall
Changes since Git-2.3.6-preview20150425
New Features
Comes with Git 2.3.7
Bug fix
A flawed "fix" that ignores submodules during rebases was dropped
The home directory can be overridden using the $HOME environment variable again
Changes since Git-2.3.5-preview20150402
New Features
Comes with Git 2.3.6
Bug fixes
Fixed encoding issues in Git Bash and keept the TMP environment variable intact.
Downgraded the nettle packages due to an MSYS2 issue
A couple of fixes to the Windows-specific Git wrapper
Git wrapper now refuses to use $HOMEDRIVE$HOMEPATH if it points to a non-existing directory (this can happen if it points to a network drive that just so happens to be Disconnected Right Now).
Much smoother interaction with the mintty terminal emulator
Respects the newly introduced Windows-wide %PROGRAMDATA%\Git\config configuration
Changes since Git-1.9.5-preview20150402
New Features
Comes with Git 2.3.5 plus Windows-specific patches.
First release based on MSys2.
Support for 64-bit!
Backwards-incompatible changes
The development environment changed completely from the previous version (maybe introducing some regressions).
No longer ships with Git Cheetah (because there are better-maintained Explorer extensions out there).
Changes since Git-1.9.5-preview20141217
New Features
Comes with Git 1.9.5 plus Windows-specific patches.
Make vimdiff usable with git mergetool.
Security Updates
Mingw-openssl to 0.9.8zf and msys-openssl to 1.0.1m
Bash to 3.1.23(6)
Curl to 7.41.0
Bugfixes
ssh-agent: only ask for password if not already loaded
Reenable perl debugging ("perl -de 1" possible again)
Set icon background color for Windows 8 tiles
poll: honor the timeout on Win32
For git.exe alone, use the same HOME directory fallback mechanism as/etc/profile
Changes since Git-1.9.4-preview20140929
New Features
Comes with Git 1.9.5 plus Windows-specific patches.
Bugfixes
Safeguards against bogus file names on NTFS (CVE-2014-9390).
Changes since Git-1.9.4-preview20140815
New Features
Comes with Git 1.9.4 plus Windows-specific patches.
Bugfixes
Update bash to patchlevel 3.1.20(4) (msysgit PR#254, msysgit issue #253).
Fixes CVE-2014-6271, CVE-2014-7169, CVE-2014-7186 and CVE-2014-7187.
gitk.cmd now works when paths contain the ampersand (&) symbol (msysgit PR #252)
Default to automatically close and restart applications in silent mode installation type
git svn is now usable again (regression in previous update, msysgit PR#245)
Changes since Git-1.9.4-preview20140611
New Features
Comes with Git 1.9.4 plus Windows-specific patches
Add vimtutor (msysgit PR #220)
Update OpenSSH to 6.6.1p1 and its OpenSSL to 1.0.1i (msysgit PR #221, #223, #224, #226, #229, #234, #236)
Update mingw OpenSSL to 0.9.8zb (msysgit PR #241, #242)
Bugfixes
Checkout problem with directories exceeding MAX_PATH (PR #212, msysgit #227)
Backport a webdav fix from junio/maint (d9037e http-push.c: make CURLOPT_IOCTLDATA a usable pointer, PR #230)
Regressions
git svn is/might be broken. Fixes welcome.
Changes since Git-1.9.2-preview20140411
New Features
Comes with Git 1.9.4 plus Windows-specific patches.
Bugfixes
Upgrade openssl to 0.9.8za (msysgit PR #212)
Config option to disable side-band-64k for transport (#101)
Make git-http-backend, git-http-push, git-http-fetch available again (#174)
Changes since Git-1.9.0-preview20140217
New Features
Comes with Git 1.9.2 plus Windows-specific patches.
Custom installer settings can be saved and loaded, for unsupervised installation on batches of machines (msysGit PR #168).
Comes with VIM 7.4 (msysGit PR #170).
Comes with ZLib 1.2.8.
Comes with xargs 4.4.2.
Bugfixes
Work around stack limitations when listing an insane number of tags (PR #154).
Assorted test fixes (PRs #156, #158).
Compile warning fix in config.c (PR #159).
Ships with actual dos2unix and unix2dos.
The installer no longer recommends mixing with Cygwin.
Fixes a regression in Git-Cheetah which froze the Explorer upon calling Git Bash from the context menu (Git-Cheetah PRs #14 and #15).
Changes since Git-1.8.5.2-preview20131230
New Features
Comes with Git 1.9.0 plus Windows-specific patches.
Better work-arounds for Windows-specific path length limitations (pull request #122)
Uses optimized TortoiseGitPLink when detected (msysGit pull request #154)
Allow Windows users to use Linux Git on their files, using Vagrant (msysGit pull request #159)
InnoSetup 5.5.4 is now used to generate the installer (msysGit pull request #167)
Bugfixes
Fixed regression with interactive password prompt for remotes using the HTTPS protocol (issue #111)
We now work around Subversion servers printing non-ISO-8601-compliant time stamps (pull request #126)
The installer no longer sets the HOME environment variable (msysGit pull request #166)
Perl no longer creates empty sys$command files when no stdin is connected (msysGit pull request #152)
Changes since Git-1.8.4-preview20130916
New Features
Comes with Git 1.8.5.2 plus Windows-specific patches.
Windows-specific patches are now grouped into pseudo-branches which should make future development robust despite slow uptake of the Windows-specific patches by upstream git.git.
Works around more path length limitations (pull request #86)
Has an optional stat() cache toggled via core.fscache (pull request #107)
Bugfixes
Lots of installer fixes
git-cmd: Handle home directory on a different drive correctly (pull request #146)
git-cmd: add a helper to work with the ssh agent (pull request #135)
Git-Cheetah: prevent duplicate menu entries (pull request #7)
No longer replaces dos2unix with hd2u (a more powerful, but slightly incompatible version of dos2unix)
Changes since Git-1.8.3-preview20130601
New Features
Comes with Git 1.8.4 plus Windows specific patches.
Enabled unicode support in bash (#42 and #79)
Included iconv.exe to assist in writing encoding filters
Updated openssl to 0.9.8y
Bugfixes
Avoid emitting non-printing chars to set console title.
Various encoding fixes for the git test suite
Ensure wincred handles empty username/password.
Changes since Git-1.8.1.2-preview20130201
New Features
Comes with Git 1.8.3 plus Windows specific patches.
Updated curl to 7.30.0 with IPv6 support enabled.
Updated gnupg to 1.4.13
Installer improvements for update or reinstall options.
Bugfixes
Avoid emitting color coded ls output to pipes.
ccache binary updated to work on XP.
Fixed association of .sh files setup by the installer.
Fixed registry-based explorer menu items for XP (#95)
Changes since Git-1.8.0-preview20121022
New Features
Comes with Git 1.8.1.2 plus Windows specific patches.
Includes support for using the Windows Credential API to store access credentials securely and provide access via the control panel tool to manage git credentials.
Rebase autosquash support is now enabled by default. See http://goo.gl/2kwKJ for some suggestions on using this.
All msysGit development is now done on 'master' and the devel branches are deleted.
Tcl/Tk upgraded to 8.5.13.
InnoSetup updated to 5.5.3 (Unicode)
Bugfixes
Some changes to avoid clashing with cygwin quite so often.
The installer will attempt to handle files mirrored in the virtualstore.
Changes since Git-1.7.11-preview20120710
New Features
Comes with Git 1.8.0 plus Windows specific patches.
InnoSetup updated to 5.5.2
Bugfixes
Fixed icon backgrounds on low color systems
Avoid installer warnings during writability testing.
Fix bash prompt handling due to upstream changes.
Changes since Git-1.7.11-preview20120704
Bugfixes
Propagate error codes from git wrapper (issue #43, #45)
Include CAcert root certificates in SSL bundle (issue #37)
Changes since Git-1.7.11-preview20120620
New Features
Comes with the beautiful Git logo from http://git-scm.com/downloads/logos
The installer no longer asks for the directory and program group when updating
The installer now also auto-detects TortoisePlink that comes with TortoiseGit
Bugfixes
Git::SVN is correctly installed again
The default format for git help is HTML again
Replaced the git.cmd script with an exe wrapper to fix issue #36
Fixed executable detection to speed up help -a display.
Changes since Git-1.7.10-preview20120409
New Features
Comes with Git 1.7.11 plus Windows specific patches.
Updated curl to 7.26.0
Updated zlib to 1.2.7
Updated Inno Setup to 5.5.0 and avoid creating symbolic links (issue #16)
Updated openssl to 0.9.8x and support reading certificate files from Unicode paths (issue #24)
Version resource built into git executables.
Support the Large Address Aware feature to reduce chance out-of-memory on 64 bit windows when repacking large repositories.
Bugfixes
Please refer to the release notes for official Git 1.7.11.
Fix backspace/delete key handling in rxvt terminals.
Fixed TERM setting to avoid a warning from less.
Various fixes for handling unicode paths.
Changes since Git-1.7.9-preview20120201
New Features
Comes with Git 1.7.10 plus Windows specific patches.
UTF-8 file name support.
Bugfixes
Please refer to the release notes for official Git 1.7.10.
Clarifications in the installer.
Console output is now even thread-safer.
Better support for foreign remotes (Mercurial remotes are disabled for now, due to lack of a Python version that can be compiled within the development environment).
Git Cheetah no longer writes big log files directly to C:\.
Development environment: enhancements in the script to make a 64-bit setup.
Development environment: enhancements to the 64-bit Cheetah build.
Changes since Git-1.7.8-preview20111206
New Features
Comes with Git 1.7.9 plus Windows specific patches.
Improvements to the installer running application detection.
Bugfixes
Please refer to the release notes for official Git 1.7.9
Fixed initialization of the git-cheetah submodule in net-installer.
Fixed duplicated context menu items with git-cheetah on Windows 7.
Patched gitk to display filenames when run on a subdirectory.
Tabbed gitk preferences dialog to allow use on smaller screens.
Changes since Git-1.7.7.1-preview20111027
New Features
Comes with Git 1.7.8 plus Windows specific patches.
Updated Tcl/Tk to 8.5.11 and libiconv to 1.14
Some changes to support building with MSVC compiler.
Bugfixes
Please refer to the release notes for official Git 1.7.8
Git documentation submodule location fixed.
Changes since Git-1.7.7-preview20111014
New Features
Comes with Git 1.7.7.1 plus patches.
Bugfixes
Please refer to the release notes for official Git 1.7.7.1
Includes an important upstream fix for a bug that sometimes corrupts the git index file.
Changes since Git-1.7.6-preview20110708
New Features
Comes with Git 1.7.7 plus patches.
Updated gzip/gunzip and include unzip and gvim
Primary repositories moved to GitHub
Bugfixes
Please refer to the release notes for official Git 1.7.7
Re-enable vim highlighting
Fixed issue with libiconv/libiconv-2 location
Fixed regressions in Git Bash script
Fixed installation of mergetools for difftool and mergetool use and launching of beyond compare on windows.
Fixed warning about mising hostname during git fetch
Changes since Git-1.7.4-preview20110211
New Features
Comes with Git 1.7.6 plus patches.
Updates to various supporting tools (openssl, iconv, InnoSetup)
Bugfixes
Please refer to the release notes for official Git 1.7.6
Fixes to msys compat layer for directory entry handling and command line globbing.
Changes since Git-1.7.3.2-preview20101025
New Features
Comes with Git 1.7.4 plus patches.
Includes antiword to enable viewing diffs of .doc files
Includes poppler to enable viewing diffs of .pdf files
Removes cygwin paths from the bash shell PATH
Bugfixes
Please refer to the release notes for official Git 1.7.4
Changes since Git-1.7.3.1-preview20101002
New Features
Comes with Git 1.7.3.2 plus patches.
Changes since Git-1.7.2.3-preview20100911
New Features
Comes with Git 1.7.3.1 plus patches.
Updated to Vim 7.3, file-5.04 and InnoSetup 5.3.11
Bugfixes
Issue 528 (remove uninstaller from Start Menu) was fixed
Issue 527 (failing to find the certificate authority bundle) was fixed
Issue 524 (remove broken and unused sdl-config file) was fixed
Issue 523 (crash pushing to WebDAV remote) was fixed
Changes since Git-1.7.1-preview20100612
New Features
Comes with Git 1.7.2.3 plus patches.
Bugfixes
Issue 519 (build problem with compat/regex/regexec.c) was fixed
Issue 430 (size of panes not preserved in git-gui) was fixed
Issue 411 (git init failing to work with CIFS paths) was fixed
Issue 501 (failing to clone repo from root dir using relative path) was fixed
Changes since Git-1.7.0.2-preview20100309
New Features
Comes with Git 1.7.1 plus patches.
Bugfixes
Issue 27 (git-send-mail not working properly) was fixed again
Issue 433 (error while running git svn fetch) was fixed
Issue 427 (Gitk reports error: "couldn't compile regular expression pattern: invalid repetition count(s)") was fixed
Issue 192 (output truncated) was fixed again
Issue 365 (Out of memory? mmap failed) was fixed
Issue 387 (gitk reports "error: couldn't execute "git:" file name too long") was fixed
Issue 409 (checkout of large files to network drive fails on XP) was fixed
Issue 428 (The return value of git.cmd is not the same as git.exe) was fixed
Issue 444 (Git Bash Here returns a "File not found error" in Windows 7 Professional - 64 bits) was fixed
Issue 445 (git help does nothing) was fixed
Issue 450 (git --bare init shouldn't set the directory to hidden.) was fixed
Issue 456 (git script fails with error code 1) was fixed
Issue 469 (error launch wordpad in last netinstall) was fixed
Issue 474 (git update-index --index-info silently does nothing) was fixed
Issue 482 (Add documentation to avoid "fatal: $HOME not set" error) was fixed
Issue 489 (git.cmd issues warning if %COMSPEC% has spaces in it) was fixed
Issue 436 (mkdir : No such file or directory error while using git-svn to fetch or rebase) was fixed
Issue 440 (Uninstall does not remove cheetah.) was fixed
Issue 441 (Git-1.7.0.2-preview20100309.exe installer fails with unwritable msys-1.0.dll when ssh-agent is running) was fixed
Changes since Git-1.6.5.1-preview20091022
New Features
Comes with official Git 1.7.0.2.
Comes with Git-Cheetah (on 32-bit Windows only, for now).
Comes with connect.exe, a SOCKS proxy.
Tons of improvements in the installer, thanks to Sebastian Schuberth.
On Vista, if possible, symlinks are used for the built-ins.
Features Hany's dos2unix tool, thanks to Sebastian Schuberth.
Updated Tcl/Tk to version 8.5.8 (thanks Pat Thoyts!).
By default, only .git/ is hidden, to work around a bug in Eclipse (thanks to Erik Faye-Lund).
Bugfixes
Fixed threaded grep (thanks to Heiko Voigt).
git gui was fixed for all kinds of worktree-related failures (thanks Pat Thoyts).
git gui now fully supports themed widgets (thanks Pat Thoyts and Heiko Voigt).
Git no longer complains about an unset RUNTIME_PREFIX (thanks Johannes Sixt).
git gui can Explore Working Copy on Windows again (thanks Markus Heidelberg).
git gui can create shortcuts again (fixes issue 425, thanks Heiko Voigt).
When git checkout cannot overwrite files because they are in use, it will offer to try again, giving the user a chance to release the file (thanks Heiko Voigt).
Ctrl+W will close gitk (thanks Jens Lehmann).
git gui no longer binds Ctrl+C, which caused problems when trying to use said shortcut for the clipboard operation "Copy" (fixes issue 423, thanks Pat Thoyts).
gitk does not give up when the command line length limit is reached (issue 387).
The exit code is fixed when Git.cmd is called from cmd.exe (thanks Alexey Borzenkov).
When launched via the (non-Cheetah) shell extension, the window icon is now correct (thanks Sebastian Schuberth).
Uses a TrueType font for the console, to be able to render UTF-8 correctly.
Clarified the installer's line ending options (issue 370).
Substantially speeded up startup time from cmd unless NO_FSTAB_THREAD is set (thanks Johannes Sixt).
Update msys-1.0.dll yet again, to handle quoted parameters better (thanks Heiko Voigt).
Updated cURL to a version that supports SSPI.
Updated tar to handle the pax headers generated by git archive.
Updated sed to a version that can handle the filter-branch examples.
.git* files can be associated with the default text editor (issue 397).
Changes since Git-1.6.4-preview20090729
New Features
Comes with official git 1.6.5.1.
Thanks to Johan 't Hart, files and directories starting with a single dot (such as.git) will now be marked hidden (you can disable this setting with core.hideDotFiles=false in your config) (Issue 288).
Thanks to Thorvald Natvig, Git on Windows can simulate symbolic links by using reparse points when available. For technical reasons, this only works for symbolic links pointing to files, not directories.
A lot of work has been put into making it possible to compile Git's source code (the part written in C, of course, not the scripts) with Microsoft Visual Studio. This work is ongoing.
Thanks to Sebastian Schuberth, we only offer the (Tortoise)Plink option in the installer if the presence of Plink was detected and at least one Putty session was found..
Thanks to Sebastian Schuberth, the installer has a nicer icon now.
Some more work by Sebastian Schuberth was done on better integration of Plink (Issues 305 & 319).
Bugfixes
Thanks to Sebastian Schuberth, git svn picks up the SSH setting specified with the installer (Issue 305).
Changes since Git-1.6.3.2-preview20090608
New Features
Comes with official git 1.6.4.
Supports https:// URLs, thanks to Erik Faye-Lund.
Supports send-email, thanks to Erik Faye-Lund (Issue 27).
Updated Tcl/Tk to version 8.5.7, thanks to Pat Thoyts.
Bugfixes
The home directory is now discovered properly (Issues 108 & 259).
IPv6 is supported now, thanks to Martin Martin Storsjö (Issue 182).
Changes since Git-1.6.3-preview20090507
New Features
Comes with official git 1.6.3.2.
Uses TortoisePlink instead of Plink if available.
Bugfixes
Plink errors out rather than hanging when the user needs to accept a host key first (Issue 96).
The user home directory is inferred from $HOMEDRIVE\$HOMEPATH instead of$HOME (Issue 108).
The environment setting $CYGWIN=tty is ignored (Issues 138, 248 and 251).
The ls command shows non-ASCII filenames correctly now (Issue 188).
Adds more syntax files for vi (Issue 250).
$HOME/.bashrc is included last from /etc/profile, allowing.bashrc to override all settings in/etc/profile (Issue 255).
Completion is case-insensitive again (Issue 256).
The start command can handle arguments with spaces now (Issue 258).
For some Git commands (such as git commit), vi no longer "restores" the cursor position.
Changes since Git-1.6.2.2-preview20090408
New Features
Comes with official git 1.6.3.
Thanks to Marius Storm-Olsen, Git has a substantially faster readdir() implementation now.
Marius Storm-Olsen also contributed a patch to include nedmalloc, again speeding up Git noticably.
Compiled with GCC 4.4.0
Bugfixes
Portable Git contains a README.portable.
Portable Git now actually includes the builtins.
Portable Git includes git-cmd.bat and git-bash.bat.
Portable Git is now shipped as a .7z; it still is a self-extracting archive if you rename it to.exe.
Git includes the Perl Encode module now.
Git now includes the filter-branch tool.
There is a workaround for a Windows 7 regression triggering a crash in the progress reporting (e.g. during a clone). This fixes issues 236 and 247.
gitk tries not to crash when it is closed while reading references (Issue 125, thanks Pat Thoyts).
In some setups, hard-linking is not as reliable as it should be, so we have a workaround which avoids hard links in some situations (Issues 222 and 229).
git-svn sets core.autocrlf to false now, hopefully shutting up most of thegit-svn reports.
Changes since Git-1.6.2.1-preview20090322
New Features
Comes with official git 1.6.2.2.
Upgraded Tcl/Tk to 8.5.5.
TortoiseMerge is supported by mergetool now.
Uses pthreads (faster garbage collection on multi-core machines).
The test suite passes!
Bugfixes
Renaming was made more robust (due to Explorer or some virus scanners, files could not be renamed at the first try, so we have to try multiple times).
Johannes Sixt made lots of changes to the test-suite to identify properly which tests should pass, and which ones cannot pass due to limitations of the platform.
Support PAGERs with spaces in their filename.
Quite a few changes were undone which we needed in the olden days of msysGit.
Fall back to / when HOME cannot be set to the real home directory due to locale issues (works around Issue 108 for the moment).
Changes since Git-1.6.2-preview20090308
New Features
Comes with official git 1.6.2.1.
A portable application is shipped in addition to the installer (Issue 195).
Comes with a Windows-specific mmap() implementation (Issue 198).
Bugfixes
ANSI control characters are no longer shown verbatim (Issue 124).
Temporary files are created respecting core.autocrlf (Issue 177).
The Git Bash prompt is colorful again (Issue 199).
Fixed crash when hardlinking during a clone failed (Issue 204).
An infinite loop was fixed in git-gui (Issue 205).
The ssh protocol is always used with plink.exe (Issue 209).
More vim files are shipped now, so that syntax highlighting works.
Changes since Git-1.6.1-preview20081225
New Features
Comes with official git 1.6.2.
Comes with upgraded vim 7.2.
Compiled with GCC 4.3.3.
The user can choose the preferred CR/LF behavior in the installer now.
Peter Kodl contributed support for hardlinks on Windows.
The bash prompt shows information about the current repository.
Bugfixes
If supported by the file system, pack files can grow larger than 2gb.
Comes with updated msys-1.0.dll (should fix some Vista issues).
Assorted fixes to support the new libexec/git-core/ layout better.
Read-only files can be properly replaced now.
git-svn is included again (original caveats still apply).
Obsolete programs from previous installations are cleaned up.
Changes since Git-1.6.0.2-preview20080923
New Features
Comes with official git 1.6.1.
Avoid useless console windows.
Installer remembers how to handle PATH.
Changes since Git-1.6.0.2-preview20080921
Bugfixes
ssh works again.
git add -p works again.
Various programs that aborted with Assertion failed: argv0_path are fixed.
Changes since Git-1.5.6.1-preview20080701
Removed Features
git svn is excluded from the end-user installer (see Known Issues).
New Features
Comes with official git 1.6.0.2.
Bugfixes
No Windows-specific bugfixes.
Changes since Git-1.5.6-preview20080622
New Features
Comes with official git 1.5.6.1.
Bugfixes
Includes fixed msys-1.0.dll that supports Vista and Windows Server 2008 (Issue 122).
cmd wrappers do no longer switch off echo.
Changes since Git-1.5.5-preview20080413
New Features
Comes with official git 1.5.6.
Installer supports configuring a user provided Plink (PuTTY).
Bugfixes
Comes with tweaked msys-1.0.dll to solve some command line mangling issues.
cmd wrapper does no longer close the command window.
Programs in the system PATH, for example editors, can be launched from Git without specifying their full path.
git stash apply stash@{1} works.
Comes with basic ANSI control code emulation for the Windows console to avoid wrapping of pull/merge's diffstats.
Git correctly passes port numbers to PuTTY's Plink
Changes since Git-1.5.4-preview20080202
New Features
Comes with official git 1.5.5.
core.autocrlf is enabled (true) by default. This means git converts to Windows line endings (CRLF) during checkout and converts to Unix line endings (LF) during commit. This is the right choice for cross-platform projects. If the conversion is not reversible, git warns the user. The installer warns about the new default before the installation starts.
The user does no longer have to "accept" the GPL but only needs to press "continue".
Installer deletes shell scripts that have been replaced by builtins. Upgrading should be safer.
Supports git svn. Note that the performance might be below your expectation.
Bugfixes
Newer ssh fixes connection failures (issue 74).
Comes with MSys-1.0.11-20071204. This should solve some "fork: resource unavailable" issues.
All DLLs are rebased to avoid problems with "fork" on Vista.
Changes since Git-1.5.3.6-preview20071126
New Features
Comes with official git 1.5.4.
Some commands that are not yet suppoted on Windows are no longer included (see Known Issues above).
Release notes are displayed in separate window.
Includes qsort replacement to improve performance on Windows 2000.
Bugfixes
Fixes invalid error message that setup.ini cannot be deleted on uninstall.
Setup tries harder to finish the installation and reports more detailed errors.
Vim's syntax highlighting is suitable for dark background.
Changes since Git-1.5.3.5-preview20071114
New Features
Git is included in version 1.5.3.6.
Setup displays release notes.
Bugfixes
pull/fetch/push in git-gui works. Note, there is no way forssh to ask for a passphrase or for confirmation if you connect to an unknown host. So, you must have ssh set up to work without passphrase. Either you have a key without passphrase, or you started ssh-agent. You may also consider using PuTTY by pointingGIT_SSH toplink.exe and handle your ssh keys with Pageant. In this case you should include your login name in urls. You must also connect to an unknown host once from the command line and confirm the host key, before you can use it fromgit-gui.
Changes since Git-1.5.3-preview20071027
New Features
Git is included in version 1.5.3.5.
Setup can be installed as normal user.
When installing as Administrator, all icons except the Quick Launch icon will be created for all users.
git help user-manual displays the user manual.
Bugfixes
Git Bash works on Windows XP 64.
Changes since Git-1.5.3-preview20071019
Bugfixes
The templates for a new repository are found.
The global configuration /etc/gitconfig is found.
Git Gui localization works. It falls back to English if a translation has errors.
Changes since WinGit-0.2-alpha
The history of the release notes stops here. Various new features and bugfixes are available since WinGit-0.2-alpha. Please check the git history of the msysgit project for details.
--------------------- 
作者:boonya 
來源:CSDN 
原文:https://blog.csdn.net/boonya/article/details/50516079 
版權宣告:本文為博主原創文章,轉載請