git笔记

作者: 2f1b6dfcc208 | 来源:发表于2017-12-17 20:31 被阅读23次
  • 本机错误:fatal: unable to access 'https://github.com/Hfimy/xxx.git/': Failed to connect to www.proxy.com port 8080: Timed out
    代理问题
    查询当前代理: git config --global http.proxy
    取消代理设置: git config --global --unset http.proxy

  • 命令:git add .
    报错:

an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:

原因:通常由于同时有两个进程执行了git操作,造成了冲突导致git被某个进程锁住了。
解决方法:rm -f .git/index.lock

  • 命令:git pull
    报错:
error: Your local changes to the following files would be overwritten
by merge:server/models/lc.json
Please commit your changes or stash them before you merge.

原因:更新下来的内容与本地修改的内容有冲突,先提交你的修改或者将本地修改暂时存储起来
解决方法

  1. 并入远程仓库的修改,解决冲突合并
    git stash 先将本地修改暂存起来,git stash list可以查看暂存信息
    git pull 拉取远程代码
    git stash pop 还原暂存信息
    系统会自动合并修改的内容,但需要手动修改冲突,可使用 git diff -w +文件名确认代码是否自动合并了,然后修改冲突内容

  2. 将远程仓库的修改完全覆盖本地工作版本
    git reset --hard HEAD^
    git pull

  • 当先创建本地存储库时,与远程仓库(空仓库,没有readme的commit)建立连接
git init
git remote add origin <repository url>
git pull origin master 
...add and commit here...
git push -u origin master (使用-u 参数指定origin为默认主机,后面就可以不加参数使用git push)
  • 新建gh-pages分支并提交master部分文件
git checkout -b gh-pages  //新建gh-pages分支
git branch  //查看当前所在分支
git checkout master //切换到主分支
git subtree push --prefix=dist origin gh-pages  //将主分支的dist目录下的文件推送到远程gh-pages分支下

git有四个区的概念:

  • workspace 工作区
  • stage 暂存区
  • local repository 本地仓库
  • remote repository 远程仓库

5种状态:

  • 未修改 origin
  • 已修改 modified
  • 已暂存 staged
  • 已提交 committed
  • 已推送 pushed

检查修改:
已修改未暂存 - git diff
已暂存未提交 - git diff --cached
已提交未推送 - git diff master origin/master

撤销修改:
已修改未暂存 - git checkout . || git reset --hard
已暂存未提交 - git reset; git checkout . || git reset --hard
已提交未推送 - git reset --hard origin/master
已推送 - git reset --hard HEAD^

git 提交代码

列出本地所有分支

git branch

列出远程所有分支

git branch -r

列出所有本地分支和远程分支

git branch -a

创建分支,但仍然停留在当前分支

git branch <branch>

创建分支,并切换到该分支

git checkout -b <branch>

切换到指定分支

git checkout <branch>

合并分支到当前分支

git merge <branch>

删除分支

git branch -d <branch>

删除远程分支

git push origin --delete [branch-name]
git branch -dr [origin/dev]

git checkout <branch> 从master切换到开发分支上
git merge origin master ,拉取远程仓库最新的代码合并进当前分支,(先更新本地的主分支至最新)
git add . ,追踪文件的变化
git commit -am '备注信息', 将代码提交到本地仓库
git push ,本地仓库代码推送到远程仓库,第一次需执行git push --set-upstream origin <branch>来创建远程分支
提交pull request,管理员审核

git status 查看当前状态
git diff 查看具体变化(q退出)
git difftool 查看原来的文件和修改后的文件对比

相关文章

网友评论

      本文标题:git笔记

      本文链接:https://www.haomeiwen.com/subject/jesmrxtx.html