git 用于日常工作的新手教程
git作为一个多人协作的版本工具
具体到个人上就是,你拥有一个本地库,对应一个集中的远程库,平时远程库跟本地库是平行发展的不互相影响
想要将本地库同步远程库的修改,可以通过拉取操作
你的修改如果被提交会先在本地缓存,这时推送才将远程库同步此本地修改。
日常工作流程(默认已安装好TortoiseGit,克隆了库):
1.别人给需求(要改什么,做什么)
先从dev中拉取最新修改
创建分支对应这个需求
再切换到新分支
当你切换到新分支后,这时你的磁盘上对应的就是这个分支,进行修改改的是新分支而与dev无关
2.进行开发,开发修改了某些文件,写上对应的注释(我们公司是对应的需求有编号总之注释一定要写),提交
3.提交完先切换回dev,
这时你磁盘上的内容就变回了dev,工作内容留在了新分支上
这时先拉取,因为你可能这个活干了好几天,中间其他人修改过dev,推送自己的修改永远要先拉取,拉取同上
可以看到这里的提交这行有当前分支的名字,这里要保证是dev
查看日志
日志的左上角可以切换要查看的分支,点击看到浏览引用中remotes是对应的远程库,heads是本地库
在我的本地中dev/master 跟踪远程分支,本地库是对应远程库的,但是optimize是我新增的分支,是没有对应的远程库的,这只是本地的一个版本分支
那么我需要做的是将这个分支中的修改提交到dev中,使用摘取此提交
推送
如果你改的文件跟同事改的是同一个文件,有冲突,双击冲突文件可以查看冲突的具体情况,head是当前的dev内容,check pick是你的文件,一般我们是先采用head提交完然后把自己的修改加上去再提交一次。
4.推送完之后删除新分支,切忌在这个分支上继续开发下一个需求。
# 打开Git Bash,输入: ssh-keygen # 输入密码(可为空): ********** # 配置邮箱和用户名如: git config --global user.email "xxx@xxx.com" git config --global user.name "xxx" # 把生成的 C:Usersxxx.sshid_rsa.pub 文件给负责人
# Clone(新项目)
* 克隆远程项目,xxx为项目的名字或编号
`git clone git@192.168.0.100:xxx.git`
* 设置统一换行符
`git config core.autocrlf input`
* 设置文件大小写敏感
`git config core.ignorecase false`