基本操作
git branch dev 1:本地创建分支dev
git push origin dev 2:下面是把本地分支提交到远程仓库
git branch –a 3:查看一下远程仓库有几个分支
克隆远程仓库指定分支,然后 会自动 把远程仓库指定分支 克隆在本地,同样克隆后本地只有这一个分支
git clone -b <指定分支名> <远程仓库地址>
如果远程新建了一个分支,本地没有该分支,可以利用
git checkout --track origin/branch_name,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name
git checkout --track origin/branch_name
如果本地新建了一个分支 branch_name,但是在远程没有。这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用
git push --set-upstream origin branch_name,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步
git push --set-upstream origin branch_name
git 配置全局用户名、邮箱,用于git本地仓库记录该代码作者的信息
git config --global user.name neohan
git 配置全局用户名、邮箱,用于git本地仓库记录该代码作者的信息
git config --global user.email <neohan666@qq.com>
.gitignore添加忽略文件失效、不起作用的办法
.gitignore 只对未跟踪的文件起作用!已跟踪的文件是指那些被纳入了版本控制的文件,在上一次提交中有它们的记录。那么未跟踪文件就是指那些从没提交过的文件
// 1. 取消文件跟踪
git rm 或者 git rm --cached
git rm : 同时从工作区和索引中删除文件。即本地的文件也被删除了。
git rm --cached:从索引中删除文件,但是本地文件还存在, 只是不希望这个文件被版本控制。
这里我使用第二个,具体用法就是 git rm --cached -r dist
-r 的意思是递归处理,如果不加 -r的话,会报错
如果取消某个文件的跟踪,可以不用 -r 直接 git rm --cached dist/index.less
// 2. 把 gitignore 提交上去
git add .
git commit -m ‘修改gitignore’
git push
以后本地dist目录下文件再变的话,也不会被跟踪到了,其他小伙伴,只需git pull 一下就可以,注意:远程的dist也被删掉了
// 3. 如果不想删除远程例如page.json文件又想忽略本地文件:
可以在本地复制page.json,重命名为page_back.json, 提交
其他小伙伴拉下来代码的时候,去掉_back即可使用
npm将全局安装的第三方包,安装到自己电脑的哪里了
npm root -g
git提交代码绕过语法检测
解决方法有两种:
1、简单粗暴,删除掉pre-commit钩子
进入项目的.git文件夹(隐藏文件),根据路径 ./git/hooks/pre-commit 找到对应的pre-commit文件,直接删除。
2、使用--no -verify跳过检查。
git commit -m '提交信息' --no-verify
1.远程拉取分支
git init
git remote add origin gitlab.os.adc.com/heytap-mall…
git fetch origin develop
git checkout -b dev origin/dev
git pull origin develop
2.配置
git config --global user.name "chengjiaqi"
git config --global user.email "917080289@qq.com"
git config --list
3.远程拉取覆盖本地
git fetch --all
git reset --hard origin/dev
git checkout [file]
git reset [file]
4.拉取新分支
git checkout -b feature/codereview_20210825 origin/feature/codereview_20210825
git pull origin feature/codereview_20210825
git push origin HEAD:feature/codereview_20210825
5.本地创建分支
git checkout master
git pull origin master
git checkout -b dev-20210915
git push origin dev-20210915 // 把新建的分支push到远端
git branch --set-upstream-to=origin/dev-20210915 // 关联
git pull origin dev-20210915
6.git commit报错
git commit -m'场景建模编辑页-操作样式右侧被覆盖' --no-verify
7.删除分支
git branch -d dev20181018 // 删除本地分支
git branch -D dev20181018 // 如果删除不了可以强制删除
git push origin --delete dev20181018 // 删除远程分支
8.撤销commit操作
git log
git reset --soft HEAD^ // 仅仅撤销commit ,保留add
git reset --hard 9782b748bae84236c115c84b297260df7324a123
10.修改git源
git remote -v
git remote set-url origin git.lvya.org/sy-fe/admin…
git remote set-url origin git.lvya.org/sy-fe/m.git
11.分支结构
master: 主分支,生产环境源码,由pre合并
pre:预发分支,预发环境源码,由master创建,feat、fix等直接合并
test:测试分支,测试环境源码,最初由master创建,feat、fix等直接合并
dev:研发分支,研发环境源码,最初由master创建,feat、fix等直接合并
12.错误汇总
git clone -b <指定分支名> <远程仓库地址>
克隆远程仓库指定分支,然后会自动把远程仓库指定分支克隆在本地,同样克隆后本地只有这一个分支
git config --global user.name neohan
git 配置全局用户名、邮箱,用于git本地仓库记录该代码作者的信息
git config --global user.email neohan666@qq.com
git 配置全局用户名、邮箱,用于git本地仓库记录该代码作者的信息
ssh-keygen -t rsa git 配置ssh
git 配置全局字符集编码,防止中文commit信息乱码
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
export LESSCHARSET=utf-8
git 配置全局不自动转换换行符,(解决windows和max系统的默认换行符不一致问题)
git config --global core.autocrlf false
git 设置能检测文件名大小写,(在需要配置的项目根目录下运行该命令)
git config core.ignorecase false
12.错误汇总
(1)git commit 时,报错"scope may not be empty [scope-empty]"
原因:git commit -m comment 不规范,规范示例: git commit -m"feat(modeA): 枚举&评分字段"
13.git修改本地分支及远程分支名
- 1.修改本地分支名
git branch -m old_branch new_branch #本地分支重命名
- 2.修改远程分支名
方法一、
git push origin :old_branch #删除远程仓库中的旧分支
//或 git push --delete origin oldName
git push --set-upstream origin new_branch #修改远程仓库中的分支为新名称,同时本地分支与远程分支绑定
方法二、
git push origin :old_branch new_branch //删除远程分支,并关联本地新分支
14.git查看 远程仓库 是否有某个分支
// 这将列出远程仓库的所有分支和标签
git ls-remote
// 如果你想检查特定的分支,可以使用
git ls-remote <remote-name> refs/heads/<branch-name>
// 例如:
git ls-remote origin refs/heads/远程分支名字