Git Learning Part 2

作者: Lilin_Coder | 来源:发表于2016-01-07 19:30 被阅读50次

    Tips

    1.merge参数

    合并分支时加上参数 —-no-ff参数使用普通模式合并,合并后会有历史记录,使用 fast forward合并就看不出来曾经合并过

    2. .gitignore过滤文件

    使用.gitignore文件过滤不需要提交的文件
    touch .gitignore 创建ignore文件
    vim .gitingore 编辑ignore,写入要过滤的文件

    #此为注释 – 将被 Git 忽略
    .a # 忽略所有 .a 结尾的文件
    !lib.a # 但 lib.a 除外
    /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/ # 忽略 build/ 目录下的所有文件
    doc/
    .txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    当把某个文件加入到.gitignore文件而没有成功过滤的时候,是因为.gitignore文件只会忽略原本那些没有被track的文件,如果文件已经加入到版本管理当中了,则修改.gitignore是无效的,解决方法是把本地缓存删除,改为未track状态,然后提交
    git rm -r --cached .
    git add .
    git commit -m “update .gitignore"
    此时.gitignore中添加的文件就会被成功过滤掉了

    3.rebase

    当我们操作的分支和远程分支可能会产生冲突的时候,可以使用
    git pull --rebase 命令 它实际上完成了以下几个操作
    1.把本地的repo 从上次pull之后的变更保存为patch补丁,这些补丁保存在.git/rebase目录中
    2.恢复到上次pull的状态
    3.合并远端的变更到本地
    4.最后将刚刚保存的本地变更合并到当前分支
    在rebase过程中产生冲突(conflict)的时候,Git会停止rebase让你去解决冲突,冲突解决完后使用 git add -A 命令去更新这些内容的索引(index),然后执行 git rebase -- continue 让Git继续应用(apply)余下的补丁 在任何时候可以使用 git rebase --abort来终止rebase,并使当前分支恢复到rebase前的状态,解决完左右的冲突后就可以进行push操作了

    Commands

    git remote add origin https://github.com/Lilin233/gitDemo.git 本地库连接远程库
    git push -u origin master 提交文件到远程库 -u的意思是把本地的master分支和远程master分支连接 ,以后再次提交的时候直接使用git push命令即可
    git checkout -b dev 创建并切换分支到branch 可以拆分为
    git branch dev 创建dev分支
    git checkout dev 切换到dev分支
    git merge dev 把dev分支的内容合并到当前分支
    git branch -d dev删除分支 dev
    git branch -D dev 强行删除分支dev, 当dve有内容没有merge的时候使用 -d是无法删除dev的,git要求你进行merge后再删除,此时可以使用 -D命令强行删除dev分支
    git merge --no-ff -m”merge with no ff” dev 使用no ff模式合并dev分支
    git stash 把当前的修改存储起来,使用git status查看的时候就会发现当前分支是干净的
    git stash list 查看当前stash起来的列表
    git stash pop 恢复stash内容到当前分支,并且删除stash
    git stash apply stash@{0}恢复具体某一次的stash ,使用stash恢复的时候stash没有删除,需要使用
    git stash drop stash@{0}来删除 stash
    git branch 查看本地分支
    git branch -a 查看所有分支,包含本地和远程
    git checkout -b 分支名 远程分支名 获取远程分支创建一个本地分支并切换到新的分支

    相关文章

      网友评论

        本文标题:Git Learning Part 2

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