团队协作必备的Git操纵

编辑器&Mac

1、编辑器的运用vs code

  • 插件
  1. git辅助东西,可检察代码的誊写者:Git Blame

2、 Mac东西运用

3、在 macOS 中圆满设置文件名大小写敏感(处置惩罚git默许对大小写不敏感题目)处置惩罚git大小写不敏感

学问篇

一、git运用

  • 平常企业中运用代码管理东西Git开辟时都是经由过程拉分支举行功用仔细开辟,所以控制git的分支操纵时必要的
  • 运用Git下载指定分支敕令为:git clone -b 分支名堆栈地点
  • 初始开辟git操纵流程

    • 当地建立公钥ssh-keygen -t rsa -C "邮箱"并设置
    • 克隆最新主分支项目代码git clone 地点
    • 建立当地分支git branch 分支名
    • 检察当地分支git branch
    • 检察长途分支git branch -a
    • 切换分支git checkout 分支名(平常修正未提交则没法切换,大小写题目常常会有,可强迫切换git checkout 分支名 -f非必需慎用)
    • 将当地分支推送到长途分支git push <长途堆栈> <当地分支>:<长途分支>

必备学问点

  • 观点:

《团队协作必备的Git操纵》

  1. Remote:长途主堆栈;
  2. Repository:当地堆栈;
  3. Index:Git追踪树,暂存区;
  4. workspace:当地事情区(即你编辑器的代码)
  • 平常操纵流程:《事情区》-> git status检察状况 -> git add .将一切修正到场暂存区-> git commit -m "提交形貌"将代码提交到当地堆栈->git push将当地堆栈代码更新到长途堆栈

一、git remote

  • 为长途堆栈指定别号,以便于管理长途主机,默许只要一个时为origin
  1. 检察主机名:git remote
  2. 检察主机名即网址:git remote -v

    • 默许克隆长途堆栈到当地时,长途主机为origin,如需指定别号可运用git clone -o <别号> <长途git地点>
  3. 检察主机的详细信息git remote show <主机名>
  4. 增加长途主机git remote add <主机名> <网址>
  5. 删除长途主机git remote rm <主机名>
  6. 修正长途主机的别号:git remote rename <原主机名> <新主机名>

二、git fetch

  • 将某个长途主机的更新,悉数/分支 取回当地(此时之更新了Repository)它取回的代码对你当地的开辟代码没有影响,如需完全更新需兼并或运用git pull
  1. 长途主机的更新,悉数取回当地git fetch <长途主机名>
  2. 将长途堆栈特定分支更新到当地git fetch <长途主机名> <分支名>
  • 假如须要将更新拉取但当地事情代码须要兼并到当地某一分支git merge <被兼并的长途分支>或许在此基础上建立出新分支并切换git checkout -b <分支名> <在此分支上建立>

三、git pull

  • 拉取长途主机某分支的更新,再与当地的指定分支兼并(相称与fetch加上了兼并分支功用的操纵)
  1. 拉取长途某分支并与当地某一分支兼并(没有则默许会建立):git pull <长途主机名> <长途分支名>:<当地分支名>
  2. 假如长途分支是与当前地点分支兼并,则冒号背面的部份能够省略:git pull <长途主机名> <长途分支名>
  3. 假如当前分支与长途分支存在追踪关联,则能够省略长途分支名:git pull <长途主机名>
  4. 假如当前分支只要一个追踪分支,则长途主机名都能够省略:git pull

三、git push

  • 将当地分支的更新,推送到长途主机,其敕令花样与git pull类似
  1. 将当地分支推送到长途分支:git push <长途主机名> <当地分支名>:<长途分支名>
  2. 假如省略长途分支名,则默许为将当地分支推送到与之关联的长途分支:(平常设置当地分支和与之关联的长途分支同名,防备殽杂)git push <长途主机名> <当地分支名>

    • 假如对应的长途分支不存在,则会被建立(m默许与当地分支同名)
  3. 假如省略当地分支名,则示意删除指定的长途分支,这等同于推送一个空的当地分支到对应长途分支:git push origin :<长途分支> 等同于 git push origin --delete <长途分支>
  4. 假如当前分支与长途分支之间存在追踪关联,则当地分支和长途分支都能够省略git push origin
  5. 假如当前分支只要一个追踪分支,那末主机名也能够省略:git push
  6. 假如当前分支与多个主机存在追踪关联(运用场景相对来说较少),能够运用-u指定默许推送主机git push -u origin <主机名>设置时刻需推送便能够直接运用git push
  7. 将当地的一切分支都推送到长途主机:git push --all origin
  8. 假如长途主机的版本比当地版本更新,推送时Git会报错,请求先在当地做git pull兼并差别,然后再推送到长途主机。假如一定要推送,能够运用--force选项(郑重运用,除非你异常确认):git push --force origin
  • 注重:分支推送递次的花样为<来源地>:<目的地>,所以git pull花样:<长途分支>:<当地分支>git push花样为:<当地分支>:<长途分支>

四、分支操纵

  1. 建立当地分支:git branch test:(建立名为test的当地分支)
  2. 切换分支:git checkout test:(切换到test分支)
  3. 建立并切换分支git checkout -b test:(相称于以上两条敕令的兼并)
  4. 检察当地分支:git branch
  5. 检察长途堆栈一切分支:git branch -a
  6. 删除当地分支:git branch -d test:(删除当地test分支)
  7. 分支兼并:git merge master:(将master分支兼并到当前分支)
  8. 当地分支重定名:git branch -m oldName newName
  9. 长途分支重定名:

    1. 重定名长途分支对应的当地分支:git branch -m oldName newName;
    2. 删除长途分支:git push --delete origin oldName;
    3. 上传新定名的当地分支:git push origin newName;
    4. 把修正后的当地分支与长途分支关联:git branch --set-upstream-to origin/newName
  • 分支关联:
  1. 检察当前的当地分支与长途分支的关联关联:git branch -vv

《团队协作必备的Git操纵》

  1. 把当前当地分支与长途origin的某分支举行关联处置惩罚(经由过程 –set-upstream-to 敕令):git branch --set-upstream-to=origin/feature/clear-server-eslint-error_180713

《团队协作必备的Git操纵》

  • 分支差别检察
  1. 检察当地当前分支与长途某一分支的差别:git diff origin/feature/reserve-3.4
  2. 检察当地特定分支与长途分支的差别:git diff master origin/feature/reserve-3.4 (检察当地master分支与长途feature/reserve-3.4分支的差别,如图)

《团队协作必备的Git操纵》

五、修正打消

  1. git checkout -- <文件名>:抛弃事情区的修正,就是让这个文件回到近来一次git commitgit add时的状况。
  2. git reset HEAD <文件名>:把暂存区的修正打消掉(unstage),从新放回事情区。
  3. git reset --hard commit_id:git版本回退,回退到特定的commit_id版本

    • 流程:
    • git log检察提交汗青,以便肯定要回退到哪一个版本(commit 以后的即为ID);

《团队协作必备的Git操纵》

  • git reset --hard commit_id:回退到commit_id版本;
  • git reflog检察敕令汗青,以便肯定要回到未来的哪一个版本;

    • 更新长途代码到当地
      git fetch origin master(分支)
      git pull // 将fetch下来的代码pull到当地
      git diff master origin/master // 检察当地分支代码和长途堆栈的差别
  • 拉取长途分支并建立当地分支
  1. git checkout -b 当地分支名 origin/长途分支名:运用此体式格局会在当地新建分支,并自动切换到该当地分支;
  2. git fetch origin 长途分支名:当地分支名:运用此体式格局会在当地新建分支,然则不会自动切换到该当地分支,须要手动checkout。

六、设置

  • git config -l // 陈列出一切的git设置项
  • git config core.ignorecase false //设置git不疏忽大小写(默许疏忽)参照(git 大小写)

七、暂存

  • git stash 可用来暂存当前正在举行的事情,比方想pull 最新代码又不想commit, 或许另为了修正一个紧要的bug,先stash,使返回到本身上一个commit, 改完bug以后再stash pop, 继承本来的事情;
  • 增加缓存栈:git stash;
  • 检察缓存栈:git stash list;
  • 推出缓存栈:git stash pop;
  • 掏出特定缓存内容:git stash apply stash@{1};

《团队协作必备的Git操纵》

“积跬步、行千里”—— 延续更新中~,喜好留下个赞哦!

    原文作者:keywords
    原文地址: https://segmentfault.com/a/1190000015676846
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞