git中用到的知识点汇总


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

更多» git - 简明指南-罗杰·杜德勒

Buy me a 肥仔水!