git windows下快速入门与心得

    TOOLS     git

前言

之前的团队主要使用的还是SVN,对于开发环境主要为windows,且规模较小的团队来说,只进行轻度入门级的使用,那么SVN无论是学习成本,还是操作舒适度都是远胜GIT的(如果你非要说windows的命令行也很方便,就当我没说),但是为什么GIT的受欢迎度会高于SVN呢,其实是有原因的,个人就使用方面,简单总结如下:

  • GIT的分支是分布式的,每个分支都可以在服务端有一个单独的拷贝(领导要看xxx的代码可以单独clone分支)
  • GIT的数据校验采用SHA1算法,比SVN对数据的完整性保存更胜一筹
  • GIT可以方便的merge分支,较好的防止分支的遗漏
  • 由于采取的保存方式不同,GIT在分支切换速度方面完全碾压SVN,对于需要频繁修复BUG的场景,快速切换不同的branch而又不丢失原有的工作场景,那GIT再适合不过了

快速入门教程

主要介绍一下常用的命令,需要快速入门推荐参考 廖雪峰的GIT教程 或者阮一峰的GIT教程,这里仅仅作为一个记录windows下快速入门的方法

安装,下载windows客户端

下载git,GIT官网下载地址 https://git-scm.com/downloads,根据自己操作系统的版本下载对应的安装包,一路下一步安装。

初始化配置git身份信息

在本地要建立项目的文件夹右键——Git Bash Here, 打开git窗口。运行

1
2
3
4
5
6
7
8
9
#配置git的用户名,仅需要执行一次,名字随便写,用来标识你的身份
git config --global user.name "Your Name"
#配置git的邮箱,仅需要执行一次,邮箱随便写,用来标识你的身份
git config --global user.email youremail#example.com
#生成你的身份公钥和私钥
#公钥用来和服务端进行匹配验证身份,需要提供给git服务器管理员
#私钥用来保证你的身份不被冒充
#输入命令后一路回车即可
ssh-keygen -t rsa -C "youremail#example.com"

将git的公钥提供给管理员或者保存到你的github等网站的指定位置

在上一步中我们执行了 ssh-kegen后,在C:\Users\Administrator 文件夹(根据你的用户名,如果不知道可以直接在资源管理器地址栏输入 %userprofile% 回车),找到.ssh文件夹,打开后即可看到.pub结尾的文件,用记事本打开即可得到你的公钥内容。
将公钥内容保存到你的github个人信息中的keys中,或者提供给你的git服务器管理员为你添加到服务端

初始化仓库或者拉取已有的仓库

如果是新建的项目,需要初始化仓库

1
2
3
4
5
6
7
8
9
10
#初始化
git init
#...新建文件,修改文件等操作...
#添加所有修改到缓存区
git add .
#提交缓存区的文件到仓库
#其中-m "comment" 为必选参数,如果不填写将自动调用vim编辑器要求你输入提交说明
git commit -m "comment"
#提交到仓库后,再推送到远程服务器
git push

如果是拉取 已有的项目协同开发

1
2
3
4
5
#获取远程仓库到本地文件夹
git clone [email protected]:path/to/repo.git
#与远程仓库建立关联
git remote add origin [email protected]:path/to/repo.git
#然后就可以进行 add commit push 操作了

常见问题

忽略指定文件夹

在git所在目录找到或新建 .gitignore文件,然后每行一个,目录以/开头,保存即可。注意:如果之前已经对目录进行了add等操作,则需要先 rm commit 才能生效

每次都要执行add commit push 太麻烦了,有没有一步到位的。

有, 添加快捷操作别名即可,并且可以保存为全局的git配置,例如一句命令执行add commit push操作

1
2
#将 add commit push 命令保存为git的全局配置
git config --global alias.amp '!git add . && git commit -a -m "commit" && git push'

运行后,即可在%userprofile%.gitconfig 文件中找到对应的配置项信息如下

1
2
[alias]
amp = !git add . && git commit -a -m \"commit\" && git push

这样再想一步添加,提交并推送到远程仓库就可以运行

1
git amp

ok,一步到位了。

页阅读量:  ・  站访问量:  ・  站访客数: