一、工作流程
二、常用指令
1、设置git
cmd打开下令行,输入git检察是否设置成功。
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --global user.name
git config --global user.email
git config --list
2、基础下令
1、 git add
将工作区修改的的一个或多个文件提交到暂存区
git add 单个文件名|通配符
2、git commit
提交暂存区内容到当地堆栈的当前分支
git commit -m '解释内容'
3、git status:检察修改的状态
git status 紧张体现:
- 当前分支及与远程分支的关系。
- 已暂存的更改(即将提交的更改)。
- 未暂存的更改(已修改但未 git add)。
- 未跟踪的文件(新文件)。
- 归并冲突(如果有)
3、bash乱码和git status乱码
1、git status乱码
缘故原由:
在默认设置下,中文文件名在工作区状态输出,中文名不能精确体现,而是体现为八进制的字符编码。
办理办法:
将git设置文件 core.quotepath项设置为false。quotepath表现引用路径,加上–global表现全局设置- git config --global core.quotepath false
复制代码 2、bash下令乱码
${git_home}/etc/bash.bashrc 文件末了到场下面两行- export LANG="zh_CN.UTF-8"
- export LC_ALL="zh_CN.UTF-8"
复制代码 三、常用操纵
1、创建当地厂库
- 在当地创建一个空目次
- 进入目次,输入指令git init举行初始化
- 创建成功出现.git目次
2、git log 检察日志
下令情势:git log [option] options
- –all 体现全部分支
- –pretty=oneline 将提交信息体现为一行
- –abbrev-commit 使得输出的commitId更简短
- –graph 以图的情势体现
3、git reset --hard commitID版本回退
版本切换 git reset --hard commitID
commitID 可以利用 git log 检察
如何检察已经删除的记载?
git reflog 这个指令可以看到已经删除的提交记载
4、添加文件到忽略列表
创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式 。
每行一个忽略项- # 忽略所有 .log 文件
- *.log
- # 忽略特定文件
- secret.txt
- # 忽略目录(包括其子目录)
- node_modules/
- dist/
- # 忽略特定扩展名的文件(如 .tmp)
- *.tmp
- # 不忽略某个特定文件(即使匹配前面的规则)
- !important.log
- # 注释以 # 开头
复制代码 如果文件已经被 Git 跟踪(之条件交过),必要先移除 Git 的缓存:- git rm -r --cached . # 清除所有缓存,或者指定要清除的缓存
- git add . # 重新添加文件
- git commit -m "忽略某些文件"
复制代码 验证 .gitignore 是否见效- git status --ignored # 查看被忽略的文件
复制代码 5、git rm --cached 和 git rm区别
四、分支和冲突的处置惩罚
1、分支
- git branch:检察当地分支
- git branch 分支名 :创建分支
- git checkout 分支名:切换分支
- git checkout -b 分支名:切换到一个不存在的分支(创建并切换)
- git merge 分支名称:将某分支归并到当前的分支
- git branch -d b1 删除分支时,必要做各种查抄
- git branch -D b1 不做任何查抄,强制删除
2、办理冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就必要手动解
决冲突,办理冲突步调如下:
- 处置惩罚文件中冲突的地方
- 将办理完冲突的文件到场暂存区(add)
- 提交到堆栈(commit)
3、在一个分支上修改文件内容,切换到另一个分支时出现的问题
在idea内里,会直接将该分支的修改带到另一个分支上。
在下令行:
要想直接切换,可以在当前的分支利用git stash下令。
git stash : 临时生存当前工作目次和暂存区的修改,以便切换分支或处置惩罚其他使命,而无需提交未完成的更改。
切换到master分支后(做一些其他操纵…),再切换返来,如何规复文件的内容,可以利用git stash pop
规复最近暂存的修改(stash)并删除该 stash 记载的下令。它是 git stash apply + git stash drop 的组合操纵。
如果git stash pop 时当前分支的文件与stash 内容冲突,Git 会报错,并生存 stash(不会主动删除)。
冲突文件会包罗冲突标记(<<<<<<<, =======, >>>>>>>)
第一种办理方法是:
git restore file.txt 抛弃对 file.txt 的修改,再去git stash pop
第二种办理办法是:
可以先git commit,再去git stash pop
不难发现就是将每次的stash操纵加到了栈中,每次git stash pop时,弹出一个,判断有没有冲突。
常见的带参数的git stash下令下令作用git stash生存当前未提交的修改(工作区和暂存区)到 stash 栈git stash push同上,支持更多参数(如 -u 包罗未跟踪文件)git stash list检察全部 stash 记载(体现 stash@{n} 格式的列表)git stash apply规复最新的 stash(不删除记载,默认 stash@{0})git stash pop规复最新的 stash 并删除记载(默认 stash@{0})git stash drop删除指定的 stash(如 git stash drop stash@{1},不指定则删除最新的)git stash clear清空全部 stash 记载(不可逆!)git stash show体现最新 stash 的改动概览(加 -p 检察完备 diff)git stash branch <名>基于 stash 内容创建新分支并主动 pop五、开辟中分支的利用流程
在开辟中一样平常就是先git pull拉取远端的代码,再git commit提交到当地堆栈,再git pull拉取一下(保举非强制),在git push推送到远端堆栈中去。
分为几个分支:
master (生产)分支 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
develop(开辟)分支 是从master创建的分支,一样平常作为开辟部分的紧张开辟分支,如果没有其他并行开辟差别期上线 要求,都可以在此版本举行开辟,阶段开辟完成后,必要是归并到master分支,预备上线。 feature/xxxx分支 从develop创建的分支,一样平常是同期并行开辟,但差别期上线时创建的分支,分支上的研发使命完 成后归并到develop分支。
hotfix/xxxx分支, 从master派生的分支,一样平常作为线上bug修复利用,修复完成后必要归并到master、test、 develop分支。
尚有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等等。
六、gitee的利用
1、添加远程堆栈
git remote add <远端名称> <堆栈路径></font>
远端名称默认是origin
2、检察远程堆栈
git remote
3、推送到远程堆栈
git push [-f] [--set-upstream] [远端名称 [当地分支名][:远端分支名] ]
-f 表现强制覆盖
--set-upstream推送到远端的同时而且创建起和远端分支的关联关系。
如果已经创建联系,可以直接git push
4、当地分支与远程分支的关联关系
git branch -vv
5、从远程堆栈克隆
git clone <堆栈路径> [当地目次]
6、从远程堆栈中抓取
抓取下令:git fetch [remote name] [branch name] </font>
抓取指令就是将堆栈里的更新都抓取到当地,不会举行归并,如果不指定远端名称和分支名,则抓取全部分支。
7、从远程堆栈中抓取
拉取下令:git pull [remote name] [branch name]
拉取指令就是将远端堆栈的修改拉到当地并主动举行归并,等同于fetch+merge,如果不指定远端名称和分支名,则抓取全部并更新当前分支。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|