编辑器&Mac
1、编辑器的运用vs code
- 插件
- git辅助东西,可检察代码的誊写者:
Git Blame
2、 Mac东西运用
- 壮大终端 item2
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 <长途堆栈> <当地分支>:<长途分支>
- 当地建立公钥
必备学问点
- 观点:
- Remote:长途主堆栈;
- Repository:当地堆栈;
- Index:Git追踪树,暂存区;
- workspace:当地事情区(即你编辑器的代码)
- 平常操纵流程:《事情区》->
git status
检察状况 ->git add .
将一切修正到场暂存区->git commit -m "提交形貌"
将代码提交到当地堆栈->git push
将当地堆栈代码更新到长途堆栈
一、git remote
- 为长途堆栈指定别号,以便于管理长途主机,默许只要一个时为origin
- 检察主机名:
git remote
检察主机名即网址:
git remote -v
- 默许克隆长途堆栈到当地时,长途主机为origin,如需指定别号可运用
git clone -o <别号> <长途git地点>
- 默许克隆长途堆栈到当地时,长途主机为origin,如需指定别号可运用
- 检察主机的详细信息
git remote show <主机名>
- 增加长途主机
git remote add <主机名> <网址>
- 删除长途主机
git remote rm <主机名>
- 修正长途主机的别号:
git remote rename <原主机名> <新主机名>
二、git fetch
- 将某个长途主机的更新,悉数/分支 取回当地(此时之更新了Repository)它取回的代码对你当地的开辟代码没有影响,如需完全更新需兼并或运用
git pull
- 长途主机的更新,悉数取回当地
git fetch <长途主机名>
; - 将长途堆栈特定分支更新到当地
git fetch <长途主机名> <分支名>
- 假如须要将更新拉取但当地事情代码须要兼并到当地某一分支
git merge <被兼并的长途分支>
或许在此基础上建立出新分支并切换git checkout -b <分支名> <在此分支上建立>
三、git pull
- 拉取长途主机某分支的更新,再与当地的指定分支兼并(相称与fetch加上了兼并分支功用的操纵)
- 拉取长途某分支并与当地某一分支兼并(没有则默许会建立):
git pull <长途主机名> <长途分支名>:<当地分支名>
- 假如长途分支是与当前地点分支兼并,则冒号背面的部份能够省略:
git pull <长途主机名> <长途分支名>
- 假如当前分支与长途分支存在追踪关联,则能够省略长途分支名:
git pull <长途主机名>
- 假如当前分支只要一个追踪分支,则长途主机名都能够省略:
git pull
三、git push
- 将当地分支的更新,推送到长途主机,其敕令花样与
git pull
类似
- 将当地分支推送到长途分支:
git push <长途主机名> <当地分支名>:<长途分支名>
假如省略长途分支名,则默许为将当地分支推送到与之关联的长途分支:(平常设置当地分支和与之关联的长途分支同名,防备殽杂)
git push <长途主机名> <当地分支名>
- 假如对应的长途分支不存在,则会被建立(m默许与当地分支同名)
- 假如省略当地分支名,则示意删除指定的长途分支,这等同于推送一个空的当地分支到对应长途分支:
git push origin :<长途分支>
等同于git push origin --delete <长途分支>
- 假如当前分支与长途分支之间存在追踪关联,则当地分支和长途分支都能够省略
git push origin
- 假如当前分支只要一个追踪分支,那末主机名也能够省略:
git push
- 假如当前分支与多个主机存在追踪关联(运用场景相对来说较少),能够运用-u指定默许推送主机
git push -u origin <主机名>
设置时刻需推送便能够直接运用git push
- 将当地的一切分支都推送到长途主机:
git push --all origin
- 假如长途主机的版本比当地版本更新,推送时Git会报错,请求先在当地做
git pull
兼并差别,然后再推送到长途主机。假如一定要推送,能够运用--force
选项(郑重运用,除非你异常确认):git push --force origin
- 注重:分支推送递次的花样为<来源地>:<目的地>,所以
git pull
花样:<长途分支>:<当地分支>,git push
花样为:<当地分支>:<长途分支>。
四、分支操纵
- 建立当地分支:
git branch test
:(建立名为test的当地分支) - 切换分支:
git checkout test
:(切换到test分支) - 建立并切换分支
git checkout -b test
:(相称于以上两条敕令的兼并) - 检察当地分支:
git branch
- 检察长途堆栈一切分支:
git branch -a
- 删除当地分支:
git branch -d test
:(删除当地test分支) - 分支兼并:
git merge master
:(将master分支兼并到当前分支) - 当地分支重定名:
git branch -m oldName newName
长途分支重定名:
- 重定名长途分支对应的当地分支:
git branch -m oldName newName
; - 删除长途分支:
git push --delete origin oldName
; - 上传新定名的当地分支:
git push origin newName
; - 把修正后的当地分支与长途分支关联:
git branch --set-upstream-to origin/newName
- 重定名长途分支对应的当地分支:
- 分支关联:
- 检察当前的当地分支与长途分支的关联关联:
git branch -vv
- 把当前当地分支与长途origin的某分支举行关联处置惩罚(经由过程 –set-upstream-to 敕令):
git branch --set-upstream-to=origin/feature/clear-server-eslint-error_180713
- 分支差别检察
- 检察当地当前分支与长途某一分支的差别:
git diff origin/feature/reserve-3.4
- 检察当地特定分支与长途分支的差别:
git diff master origin/feature/reserve-3.4
(检察当地master分支与长途feature/reserve-3.4分支的差别,如图)
五、修正打消
-
git checkout -- <文件名>
:抛弃事情区的修正,就是让这个文件回到近来一次git commit
或git add
时的状况。 -
git reset HEAD <文件名>
:把暂存区的修正打消掉(unstage),从新放回事情区。 git reset --hard commit_id
:git版本回退,回退到特定的commit_id版本- 流程:
-
git log
检察提交汗青,以便肯定要回退到哪一个版本(commit 以后的即为ID);
-
git reset --hard commit_id
:回退到commit_id版本; git reflog
检察敕令汗青,以便肯定要回到未来的哪一个版本;- 更新长途代码到当地
git fetch origin master(分支)
git pull // 将fetch下来的代码pull到当地
git diff master origin/master // 检察当地分支代码和长途堆栈的差别
- 更新长途代码到当地
- 拉取长途分支并建立当地分支
-
git checkout -b 当地分支名 origin/长途分支名
:运用此体式格局会在当地新建分支,并自动切换到该当地分支; -
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}
;
“积跬步、行千里”—— 延续更新中~,喜好留下个赞哦!
往期典范好文:
相干好文引荐:
- 我的博客行将搬运同步至腾讯云+社区,约请人人一同入驻:https://cloud.tencent.com/dev…