Git学习——2

5.添加远程库

  • Creat a new repository

    • 输入Repository name

    • 初始化设置

      • Public/Private
      • Readme.txt
      • license
    • 克隆本地仓库

    • 关联本地仓库

      Git Bash下输入:

      $ git remote add origin https://github.com/yourname/learngit.git
      

      git remote rm<name>若地址写错,可以用此命令删除。

      git remote -v查看远程仓信息。-v详细信息

      git remote rm origion解除本地与远程的绑定关系,并没有删除远程库。

    • 本地库内容推送至远程库:

      $ git push -u origin master
      
    image-20220429195004357

    ​ 出现登录界面,点击登录(可能需要over the wall)即可。成功会出现提示信息:

    image-20220429195346109

git push把当前分支master推送到远程。参数-u由于远程仓库是空的,会把本地的master 分支和远程master关联起来,方便简化命令。

​ 可以查看自己GitHub上的仓库,和本地完全一样: image-20220429195717458

  • 从远程库中克隆

    先创建远程库再关联本地,即先从远程克隆到本地:

    • 在Github上创建仓库;

    • 在GitBash下输入(目录可以任意):

      $ git clone https://github.com/yourname/name.git
      

6.分支管理

  • 创建与合并分支

    • HEAD指向当前分支,master指向主分支。

    • 创建分支后,提交即可合并。

    • 合并后可以删除分支。(就是删除分支指针)

      git checkout -b <name>创建并转到分支。

      git branch <name>创建分支

      git checkout <name>

      git switch -c <name>切换到新的分支,已有的无需-c命令。

      git branch查看所有分支,用*表示当前分支。

    • 可以在分支上正常提交修改,但只是保存在当前分支,其他分支当前的值未改变。

      git merge <name>合并指定分支到当前分支下。

      git branch -d <name>删除分支-D强行删除(在未提交该分支的修改,或未合并的分支的时候)

  • 分支冲突

​ ![image-20220429203803624](C:/Users/Threegold Jiang/AppData/Roaming/Typora/typora-user-images/image-20220429203803624.png)

    • 出现这种情况,无法快”使用合并“;

    • 需要手动解决冲突。

    • 就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

      git log --graph --pretty=oneline --abbrev-commit查看分支合并情况,;

  • 分支管理策略

    • 一般情况下是Fast forward,在这种情况下删除分支后会丢掉分支信息(无留存);
    • git merge --no-ff -m "message" <name>会创建一个新的commit,可以看出来曾经做过分支;
    • 分类:bug、feature、master、其他。
  • Bug分支

    • 储藏当前工作场景:

      git stash可以隐藏当前的commit和add信息;

    • 在当前分支创建新分支修复bug;

    • 然后删除修复分支;

    • 回到工作分支

      git stash list查看隐藏的信息;

      git stash apply恢复后,stash内容不删除;

      git stash apply stash@{number}恢复指定的stash

      git stash drop删除stash信息

      git stash pop恢复并删除stash内容

    • 在工作分支上修复bug,复制修复信息到当前信息(特点提交信息)

      git cherry-pick commit_num

  • 多人协作

    • 推送分支

      git push origin <name>推送哪一个分支。

    • 分支冲突

      git pull抓取最新的推送,在本地合并,再推送

      若提示no tracking information,需要指定本地分支与远程分支的链接

      git branch --set-upstream-to=origin/<name> <name>

      再pull;

  • rebase

posted @ 2022-04-29 21:18  三金同志  阅读(26)  评论(0)    收藏  举报