美文网首页
Git 经验分享(公司开发常用git命令) 2020.04.10

Git 经验分享(公司开发常用git命令) 2020.04.10

作者: coder_xiang | 来源:发表于2020-04-10 17:18 被阅读0次

    Git 经验分享

    一、 创建与合并分支

    1. 从master分支创建dev分支并切换到dev分支
    git branch  //查看本地当前的分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分支。
    git branch -a  //查看远程全部的分支,白色的表示本地有的,红色的表示本地没有,仅在远程存在。
    git checkout master //切换到主分支
    git branch dev // 创建分支dev
    git checkout dev//切换到分支dev
    
    1. 分支合并(将dev合并到master)
    git checkout master
    git merge dev//合并完成后,删除dev分支.(删除dev分支时,注意我们当前所在的分支不能是dev分支)
    git branch -d dev//删除分支
    git branch//删除后,查看分支(此时看不到dev分支了)
    
    1. 总结 :工作中经常从master创建新的分支,具体操作如下
    master创建新分支:
    git checkout master
    git checkout -b  issues1234
    git push origin issues1234
    git add ..
    git commit -m "***"
    git push origin issues1234
    //注意:将本地分支branch1推到远端的branch2操作步骤:
    git push origin branch1:branch2
    
    1. 删除分支:
    git branch -D   issues1234  //本地强制删除分支issues1234
    git push origin  :issues1234  //推到远程
    

    二、 解决冲突

    <<<<<<<
    自己的代码
    =======
    别人的代码
    >>>>>>>
    
    • git diff或者git diff aaa.txt查看文件发生了哪些变化, 解决了以后需要重新commit
    From Git version 1.6.1 there are --ours and --theirs options for keeping only the local or remote version of a file with a merge conflict.
    git checkout --ours <file_name>
    git checkout --theirs <file_name>
    Really simple to use!
    git checkout --ours .  # checkout our local version of all files
    git add -u             # mark all conflicted files as merged
    git commit             # commit the merge  解决了以后需要重新commit
    
    

    三. 代码暂存

    git stash//将当前更改的代码储藏起来,等以后恢复使用
    git stash pop //恢复的同时把stash内容删掉
    git stash apply //恢复stash,但是stash内容并不删除
    git stash drop //在上面操作的基础上,以此来删除stash
    git stash clear//将stash空间清空
    原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,
    而 git stash apply stash@{id} 命令则会继续保存stash id
    

    四、版本回退

    1. 对于已经push的版本,进行回退
    git reflog  //查看以往版本号(本地的commit)
    git log //查看各版本号及信息(所有的commit:本地commit + 其他同事的commit)
    git reset --hard HEAD //回退至上一个版本
    git reset --hard 版本号 //本地回退到指定的版本
    git push  -f origin dev    //将远程的也回退到指定版本
    git remote show origin //查看远程库的一些信息,及与本地分支的信息
    git checkout -- . //忽略当前所有变化
    git reset —soft head~1 //保留本地代码 回退到上一次的
    git reflog //验证当前head 指向的版本号
    git push origin 分支 --force ok//如果提交失败,因为当前分支的版本低于远程分支的版本,所以要想覆盖掉它,必须使用force
    
    
    1. 对于还没有push的, 取消commit
    git revert commit_id//将某次commit的更新取消,但是这次commit的前后更新都不受影响。
    

    五. 标签管理

    //给当前分支最新commit打标签
    git tag '1.0.0'
    //给commit版本号1234打个标签
    git tag '1.0.0' 1234
    //创建的标签只存在本地,推至远程
    git push origin '1.0.0'
    //一次性推送未推至远程的本地标签
    git push origin --tags
    //查询所有标签
    git tag
    //查询标签详细信息
    git show '1.0.0'
    //删除本地标签
    git tag -d '1.0.0'
    //删除远程标
    //先从本地删除
    git tag -d '1.0.0'
    //然后从远程删除
    git push origin :refs/tags/v1.0.0
    //最后可以在gitlab上查看是否真正的删除了标签
    
    //创建带有说明的标签,用-a指定标签名,-m指定说明文字
    //git   tag   -a   版本号   -m    说明信息   commit版本号
    git tag -a '1.0.0' -m "version 1.0.0 released" 34372b05(commit版本号)    
    //查看标签详细信息
    git show '1.0.0 '
    

    六. 常规操作

    • git log 查看所有的commit提交记录
    • git show 查看提交的详情

    1.查看最新的commit
    git show
    2.查看指定commit hashID的所有修改:
    git show commitId
    3.查看某次commit中具体某个文件的修改:
    git show commitId fileName

    git 在pull或者合并分支的时候有时会遇到下图这个界面

    image
    • 可以不管(直接下面3,4步),如果要输入解释的话就需要:

      1. 按键盘字母 i 进入insert模式;
      2. 修改最上面那行黄色合并信息,可以不修改 // 黄色内容为默认的合并信息;
      3. 按键盘左上角"Esc";
      4. 输入":wq",进行修改后保存退出,然后按回车键即可。
    • 强制退出

    先按esc键盘
    :wq!
    接着 q! 回车 //表示不保存退出
    或wq! 回车 //表示保存并退出
    

    七. git本地仓库与github仓库关联命令

    *   进入到需要推送的文件夹
    *   初始化目录:git init
    *   添加所有文件到本地库:git add .
    *   提交文件到本地库:git commit -m 'discription'
    *   将本地库和远程库进行关联:git remote add origin [git@github.com](mailto:git@github.com):cjxz/JMHtest.git
    *   拉取远程库文件同步到本地:git pull --rebase origin master
    *   将本地库文件退到远程库:git push -u origin master
    

    远程仓库的创建好了, 直接克隆代码就好了.

    git clone ****
    

    相关文章

      网友评论

          本文标题:Git 经验分享(公司开发常用git命令) 2020.04.10

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