git利用指南

打印 上一主题 下一主题

主题 964|帖子 964|积分 2892

git利用指南

   工作中常用的 Git 下令,这些基本够用了。能够记住下令的话可以使你的工作服从提高一大截,当然利用可视化的代码编译工具操作也可。管他操作是否高大上,得当你的才是最好的!
  1. 克隆长途堆栈的代码到当地

  1. git clone git@xxx.git
复制代码
拉取下来默认分支名为 master。
2. 拉取最新代码更新到当地



  • 如果当地代码库没有任何修改,直接利用:
  1. git pull
复制代码


  • 如果当地代码有修改,但没有提交或暂存,git pull
    时会报错,提醒你有未提交/暂存的修改。此时,你需要根据需求:

    • 利用 git stash 将修改的内容暂存起来;
    • 或者将修改提交:
      1. [/code]
      2. [/list]
      3. [/list] git commit -m “解释内容”
      4. ```
      5. 解释内容主要用来描述本次修改内容。
      6. [size=4]3. 创建当地分支[/size]
      7. 利用以下下令创建分支:
      8. [code]git checkout -b 分支名
      复制代码


      • 如果分支名不存在,则会创建一个新的分支并切换到新建分支;
      • 如果分支名存在,则会直接切换到该分支。
      4. 在当地分支上进行修改操作,并提交

      如果我们在当地名为 master 的分支上进行了修改:

      • 利用 git add . 将当前修改添加,也可以利用 git add 目标文件名 添加指定文件;
      • 利用 git status 检察当前状态;
      • 如果有某些文件在 .gitignore 文件里面被忽略了不让 add,可以利用:
      1. git add -f 目标文件名
      复制代码
      进行强制添加;
      4. add 完之后,利用:
      1. git commit -m "注释内容"
      复制代码
      提交;
      5. 提交后,利用:
      1. git log
      复制代码
      检察刚刚的提交记录,包括提交时写的解释内容;
      6. 如果你做了不止一次修改,不想每次都重新用新的解释内容进行提交,不想要每次都天生一个新的 commit 节点,可以利用:
      1. git commit --amend
      复制代码
      将第二次提交联合上一次的提交内容合成一个 commit 节点;
      7. 末了,将提交的修改 push 到远端分支上,利用:
      1. it push 远端节点
      复制代码
      如果想提交到远端的 master 分支上,利用:
      1. git push origin master
      复制代码
      进行不覆盖式的提交。如果想用当地的代码完全覆盖掉远端的分支,利用:
      1. git push -f origin master
      复制代码
      强制提交。
      5. 删除远端分支



      • 删除远端分支:
      1. git push origin --delete 远端分支名
      复制代码


      • 删除当地分支:
      1. git branch -d 本地分支名
      复制代码
      或者利用强制删除:
      1. git branch -D 本地分支名
      复制代码
      6. git pull
      和 git pull
      -r 的区别




      • git pull
        = git fetch + git merge
      • git pull
        -r = git fetch + git rebase
      假设有个场景,A 和 B 都需要 push 代码到 origin 的 master 上,A 和 B 拉取的代码后,新建了本身的分支进行修改,并要提交到 master 上;
      此时 A 的修改内容先提交到 origin 上;
      那么 B 在提交前需要拉取最新的代码(包含 A 的修改的代码 D),此时 B 有两个选择:


      • 如果利用:
        1. [/code]
        2. [/list] git pull
        3. origin master
        4. [code]拉取代码,利用 `git log
        5. ` 检察提交记录,此时可以看到有一个 commit 节点叫 `Merge xxxxxxxxxx…`,如许会形成一个菱形的提交记录;- 如果利用:```bashgit pull
        6. -r origin master
        复制代码
        可以避免这种菱形提交,会将 B 的提交 rebase 到最新 master 节点上,此时可能会遇到的题目是,如果 B 的提交和 A 的提交有交集的地方,会引起冲突。如果这种环境,会提示你先办理冲突 conflict,需要 B 去比较与 A 的提交冲突的地方,办理完冲突之后,add 更新下 B 的修改后,执行:
        1. git rebase --continue
        复制代码
        就可以继续 pull -r 的过程;过程中如果觉得有任何操作失误,可以利用:
        1. git rebase --abort
        复制代码
        随时停止 pull rebase 的过程,并且分支会回到 rebase 开始前的状态。
        7. 将分支 A 的修改提交到分支 B

        偶然候我们可能需要将分支 A 上做的一些修改直接提交到分支 B 上,先切换到分支 B,提前 git log
        看下分支 A 上需要的节点号是多少,利用:
        1. git cherry-pick commit节点号
        复制代码
        就可以将在 A 上做的某些改动直接 pick 到 B 上。
        8. 修改某次的 commit 内容

        有些时候很多个提交节点后,发现某个节点上的修改有题目,希望回退到某个节点进行修改,此时可以利用:
        1. git rebase -i commit节点号
        复制代码
        回退到你希望修改的节点的前一个节点处,就可以看到你需要修改的节点。将该节点前的 pick 改成 edit 后生存退出,然后你就可以在这个节点继续进行修改。修改竣事后利用:
        1. git commit --amend
        复制代码
        进行提交,这个操作会将你当前修改合并到这个 commit 节点之前的修改中,提交后利用:
        1. git rebase --continue
        复制代码
        我们就可以成功回到最新的修改节点。
        9. 还有一些比较暴力但是很好用的下令



        • git reset --hard commit节点号
          这个下令很暴力,但是很快,当你搞不清那些节点的时候,不知道本身提交了什么,想要恢复到你想归去的某次提交的时候可以利用,先用 git log
          检察一下之前 commit 的节点,找到你想退回到的某个 commit id,复制下来。
          比如这里我想退回到最初的 origin/master,其 commit 节点号是 d9ab27dc42c753b9a1bb2163221b73f63bd490af,那么我可以利用:
          1. git reset --hard d9ab27dc42c753b9a1bb2163221b73f63bd490af
          复制代码
          回到这个节点。
        • 偶然候会用到:
          1. [/code]
          2. [/list] git push -u origin 分支名
          3. [code]- 使用 `git squash` 将多个 commit 节点进行合并;
          4. - 本地创建分支:
          5. ```bash
          6. git checkout -b 分支名
          复制代码
          并推至远端分支(不存在):
          1. git push --set-upstream origin 分支名
          复制代码
          推送当地分支至远端,并创建长途分支。
          [code][/code]
          免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表