Git使用教程
登陆一个Git的托管服务器,这里我使用的是自己搭建的gitlab。然后创建一个账号,新建一个仓库。下载git客户端。
配置
12 | git config --global user.name "your name"git config --global user.email "your email" |
生成SSH kEY
1 | ssh-keygen -t rsa -C "" -b 4096 |
连续回车三次
1 | cat ~/.ssh/id_rsa.pub |
复制密钥。然后去git服务器添加到你的用户设置里面,就可以直接使用ssh认证方式,而不需要每次输入用户名密码。
新建仓库
1.本地已经存在工程
登陆git服务器,创建远程仓库(test)。然后打开git bash客户端。
123456 | cd basedirgit init git remote add origin :liurui/test.gitgit add .git commit -m "Initial commit"git push -u origin master |
2.创建新的仓库
123456 | git clone :liurui/test.gitcd testtouch README.mdgit add README.mdgit commit -m "add README"git push -u origin master |
3.已经存在本地仓库
12345 | cd existing_repogit remote rename origin old-origingit remote add origin :liurui/test.gitgit push -u origin --allgit push -u origin --tags |
日常维护
单人开发
一个人开发的话就不需要考虑合并别人的代码,只需要在主干master分支开发即可。而且你的本地代码永远都是最新的,所以不需要git pull操作更新代码。
123大专栏 Git使用教程ass="line">4 | git statusgit add -Agit commit -m "你的版本记录信息"git push origin master |
多人开发
多人开发,就需要注意每个人代码的合并问题,一般采取所有人维护master主干,开发的时候在各自的分支开发,然后合并到master主干分支上,提交前注意git pull 更新最新的代码,因为你的代码提交可能落后master。
123456 | git checkout mastergit pull origin mastergit checkout yourbranchgit rebase mastergit rebase --continuegit push origin liurui:liurui/dev |
说明:git rebase master 可以理解为合并master分支上进度到当前自己的分支,如果没有冲突,那么直接git push,如果存在冲突,那么根据提示去相应的文件,手动合并冲突,合并完了执行git rebase –continue。git push origin liurui:liurui/dev 其中liurui是你的本地分支名,liurui/dev是你的远程分支名。然后去网站上提交合并申请,然后有master合并权限的用户审核代码,他可以合并本次提交,也可以不合并。
添加忽略文件
注意事项
添加忽略文件是为了将开发中产生的一些中间文件排除在版本管理之外,方便其他人维护更新。忽略文件只能忽略尚未添加到版本管理中的文件和文件夹。
添加方法
在项目根目录下打开gitbash,创建文件 touch .gitignore,然后编辑文件。
规则
空格不匹配任意文件,可作为分隔符,可用反斜杠转义
#开头的模式标识注释,可以使用反斜杠进行转义
! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
/ 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
/ 开始的模式匹配项目跟目录
如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
*匹配多级目录,可在开始,中间,结束
?通用匹配单个字符
[]通用匹配单个字符列表
常用示例
忽略指定文件
project.pro.user 这种方法会忽略根目录下的该文件,其他路径下的同名文件不会忽略
忽略特定后缀的文件
*.o
忽略文件夹及文件夹下的所有内容
build/
忽略某一文件夹下的所有内容但是不忽略特定内容
build/
!build/temp/
忽略已经加入版本管理的内容
先删除本地缓存,然后重新提交。
123 | git rm -r --cached .git add -Agit commit -m "test" |