目录
- 工具
- 安装事项
- 本地密码保存
- Git常用使用操作
- 如何管理我们的版本及分支
工具
开源的一款版本控制器Git深受大家喜欢。下面我归纳下用Git开发需要哪些东西。
客户端:
1、msysgit 是Window平台下的功能软件
下载地址 https://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
2、Tortoisegit 是一款git客户端管理工具。
下载地址 https://code.google.com/p/tortoisegit/wiki/Download?tm=2
3、Git Extensions 是一款git版本控制器插件,它提供一个图形用户界面给用户操作。
下载地址 https://code.google.com/p/gitextensions/
4、Git Source Control Provider 是给vs 2010及以上版本的一款git插件
下载地址 http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c
服务器:
如果想把自己的服务器作为版本控制的服务器。下面有两片文章供大家参考
英文 http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds
中文 http://www.cnblogs.com/dudu/archive/2011/06/24/git_on_windows.html
git 文档及书
Git Community Book: http://gitbook.liuhui998.com/index.html
Git Command 指令文档:http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/index.html
安装事项
在安装msysgit的时候,因为Window(CRLF)和Linux(*nix)平台的换行符不一样,会导致我们提交到服务器会改变我们代码中的换行符。这里在安装的时候 选择Checkout as-is,commit as-is.
本地密码保存
Git 客户端本地密码保存。
在每次得或者提交到服务器都要提示输入账号和密码。为了减轻负担把账号和密码存到本地。
1. 在Windows中添加一个HOME环境变量,值为%USERPROFILE%,如下图:
2. 在“开始》运行”中打开%Home%,新建一个名为“_netrc”的文件。
3. 用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存。示例如下:
machine 提交到服务器的网址(不需要端口号)
login 用户名
password 密码
Git常用使用操作
一、命令操作:
1、git branch 查看本地分支
2、git branch -r 查看远程分支
3、git status 查看哪些文件被提交(commit)了,哪些文件没有提交,哪些文件修改了。
4、git commit -a 提交修改的文件,这时候会跳出vim编辑器,不建议使用。git commit -a -m 全部提交。
5、gitk 提交后可以通过这个命令查看本地文件提交后的所有信息。
6、git checkout XXX 切换到某分支(XXX)
7、git branch -d XXX 删除本地的某个分支(小写d改成大写D是强制删除)
8、git merge XXX 合并分支
9、git reset --hard HEAD 当合并分支后,想放弃合并后的操作。此操作回到了合并前的状态。
10、git log 查看当前分支的日志(加 --stat 是哪些文件被修改了,哪些文件新增或删除。--pretty格式化日志,比如 --pretty=short)
11、git diff 比较当前本地工作目录和上次提交的这个本地目录的差别。 git diff XXX 是和某个分支的差别。git diff --cached 是当前的索引和上次提交的差异。git diff XXX --./lib 和某个分支下的lib目录下的文件的差异。git diff --stat 查看当前分支哪些文件改动了。(按Q键退出查看差别。)
12、git pull 得服务器上这个分支的最新数据(这里做了两个操作,一个是得,一个是merge),git pull XXX 得某个分支的数据。一般的做法是先 git fetch XXX 然后查看本地的和刚取得的数据的比较 git log -p XXX 检查完毕,然后在git merge XXX
13、git stash 当我们在这个分支上做了一些操作,这时候要修改上个提交版本的bug,而不想提交当前修改的操作,用git stash 缓存起来,且它会自动回到上次commit的版本。
14、git push 把我们本地已经Commit后的版本提交到服务器。如果服务器上的版本和本地(已经Commit)本版不相同,则会提示先pull 在push提示。当服务器上的某个文件已经被被人改动过了,这时我也改动过,则会提示合并冲突操作。git 以
++<<<<
++====
>>>>++
来区别冲突位置在文件中。也可以强制push 只要在分支前面加“+”命令为: git push +XXX(分支)
15、git tag XXX 给当前要提交的版本一个标签。XXX是标签名称。
16、git rebase 远程分支 把当前分支commit的操作取消,加到远程分支上。如下图:
rebase前:
Rebase后:
没有rebase,而是我们直接pull(默认做merge操作),图为:
rebase的时候也少不了有冲突的可能性。有冲突时,rebase会停止。解决冲突完之后,继续rebase。 git rebase --continue
如果想在rebase过程中对一部分提交的操作进行更改。在命令中加 "i" git rebase -i XXX(远程分支)。
二、TortoiseGit工具技巧
1、在app.config文件下有连接字符串,如果每个人的连接到的数据库不同,那么提交到服务器,别人拿的话就会出现冲突。为了解决这个问题。可以假设我们本地额app.config没有改动,如下图形操作必须装 git extension插件
如果想保持和服务器上的版本一直,那么Reset这个文件。
Assume Unchanged命令是 git update-index --assume-unchanged <files>
取消命名是 git update-index --no-assume-unchanged <files>
如何管理我们的版本及分支
这张图可以很好的说明如何来管理版本分支。
所有评论(0)