git中用到的知识点汇总:
1 冲突:
注意本地 dev, master 和线上 dev, master的 版本是否一致,否则会出现冲突,这时应该先解决冲突,再 commit push提交
CONFLICT (content): Merge conflict in .....
Pull is not possible because you have unmerged files.
先修复冲突 –» 再commit提交 –»> 再pull push
2 查看修改明细:
git diff master develop --stat 查看版本之间的区别
git diff develop test_dev src/order/main.js (具体文件的路径)
git diff _posts/xxxx.md 查看某文件的修改明细
3 git pull 与 git fetch :
当你在 master 下 $ git pull 等于 fetch origin,然后 merge origin/master
当你在 develop 下 $ git pull 等于 fetch origin,然后 merge origin/develop
git fetch --all
会获取远程库的内容,但是不做任何合并; 可以通过 cat .git/FETCH_HEAD 文件来查看
git reset --hard origin/develop 来把HEAD指向刚刚下载的最新的版本
4 git clone 指定分支操作:
git clone -b xxx .git 地址
5 git时认证失败(Authentication failed )的解决:
1 切换到管理员身份:
2 执行 git config --system --unset credential.helper
3 从新输入
6 git 输入用户名 邮箱信息:
git config --global jiamin.email "xxxx@.com"
git config --global jiamin.name "sdsad"
7 git 不同分支之间的合并 (只合并指定的内容):
分支 develop 是正式的开发分支 (上线准备的)
分支 temp_dev 是修改内容的分支
但是 可能 temp_dev 上修改的内容 有一些是 暂时不需要(或者不确定要上线的)
如何 只合并需要的需改内容?
1 git chekcout develop (切换到开发分支)
2 git checkout -b temp_develop (新建一个临时的开发的分支,并切换)
3 git merge temp_dev (合并全部的修改 到 temp_Develop)
4 git checkout develop ( 切换到开发分支)
5 git chekcout temp_develop 文件1,文件2,。。。,文件9 ( 需要上线的修改内容 )
8 git stash 临时堆栈:
1 存储到临时堆栈 -- 将不影响分支
git stash
git stash save ‘信息 ’
2 查看分支的堆栈
git stash list
3 释放堆栈的内容到分支 ( 释放堆栈 )
git stash pop
git stash apply '堆栈名'
4 删除堆栈
git stash drop '堆栈名'
5 查看当前堆栈 和 分支的不同
git stash show
9 git add 之后撤销
git status 查看所有修改的文件
git reset HEAD + filename 撤销指定的文件
10 git 删除 远程分支
1 git push origin :branch-name (空格 冒号)
2 git push origin --delete test_dev
11 git 配置文件
~ /.gitconfig
[user]
email = jiamin@domob.cn
name = jiamin
[http]
sslVerify = false
# proxy = http://www.proxy.com:8080/
设置ssl验证,代理等
git config --global http.sslVerify false
git config --global user.email '1442172978@qq.com@github.com'
git config --global user.name 'landybird'
# 会写入到 .gitconfig 文件中
12 git 项目下的 .git/config 文件配置
设置项目的用户名密码:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://github.com/landybird/landybird.github.io.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[credential]
username = 1442172978@qq.com
Password = pineapple250
helper = store