git学习笔记
黑马网课学习
git工作流程
基础指令
一 . 基本设置
-
设置用户信息
git config --global user.name "myc" git config --global user.email "2903500846@qq.com"
-
查看信息
git config --global user.name git config --global user.email
-
查看文件夹
ls [option] # [option] # -a 列出所有文件,包括隐藏文件 # -l 每行列出一个文件不包括隐藏文件 # -la 所有文件的长格式列表(含权限,所有权,大小(byte),修改日期 # -lh 使用方便读取的单位(KB,MB,GB)显示大小的长格式列表
-
查看文件
cat fileName
二. 本地仓库操作
-
进入文件夹,该文件夹作为仓库,打开终端(linux操作)。
git init
-
查看修改状态
git status
-
向仓库提交文件
# add后面跟上你要提交的文件名,这里以.代替,add表示将工作区提交到暂存区 git add . # message为你提交的写下的记录信息,commit表示将暂存区提交到仓库 git commit -m 'message'
-
查看提交日志
git log [option] # option # --all 显示所有分支 # --pretty=oneline 将所有提交信息显示为一行 # --abbrev-commit 使得输出的commitld更简短 # --graph 以图片的形式显示
-
版本退回
git reset --hard commitID #版本切换,其中commitID可通过"get log [option]"指令查看,可以实现撤回操作 git reflog #查看已经删除的记录
-
添加文件至忽略列表(不要求git管理一些文件,比如编译生成的临时文件等)
touch .gitignore #在仓库文件夹创建.gitignore文件 #打开.gitignore,编辑,下面给出示例 # no .a files忽略所有以.a结尾的文件 *.a # but do track lib.a, even though you're ignoring .a files above,但是lib.a文件不要求忽略 !lib.a # only ignore the TODO file in the current directory, not subdir/TODO,忽略一个文件夹 /TODO # ignore all files in the build/ directory,忽略build下面的文件(夹) build/ # ignore doc/notes.txt, but not doc/server/arch.txt,类似 doc/*.txt # ignore all .pdf files in the doc/ directory,忽略doc/.../的pdf文件 doc/*/*.pdf
-
分支相关操作
git branch #查看分支 git branch 分支名 #创建本地分支 git checkout 分支名 #切换分支 git checkout -b 分支名 #创建并切换分支 git merge 分支名A #合并A分支到正在操作的分支上 git branch -d 分支名 #完成检查后删除分支 git branc -D 分支名 #不做检查直接删除分支
-
解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解
决冲突。待完善…
-
开发中的分支使用原则与流程
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离
开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
在开发中,一般有如下分支使用原则与流程:- master (生产) 分支
线上分支,主分支,中小规模项目作为线上运行的应用对应的分支; - develop(开发)分支
是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线
要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。 - feature/xxxx分支
从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完
成后合并到develop分支。 - hotfix/xxxx分支,
从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 - develop分支。
还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等
等。
- master (生产) 分支
4. Git远程仓库(gitee为例)
首先你需要有一个gitee账号并且创建一个仓库
-
配置SSH公钥
-
生成公钥
ssh-keygen -t rsa
控制台输入该指令后不断回车最后会生成公钥,将生成的公钥全部复制(注意如果是二次生成,需要在overwrit写上y)
-
获取公钥
cat ~/.ssh/id_rsa.pub
获取到公钥,如:,复制到gitee里面(点击头像->设置->SSH公钥),复制时注意删去无用回车空格等。
-
-
操作远程仓库
#添加仓库 git remote add <远端名称> <仓库路径> #远端名称使用origin,这是一种公认的习惯,仓库路径可在gitee仓库中查看 #取消关联远程仓库 git remote remove <远端名称> #更改远程仓库URL git remote set-url <远端名称> <仓库路径>
#推送到远程仓库 git push [-f] [--set-upstream] [远端名称 [本地分支名]:[远端分支名]] * -f 表示强制覆盖,一般用于第一次推送时使用 * --set-upstream 表示绑定本地分支与远端分支,绑定后后续推送可以省去名称的提供,但是还是建议写全 * 远端名称按规定写为origin
#查询远程仓库 git remote #查看远端名称 git branch #查看本地分支 git branch -vv #查看本地分支与远程分支的关联关系 git branch -r #查看远程分支 git branch -a #查看所有分支
#远程仓库拉取 git pull [远端名称] <远程分支名>:<本地分支名> #若省略本地分支名,则拉取当当前操作的分支上。
#远程仓库克隆,你需要有一个文件夹,并且该文件夹并没有被初始化为git仓库,该文件夹即为存放地址 git clone <仓库URL> -b <远端分支名> <本地存放地址> #-b 参数是--branch的缩写