注:如果勾选了GitBash Here及Git GUI Here,那么在window的资源管理器中可以通过右键在当前目录打开GitBash(Git专用的命令执行工具,类似cmd/powershell,同时也可以将git的cmd目录配置到环境变量中用Windows的命令行工具执行git命令)或新版本中内置的简单GUI程序:
安装运行结果:
左为Git Bash右为Windows cmd工具。
注:由于新版本VS会安装内置的Git工具,如果出现一下信息,可检查是否存在路径如“Microsoft Visual Studio 14.0\Web\External\git”的环境变量,删除即可:
创建一个本地仓库
本文使用基于.Net Core的My Blog应用程序代码为例进行演示,My Blog的目录结构如下:
src目录中包含所有代码:
1. 在My Blog的根目录下打开Git Bash,使用git init创建一个本地仓库:
同时该目录下将生成一个.git隐藏目录。
2. 为该仓库配置用户信息,在提交代码时将使用该用户信息进行提交:
git config user.name "Selim"
git config user.email "yqszt@qq.com"
注:此处用户信息仅对当前仓库有效,如果要配置全局用户信息需添加--global选项:
git config --global user.name "Selim"
git config --global user.email "yqszt@qq.com"
3. 最后为该仓库添加忽略文件配置(仅管理代码,如编译结果等文件应该进行过滤):
文件内容来源:https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
注:windows无法直接创建.gitignore文件,可以用编辑器另存为改变文件名,另外gitignore文件的格式可参考文档:https://git-scm.com/docs/gitignore。
4. 将所有文件添加到暂存区:(git add --a)
注:LF是Unix下的换行符CRLF是Windows下的换行符,默认git中使用Unix换行符,可以通过git config –global core.autocrlf false 禁用自动转换 。
5. 查看状态:(git status)
可以看到所有必须的文件都已经被添加到了暂存区。
6. 将暂存区代码提交到仓库:(git commit -m "create a repository")
7. 查看日志:(git log)
8. 使用VS2017打开该解决方案后,团队资源管理器中将会自动识别这个本地的git仓库:
Git对仓库的常用操作
前面已经完成了代码仓库的创建,那么Git有哪些常用操作呢?
文件的跟踪、修改、提交将新的文件添加到git中管理涉及到的相关操作:
跟踪新文件:(git add 文件名 或 git add -a 后者添加除被忽略以外的所有文件)
提交文件:(git commit -m "提交信息")
文件修改:(当已经提交的文件再次被修改时,如果要再次提交该文件仍然需要使用git add命令,或者使用git commit -a来跳过暂存区进行提交。注:git commit -a只能提交已经被git管理的修改文件)
跳过暂存区提交:
手动删除工作区文件(即直接删除目录下文件):
从git中删除文件:(git rm 1.md 或 git rm 1.md -force强制删除)
文件的比较
比较修改内容:(git diff)
比较暂存区的修改内容:(git diff --cached 或 git diff --staged)
注:需要保证暂存区有内容才会有结果。
使用内置vimdiff比较器查看修改内容:(git difftool)