美文网首页
git常用操作

git常用操作

作者: 皇甫圣坤 | 来源:发表于2019-05-28 09:16 被阅读0次

    1. 打版本标签

    git tag v1.0 -m "2019年5月底客户演示" && git push origin master --tags

    2. git fetch和git pull之间的区别

    1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
    $ git fetch origin master
    $ git log -p master..origin/master
    $ git merge origin/master
    

    以上命令的含义:
    首先从远程的origin的master主分支下载最新的版本到origin/master分支上
    然后比较本地的master分支和origin/master分支的差别
    最后进行合并
    上述过程其实可以用以下更清晰的方式来进行:
    git fetch origin master:tmp
    git diff tmp
    git merge tmp
    从远程获取最新的版本到本地的test分支上
    之后再进行比较合并

    1. git pull:相当于是从远程获取最新版本并merge到本地

    git pull origin master
    上述命令其实相当于git fetchgit merge
    在实际使用中,git fetch更安全一些
    因为在merge前,我们可以查看更新情况,然后再决定是否合并

    3. 生成ssh公钥

    右键打开git Bash Here
    输入命令 ssh-keygen.exe 就会自动生成id_rsa.pub文件了,打开文件中的内容复制粘贴到git远程仓库中ssh设置的公钥位置就可以了。

    4. 创建并切换分支

    $ git checkout -b branch-name

    5. 删除分支

    $ git branch -d 'branch-name'

    6. 切换分支

    git checkout 'branch-name'

    7. 提交到远程

    git push origin branch-name

    8. 合并指定分支到当前分支

    $ git merge 'branch-name'

    8. 拉取远程

    git pull

    9. 准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:

    $ git merge --no-ff -m "merge with no-ff" dev
    Merge made by the 'recursive' strategy.
     readme.txt |    1 +
     1 file changed, 1 insertion(+)
    

    因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
    合并后,我们用git log看看分支历史

    image.png

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    10. Bug分支

    Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
    $ git stash

    查看工作区
    git status

    首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:

    刚才的工作现场存到哪去了?用git stash list命令看看:

    $ git stash list
    stash@{0}: WIP on dev: 6224937 add merge
    

    工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    另一种方式是用git stash pop,恢复的同时把stash内容也删了:

    你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
    $ git stash apply stash@{0}

    相关文章

      网友评论

          本文标题:git常用操作

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