使用Git管理代码
标签: 工具
1.什么是Git
Git是一种分布式版本控制系统。
感觉还是很抽象啊……那么请看下图:
博主很喜欢对代码进行备份,于是一个项目进展了还没有一半,光备份就10个了,最多的时候有20+备份,不仅占用空间大而且不知道具体修改的是哪些部分,直到遇到了Git。Git可以记录文件内容的变化,所以不仅占用空间小,而且整合不同成员的代码也很方便。像博主以前整个工程拷来拷去的整合代码实在是不忍直视……
要说Git教程,首推廖雪峰的官方网站——Git教程。最多两天时间,看完以后绝对获益匪浅。
强烈建议先阅读推荐的教程
2.使用Git管理Vusial Studio项目代码
VS其实有自己的GitGUI插件,但是用起来很不习惯,而且由于字符编码问题文件恢复时候会出现乱码,终弃之。本博文使用的Git系统是教程中推荐的msysgit
。
2.1初始化storage
- 首先进入项目的根目录,右键选择
Git Bash Here
,弹出bash窗口
- 运行一下命令,初始化一个storage
git init
- 此时会出现一个隐藏文件夹
.git
,该文件夹就是该storage的所有信息存储的地方此时输入git status
命令查看storage的信息,提示以下文件(也是所有文件)未被跟踪,到此处一个storage建立成功
2.2添加.gitignore
- 先别着急添加未被跟踪的文件,应该先建立不追踪文件的忽略名单,因为一旦把不追踪的文件添加进storage,删除起来比较麻烦。忽略名单只在检测未跟踪文件时有效,已经添加的文件和忽略名单就没有关系了
- 新建文本文件,命名为
.gitignore
,因为博主只想管理.cpp
和.h
文件,所以把缩略图,目标文件,Debug和Release文件夹等一概忽略,.gitignore
内容如下:
#忽略windows生成的缩略图文件
Thunbs.db
#忽略Visual Studio生成时的产生的文件
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
[Bb]in
[Dd]ebug*/
*.lib
*.sbr
obj/
[Rr]elease*/
_ReSharper*/
*.vcxproj*
*.jpg
2.3添加和提交文件
- 由于VS默认字符集是GB2312,在git中中文显示为乱码,所以应当先在VS设置字符集为UTF-8:文件/高级保存选项/UTF-8无签名
- 添加文件使用
git add <filename>
命令,提交文件使用git commit -m "description"
命令
git add . //添加所有文件
git commit -m "build git"
2.4修改文件
- 打开编辑器任意修改代码,保存后使用
git diff
可以查看具体是哪些改变
- 如果修改无误,则可以使用
git add <filename>
和git commit -m "description"
提交本次的修改
2.5分支操作
- 常见的分只有
master,dev,bug,feature,release
,不过个人项目的话感觉前三个就够用
2.6远程仓库
- 关联一下远程库(推荐GitHub)
- push一下master分支(远程库一般都是master分支)
3.总结
- 最重要的还是推荐的教程,看完教程本文其实都可以不看
- Git可以极大的提高管理代码的效率,尤其是多人合作时
- 常见的操作有,初始化,忽略文件,添加文件,提交文件,远程库的push和pull,分支切换与合并,查看日志和文件恢复(其实感觉这点最重要)
- 删除storage时只需要把隐藏的
.git
文件夹和.gitignore
文件删除即可