eslint git提交不上_Git常用命令及日常问题集锦

2690b697cdb5f2c220f92b6533cb2832.png

作者 | 五月君,全栈工程师,慕课网认证作者

来源 | 慕课网(imooc.com)

b0e069d8340af9661e4d6035fdb36148.gif

Git是当下最流行的版本管理工具,结合自己工作中的实际应用做了以下梳理。

基础命令

  • git init 初始化本地仓库

  • git add -A . 来一次添加所有改变的文件

  • git add -A 表示添加所有内容

  • git add . 表示添加新文件和编辑过的文件不包括删除的文件

  • git add -u 表示添加编辑或者删除的文件,不包括新添加的文件

  • git commit -m '版本信息' 提交的版本信息描述

  • git status 查看状态

  • git push -u origin master 推送到远程仓库看

  • git pull 拉取远程仓库代码到本地

  • git branch -av 查看每个分支的最新提交记录

  • git branch -vv 查看每个分支属于哪个远程仓库

  • git reset --hard a3f40baadd5fea57b1b40f23f9a54a644eebd52e 代码回归到某个提交记录

分支操作

  • 查看本地都有哪些分支 git branch -a

  • 新建分支 git branch dev

  • 查看当前分支 git branch

  • 切换分支 git checkout dev

  • 删除本地分支 git branch -d dev

  • 同步删除远程分支 git push origin :dev

修改远程仓库地址

方法1,先删后加:

  • git remote rm origin 先删除

  • git remote add origin 仓库地址 链接到到远程git仓库

方法2,修改命令:

  • git remote set-url origin 仓库地址

远程分支获取最新的版本到本地

  • 执行git pull命令

  • 如果以上命令还是失败尝试以下步骤:

首先从远程的origin的master主分支下载最新的版本到origin/master分支上

git fetch origin master

比较本地的master分支和origin/master分支的差别

git log -p master..origin/master

进行合并

git merge origin/master

拉取远程仓库指定分支到本地

首先要与origin master建立连接:

git remote add origin git@github.com:XXXX/nothing2.git

切换到其中某个子分支:

git checkout -b dev origin/dev

可能会报这种错误:

fatal: Cannot update paths and switch to branch 'dev' at the same time.Did you intend to checkout 'origin/dev' which can not be resolved as commit?

原因是你本地并没有dev这个分支,这时你可以用 git branch -a 命令来查看本地是否具有dev分支

我们需要:git fetch origin dev 命令来把远程分支拉到本地

然后使用:git checkout -b dev origin/dev 在本地创建分支dev并切换到该分支

最后使用:git pull origin dev 就可以把某个分支上的内容都拉取到本地了

工具类

  • Beyond Compare (http://www.scootersoftware.com/download.php 代码合并

  • 官方Git文档地址 https://git-scm.com/book/zh/v2

常见问题

Question1

如何解决 ``` failed to push some refs to git ```

Answer1

* ```git pull --rebase origin master``` 进行代码合并* ```git push -u origin master``` 即可完成代码上传

Question2

If you wish to set tracking information for this branch you can do so with:git branch --set-upstream-to=origin/ master

Answer2

指定当前当前工作目录工作分支,跟远程仓库分支之间的联系

git branch --set-upstream master origin/master

Question3

git pull 获取最新代码报以下错误

fatal: refusing to merge unrelated histories

Answer3

git pull之后加上可选参数 --allow-unrelated-histories 强制合并

git pull origin master --allow-unrelated-histories

Question4

使用钩子pre-commit,提交代码提示如下错误:

$ git commit -m '.'sh: eslint: command not foundpre-commit:pre-commit: We've failed to pass the specified git pre-commit hooks as the `fix`pre-commit: hook returned an exit code (1). If you're feeling adventurous you canpre-commit: skip the git pre-commit hooks by adding the following flags to your commit:pre-commit:pre-commit:   git commit -n (or --no-verify)pre-commit:pre-commit: This is ill-advised since the commit is broken.pre-commit:

Answer4

  • 打开项目中的.git/hooks文件夹,找到pre-commit.sample文件,将以下代码替换到文件中,或者,npm install pre-commit --save也可以,这个命令会自动执行以下操作。

#!/bin/bashTSLINT="$(git rev-parse --show-toplevel)/node_modules/.bin/tslint"for file in $(git diff --cached --name-only | grep -E '\.ts$')do        git show ":$file" | "$TSLINT" "$file"        if [ $? -ne 0 ]; then                exit 1        fidone
  • 将pre-commit.sample文件名修改为pre-commit。

Question5

.gitignore规则不生效的解决办法

Answer5

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached . 或者 git rm -r README.mdgit add .git commit -m 'update .gitignore'

如果您在工作中还遇到其它问题,可以在下方评论区进行提问。也可以戳原文链接去慕课网关注作者后私戳他哦~



f711ea62e86a5cfabddaee8766926352.gif

● 用CSS3实现王者荣耀匹配人员加载页面

● JAVA 泛型意淫之旅

● 为什么部分程序员下班后只关显示器不关电脑?

● 龙岗一个月350的出租房,我搬出来了

—  —

4d235478d960255de5bac12a7b6fce34.png

1539b215bd94402d6448ef01d9cee843.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值