git命令

作者: 肥羊猪 | 来源:发表于2021-03-10 17:18 被阅读0次

    常用 慢慢积累


    Git常用命令.png
    Workspace:工作区
    Index / Stage:暂存区
    Repository:仓库区(或本地仓库)
    Remote:远程仓库
    

    加入别人的项目:

    git config --global user.name "Zysunt"
    git config --global user.email "1291609705@qq.com"
    cd ~/.ssh
    ssh-keygen -t rsa -C “1291609705@qq.com”生存密钥
     ssh-keygen -o
    cat ~/.ssh/id_rsa.pub
    git clone SSH
    git branch 查看本地分支
    git branch dev_vaccine 创建分支dev_vaccine 
    git checkout dev_vaccine 切换分支
    git pull origin dev_vaccine 获取分支
    git branch -D dev_vaccine 删除分支
    
    git branch -a 查看本地和远程仓库的所有分支
    git branch -r 查看远程分支
    
    git fetch 将本地分支与远程保持同步
    git checkout -b 本地分支名x origin/远程分支名x 拉取远程分支并同时创建对应的本地分支
    git fetch --all 将本地所有分支与远程保持同步 
    git pull --all 拉取所有分支代码 
    
    
    git init 新建一个目录,将其初始化为Git代码库
    git add . //添加指定文件到暂存区
    git commit -m '提交' //提交暂存区到仓库区
    git push origin 
    git pull
    git checkout - // 切换到上一个分支
    
    git checkout -b dev_v = git branch dev_v  git checkout dev_v
    
    git reset HEAD^ //就是将HEAD指针前移 
    //每次commit,master都会向前移动一步,即指向最新的提交
    // HEAD则指向你正在工作的本地分支,而git reset修改的就是HEAD
    

    master分支上开辟一个新的develop分支,然后我们根据功能或者业务,再在develop分支上另外开辟其他分支,完成分支上的任务后,再将这个分支合并develop分支上.
    master分支和develop分支都是长期分支,而我们创建的其他分支则是临时性分支

    master分支:可直接用于产品发布的代码,就是正式版的代码
    develop分支:日常开发用的分支,团队中的人都在这个分支上进行开发
    临时性分支:根据特定目的开辟的分支,包括功能(feature)分支,或者预发布(release)分支,又或者是修复bug(fixbug)分支,临时性分支用完之后一般都会删除,使得代码库的常用分支始终只有两个长期分支

    [图片上传中...(image.png-28b6e2-1615627320757-0)]

    git mergegit rebase两个命令来进行分支的合并

    git merge [branch] //合并指定分支到当前分支
    
    git merge develop 合并develop分支到当前分支master // 快速合并 看不到合并信息
    git merge --no-ff -m "合并的信息(TAG)" develop// 普通合并 可以看到记录
    
    git branch -d [branch-name]  // 删除分支
    
    git push origin --delete [branch-name] // 删除远程分支
    

    解决冲突:

    git status // 查看状态 显示有变更的文件
     git log // 显示当前分支的版本历史
    git diff //  显示暂存区和工作区的差异
    用工具解决冲突
    

    变基(rebase)


    变基(rebase).png

    如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。

    git rebase -i将本地的多次提交合并为一个,以简化提交历史
    git rebase mastermaster最新的分支同步到本地

    git merge操作合并分支会让两个分支的每一次提交都按照提交时间(并不是push时间)排序,并且会将两个分支的最新一次commit点进行合并成一个新的commit,最终的分支树呈现非整条线性直线的形式

    git cherry-pick将某次提交合并到某个指定分支上:

    假如我们现在在dev(三次提交A,B,C)分支上,首先需要切换到目标分支release001上:
    `git checkout release001` //切换分支
    `git pull` //拉取最新内容
    然后开始合并A记录到release001分支上
    `git cherry-pick A`  //关键命令
    `git pull`
    `git push`
    然后,B和C提交方式相同。
    `cherry-pick` 就是把dev上的提交A这些变动,复制过来在`release001`分支上再来一遍,然后pull,push
    
    

    参考:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

    相关文章

      网友评论

          本文标题:git命令

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