美文网首页
Git学习记录三

Git学习记录三

作者: IT_小马哥 | 来源:发表于2019-06-07 19:57 被阅读0次

    我的学习记录来自于:廖老师的博客:https://www.liaoxuefeng.com/wiki/896043488029600

    理论基础:
    刚刚开始master分支是一条线,master指向最新的提交,HEAD指向master:


    每次提交master就向前移动。
    创建新的分支时,例如dev时,就新创建一个指针,指向与mater相同的提交,在把HEAD(总是指向当前分支)指向dev.
    dev分支
    现在每次提交,dev指针都向前移动一步,为master指针不变,
    dev更新
    当dev和master合并时,master指向dev的提交就行。
    快速合并
    然后删除dev指针,就只有master了。

    操作
    创建和切换到新的分支, - b表示创建新的分支
    $ git checkout -b dev
    

    也可以用两条命令:
    先创建新的分支
    再切换到新的分支

    $git branch dev 
    $git checkout dev
    

    查看当前分支,当前分之前有一个*

    $git branch
    

    合并:(快速合并,只有一个分支进行个更新,其他分支没有进行更新)
    合并dev分支到master,先切回到master分支,在合并

    $git merge dev
    

    当两个以上的分支都发生修改时,合并会出错,必须先打开文进行手动合并,然后提交。


    两分支都发生了变化
    手动修改完再提交

    可以查看分支合并情况:

    $ git log --graph --pretty=oneline --abbrev-commit
    

    禁用快速合并的命令

    $ git merge --no-ff -m "merge with no-ff" dev
    

    保存当前工作状态,等以后继续使用

    $ git stash
    

    查看保存的状态

    $ git stash list
    

    恢复状态的两种方式:
    第一,先回复状态,然后删除stash的内容

    (可以回复指定的 git stash apply stash@{0})
    $ git stash apply   #回复
    $ git stash drop   #删除
    

    第二,恢复的同时删除stash内容

    $ git stash pop
    

    删除分支

    $git branch -d dev
    

    强制删除分支

    $ git branch -D dev
    

    查看远程仓库信息:

    $ git remote -v
    

    本地文件推送远程仓库(origin是远程仓库名字,dev是分支)

    $ git push origin dev
    

    在本地创建一个远程分支(本地有分支dev,github仓库没有dev)

    $ git push --set-upstream origin dev
    

    在本地创建一个和远程分支对应的分支(本地之前空白,相当于创建本地分支,并且和远程分支关联起来)

    $ git checkout -b dev  origin/dev
    

    指定本地存在的dev分支和远程分支连接(本地有dev,但是没有和仓库的dev关联)

    $ git branch --set-upstream-to=origin/dev   dev
    

    如果在你提交前,文件已经被修改,则需要先把远程仓库的分支拉下来,然后修改

    $ git pull
    

    手动合并修改后在提交。(git push)

    因此,多人协作的工作模式通常是这样:

    首先,可以试图用git push origin <branch-name>推送自己的修改;

    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    如果合并有冲突,则解决冲突,并在本地提交;

    没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branchname>。

    git带账号和密码 clone

    git clone http://邮箱(或用户名):密码@仓库地址
    

    相关文章

      网友评论

          本文标题:Git学习记录三

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