1、git主要命令
git status 查看状态中是否有效忽略了
git add命令主要用于把我们要提交的文件的信息添加到索引库中;git commit命令是git将依据索引库中的内容来进行文件的提交。
git add -u []: 把中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。
git add -A: []表示把中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。省略表示.,即当前目录
git add -i []命令查看中被所有修改过或已删除文件但没有提交的文件,并通过其revert子命令可以查看中所有untracted的文件,同时进入一个子命令系统。
git 删除已经 add 的文件
使用 git rm 命令即可,有两种选择,
一种是 git rm --cached “文件路径”,不删除物理文件,仅将该文件从缓存中删除;
一种是 git rm --f “文件路径”,不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。
创建目录 mkdir | 创建文件 touch
2、git commit 提交的时候报错husky > pre-commit hook failed
husky > pre-commit hook failed (add --no-verify to bypass)
这个问题是因为当你在终端输入git commit -m “XXX”,提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则报错,而它的检测规则就是根据.git/hooks/pre-commit文件里面的相关定义。查询了网上的解决办法,总结为以下三种解决方案,个人喜欢第三种:
1、卸载husky。只要把项目的package.json文件中devDependencies节点下的husky库删掉,然后重新npm i 一次即可。或者直接在项目根目录下执行npm uninstall husky --save也可以,再次提交,自动化测试功能就屏蔽掉
2、进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找),再进入hooks文件夹,删除pre-commit文件,重新git commit -m ‘xxx’ git push即可。
3、将git commit -m “XXX” 改为 git commit --no-verify -m “XXX”
3、git命令行将本地仓库代码上传到github或gitlab远程仓库
1.git init //这个目录就变成了git可以管理的仓库
2.git add .
3.git commit -m “注释说明”
4.在 github 或者 gitlab 上创建新的repository,然后复制一下远程仓库的https地址
5.git remote add origin https://github.com/KeymonWong/JsAndObjc.git
6.git pull --rebase origin master(可以不要这步骤)
7.git push -u origin master
4、没有git pull更新代码就push的报错
使用git pull --rebase命令,如果没有冲突,则会直接合并,如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息。如果你不想每次都rebase,可以在git bash里执行
git config --global pull.rebase true
这个配置就是告诉git在每次pull前先进行rebase操作。
5、git 拉取某个分支的某一个commit的代码
方法:先拷贝代码,再切换
1、先拉取
git clone https://github.com/tianqixin/runoob-git-test
2、切换分支,直接就切换到之前提交过的代码
(dev 是分支名 , 2342dsfsdfs2 是提交过的 commit 的id)
git checkout -b dev 2342dsfsdfs2
(** 查看commit 的 id)
git log //查看全部提交记录
git log -p -2 //查看最近两次提交记录
6、GitLab中配置SSH key
https://www.jianshu.com/p/d22ecac5b90b
7、配置成和之前提交用户一样的用户名和邮箱
git config --global user.name '名字’
git config --global user.email '邮件’
8、git 遇到 # Please enter a commit message to explain why this merge is necessary
git 在pull或者merge的时候有可能会遇到这个问题:
解决方法:
按 i 键进入insert模式
按 ESC 键
输入 :wq,注意是冒号+w与q,然后回车即可
9、git 从某一个提交历史版本号中切出一个新的分支
1、拷贝源代码
git clone git@git地址
cd 项目目录
2、根据已有分支创建新的分支
git checkout -b yourbranchname origin/oldbranchname(eg:git checkout -b findbugchat 1d341c1082ad312b7a74b2bc4ca2346d236e1b7d)
3、本地的分支没有和远程分支建立联系,需要执行以下代码就可以正常push了
git push --set-upstream origin yourbranchname
yourbranchname可以根据子的需要自定义,就是当前分支在远程分支对应的名称
4、推送到git
git push origin yourbranchname
10、远程仓库强制覆盖本地仓库:
git fetch --all
git reset --hard origin/master
git pull
或者
git fetch --all && git reset --hard origin/master && git pull文章来源:https://www.toymoban.com/news/detail-451740.html
11、git 分支名变成Rebasing…
打开项目根目录的.git文件夹
删除带有rebase的文件夹
想看更多内容也可以关注我的微信公众号:傻傻是个前端程序猿文章来源地址https://www.toymoban.com/news/detail-451740.html
到了这里,关于git常见bug及其解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!