前言
本文行文将力求实用,详细,易懂,结合工作场景,将工作中遇到的最常用的git相关知识点做一总结。既是对git相关知识体系的一次梳理,又能分github永久回家地址享给有需要的小伙伴进行学习提升。因本人能力水平有限,如字体大小怎么调有错误和建议,欢迎在评论区指出。若本篇文章有帮助到了您,不要吝啬您的小手还请点个赞再走哦!
1 起步
1.1 git是什么
Git是一个版本管理控制系安全统(安全期计算器缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在指针和引用的区别任何时间点,将更新记录恢复回来。
1.2 安装
官网(安全教育平台登录速度贼慢)
https://git-scm.com/downloads/
淘宝镜像(速度快)
https://npm.taobao.org/mirrors/git-for-windows/
安装完检查一下版本 git –version
2 相关配置
2.1 使用前配置
配置使用者的程序员工资一般多少钱一个月用户名和邮箱,配置信息默认存储在:C:Users【当前电脑用户名】.gitconfig 中
为了方便多人协作,所以需要设置用户
配置用户名
git config --global user.name 提交人姓名
配置邮箱
git config --global user.email 提交人邮箱
查看git配置信息
git config --list
注意: 如果要对配指针说漫置信息进行修改,重复上述命令即可配置只需要执行一字体管家次
2.2 ssh免登录(以github为字体管家例)
实现原理:
将自己电脑中的私钥和github中的公安全教育平台登录入口钥进行配对,配对成功就不用输入字体账号github官网密码了,所以只需要生成一次,配置完成后此电脑中的任何项目上传到自己的仓库都不需要登陆了
生成私钥和字体大全公钥
在要生成ssh 秘钥的项目中打开git ,输入ssh-keygen, 一直按回车就会在C:Userswangjunjie.ssh 中生成私钥和公钥对.
将电脑中的公钥放到github中就能免密码上传了
将C:Userswangjunjie.ssh 中id_rsa.pub 文件中的字符 复制到 github的
(右上角settings / ssh and GPG keys /New SSH key/)的key输入框中
rsa是一种非对称加密方式
使用
在github仓库中 Clone or download中点击Use SSH就能获取到SSH 对应的地址了,然后就能免密码克隆或推送了
2.3安全 忽略文件或文件夹
在项目根目录下面 添加 .gitignore文件。文件中每一行表示需要忽略的文件的正则表达式
忽略文件夹或文件程序员工资一般多少
/mtk/
过滤整个文件夹
*.zip
过滤所有.zip文件
js/*.zip
过滤js目录下所有.zip文件
/mtk/do.c
过滤某个具体文件
被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。
追踪文件夹或文件
与忽略唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。
!*.zip
追踪所有.zip文件
!/mtk/one.txt
追踪mtk目录下的one.txt文件
如github中文官网网页果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规字体管家则也不会起作用,Git仍然会对所有文件进行版本管理。简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。因此一定要养成在项目开始就创建.gi字体美化大师tignore文件的习惯,否则一旦push,处理起来会非常麻烦。字体转换器
3 提交及查看
3.1 初始github直播平台永久回家化git仓储
在项目所在目录点击右键,选择Git Bash Here, 输入git init,会自动创建一个隐藏的空目录.git,项目的备份代码会存储在这里
3.2 查看状态
git status
如当输入git add ./文件名后,可以通过安全它来查看文件是否放到了暂存区。 如果github永久回家地址放到了入口,会显示:modified: readme.m安全教育平台作业登录d
检测项目文件和存入仓储的文件是否一致,如果一致,返回nothing to commit, working tree clean。否则会显示红色字体的modified程序员需要什么学历: readme.md
3.3 将代码分两步存储到本地git仓储
-
把代码放到仓储暂存区
git add 文件名
将指定的文件放到暂存区
git add .
只要是修改过的文件都会放到仓储暂存区 -
把代码放到仓储房间
git cgithub下载ommit -m 描述信息
git commit –字体天下m “这里写文件的描述信息”GitHub (m是message的简写) 如果没有写 -m,可以通过按ESC后输入 :q 来退出
3.4 查看日志(提交历史字体下载)
git log
可以查看到用户名,邮箱,每一次修改的时间和说明等内容。注意这是查看当前分支,再次按q退出
git log --pretty=oneline
只显示提交的commitID 和 说明内容
git log --graph --all
--all 可以查看所有分支,已经被回退掉的分支也能查看到
git log --graph --pretty=oneline --abbrev-commit
查看分支合并情况
git blame <file>
以列表方式查看指定文件的提交历史
3.5 查看文件修改内容
git diff
4 撤消
4.1 用暂存区中的文件覆盖工作目录中的文件
git checkout 文件名
业务场景:代码写到一半的时候先把代码添加到了暂存区,继续写下面的指针数组和数组指针的区别代码,写完后发现代码有问题,要恢复到一半的时候,用这个命令就能把暂存区的代码覆盖本地的代码,从而实现回退
4.2 将文件从暂存区中删除
git rm --cached 文件名
业务场景:不小心把一些不需要上传到仓库的代码提交到了暂存区,可以用这个命令删除暂存区的文件,本地的文件不会受到影响
4.3 回退到之前的版本
根据commitID 回退到指定版本
git reset --hard co指针式万用表mmitID
将git仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录
commitID: git log 命令可以获取到,commitID 格式:e6cc775bd2a738b0c22e6642794ddfcad2e7619a
通过 HEAD 回退到之前版本
git reset --h指针和引用的区别ard H程序员需要什么学历EAD^
HEAD表示当前指针c语言版本,也就是最新的提交1094adb…,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
恢复回退之前的版本(穿梭至安全教育手抄报未来)
git reflog
记录你的每一次命令,这样可以查看到最近的操作,从而获取到 c指针c语言ommitI指针数学D,然后根据程序员需要什么学历 ID 回退即可
5 把本地库的内容推送到远程
5.1 通过github中仓库中项目的http地址来推送
git push http地址 分支名
git push origin github.com/wangjunjie0… master
第一次提交需要输入github账号密码,后面就不需要了,这是win10 系统帮我记住了密码,不是git的功能。在控制面板-凭据管程序员理器–windows凭据里面可以查看安全期计算器到
5.2 给远程提交增加指针c语言别名
git remote add 别名 远程地址
ggithub打不开it re程序员工资一般多少钱一个月mote add origin github.com/wangjunjie0…
然后就能通过 g安全工程师it push origin 分支名
来提交了
git push origin master
5.3 查看远程仓库地址
git remote -v
5.4 远程仓库地址更改后本程序员那么可爱电视剧免费观看地仓库重新关联
git remote add 别名 远程字体识别地址
注意:此时若之前用 别名 origin 关联过了,现在仍然想用 origin 关联更改地址后指针数学的仓库,需要 <git remote rm 别名> 先删除关联过的别名再进行操字体下载作
5.5 记住远程仓库地址和分支名
git push -u orig程序员那么可爱免费观看in mas字体大小怎么调ter
-u程序员是做什么的 这样写是绑定origin和ma字体设计ster的,下次推送只需要输入git push 就可以了
5.6 强制操作
强制提交
git push origin 分支名 --force
或:git push origin 分支名 -f
或:git push -f
会将远程文件覆盖,谨慎操作!
6 拉取操作字体识别扫一扫
6.1 克隆远程仓库到本指针式万用表地(无本地仓库,相程序员那么可爱电视剧免费观看当于拷贝一份远程安全工程师仓库)
gigithub直播平台永久回家t clone 远程地址
把远程仓库的内容克隆到执行git命令的文件夹,项目名称也就是远程仓库的名称
git clone https://github.com/wangjunjie000/git-demo.git
git clone filename –depth=1
filename:克隆文件的重命名
--depth=1:只下载最后一次的commit(提交),其他历史记录不要
直接克隆远程指定分支
上面的命令默认克隆master主分支
git clone -b <指定分支名> <远程仓库地址>
示例:git clone -b dev-permission https://github.com/wdlhao/vue2-element-touzi-admin
6.2 拉取远程仓库最新版本(本地仓库存在,程序员需要什么学历远程仓库和本地仓库比较)
git pull 远程仓库地址 分支名
git pull origin master
用别名的方式拉取远程代码,前提是给远程仓库添加过别名
git pull
拉取当前分支最新代码
6.程序员工资一般多少钱一个月3 强制拉取
git pull --rebase origin master
会将本地文件覆盖,谨慎操作!
7 将本地库内容推送到远程的完整步骤(远程仓库还未初始化的情况)
-
在本地项目中调出
git Bash here
-
命令行输入
git init
初始化g字体下载it仓库 -
命GitHub令行输入
git add .
(将代码放到仓储暂存区) -
git commit -m '描述信息'
(将代码放到仓储房间) -
git remote add 别名 远程地址
给远程提交增加别名指针万用表怎么读数,一般会写成这样:
git remotgithub永久回家地址e add origin 远程地址
远程地址在gith指针ub中复制。可以新建一个仓库 (注意:只是新建不要初始化这个仓库),然后在界面中复制地址就行了 -
然后就能通过
git push origin master
将代码提交到远github中文官网网页程了或者根据
5.5节
方式记住远程仓库地址和分支名,下次指针数组和数组指针的区别推送只需要输入git push
就可以了
报错处理:
fatal: remote origin already exists.
这是因为之前已经关联过了,删除后再重新关联即可
git remote rm 别名
git remote add 别名 远程地址
8 分支
为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。
8.1 查看远程库信息
git remote
查看远程库的信息(简单信息), 返回远程仓库的名称,默认为 origin
git remote -v
查看远程库的信息(详细信息), 返回下方所示:
origin http://192.168.3.95:10000/root/demo.git (fetch)
origin http://192.168.3.95:10000/root/demo.git (push)
上方显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址
8.2 一般github中文官网网页项目中所需分支
主分支(mastergithub中文官网网页)
第一次向git仓库中提交更新记录时自动产生的一个分支
开发分支(develop)
作为开发的分支,基于master分支创建
功能分支(feature)
作为开发具体功能的分支,基于开发分支创建
8.3 分支命令
git branch
显示所有本地分支
git branch 分支名称
创建分支,当前在哪个分支就基于哪个分支创建分支
重命名分支
git branch -m <当前分支名> <新的分支名>
删除分支
git branch -d 分支名称
删除分支(分支合并后才允许删除) (-D 强制删除)
删除分支时需要切换到其他的分支,如果分支还没有合并 -d不能删除,如有必要可以用 -D 强制删除
git checkout 分支名称(git switch 分支名称)
切换到指定分支
在不同分支创建的文件提交后,切换到其他的分支是查看不到的,注意要提交,放到暂存区的不行。如果不提交或不暂时保存更改就切换,会在其他分支上显示此分支新建的内容
git checkout -b dev(github中文社区git switch -c dev)
创建并切换到dev分支
合并分支字体美化大师:如果当前分支上的工作已经完成,就可以把当前分支上的工作合并到其他分支上去了。如需要把develop分支合并到master,需要在master上操作
git merge 来源分支
合并指定分支到当前分支,默认用 Fast forward(--ff) 模式合并
查看分支合并情况
简略查看
git log --graph --pretty=oneline --abbrev-commit
查看详情
git log --graph
8.4 创指针是什么建 及 切换分支解析
创建分支:Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,表示当前分支在dev上
在分支工作:此时工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变
–ff 模式合并:直接把master指字体向dev的当前提交
删除dev分支:如果是 –ff 模式合并,删除分程序员客栈支后,会丢掉分支github下载信息
8.5 本地分支与远程分支的关系维护篇
git bra程序员怎么学nch -vv
查看本地分支和远程分支的映射关系
上图dev是本地分支,映射的是 origin/dev 远程分支
本地分支不存在dev,远程分支存在dev时的处理:
git branch --set-upstream-to=origin/远程分支名 本地分支名
使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。
git branch --set-upstream-to=origin/dev dev
将本地的dev分支 指向远程的 origin/dev 分支
本地分支存在 dev 远程分支不存在dev时的处理
git push -u origin 新建的远程分支名
git push -u origin dev
9 stash 暂时保存更改
适用于遇到临时的任务,可以在不提交分支任务的情况下切换分支
git stash
存储临时改动到git的剪贴板
git stash save "save message"
执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别
git stash lis指针数组t
查看 临时改动到git的剪贴板
git stash pop
恢复改动,将git剪贴板上所有的改动恢复到分支上
git stash clear
删除所有缓存的stash
剪贴板是独立于分支之外的,所以在其他的安全教育平台登录分支也能执行这个命令,所以字体大全需要注意你当前所在的命令在哪个分支
10 标签管理
10.1 概述
标签其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
那么有commit,为什么还要引入tag呢?tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起,如tag指定为 v1.0.0 比 commitID 一串无意义额数字要好找
10.2 创建标签
在当前分支创建标签
git tag <tagname>
git tag v1.0
默认标签是打在最新提交的commit上的
在指定分支创建标签
git tag <标签名> commitID
git tag v0.9 f52c633
创建带有说明的标签
git tag -a 标签名 -m "说明文字" commitID
git tag -a v0.1 -m "version 0.1 released" 1094adb
用-a指定标签名,-m指定说明文字,省略 commitID 时默认指定当前版本
查看所有标签
git tag
注意:标签不是按时间顺序列出,而是按字母排序的。可以用gi程序员那么可爱免费观看t show 查看标签信息
10.3 操作标签
删除
git tag -d <tagname>
git tag -d v0.1
创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除
推送某个标签到远程
git push origin <tagname>
git push origin v1.0
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
删除远程标签
先从本地删除
git tag -d <tagname>
git tag -d v0.9
再从远程删除
git push origin :refs/tags/ <tagname>
git push origin :refs/tags/v0.9
10.4 真实场景再现
需求:本地只有 dev 分支无 master 分支时向远程 master 分支 push内容并打上标签
创建并切换到master分支
git switch -c master
拉取远程 master
git pull origin master --allow-unrelated-histories
将本地 master 分支映射到 远程 master
git branch --set-upstream-to=origin/master master
将本地commit推送到远程 master
git push -u origin master
创建带有说明的标签
git tag -a <标签名> -m "说明文字"
git tag -a v1.0 -m "xxx说明文字"
推送标签到远程master
git push origin v1.0
11 团队及跨团队协作(github为例)
11.1 团队协作
邀请合作者
-
只有仓库的所安全生产法有者邀请合作者之后,合作者才能github开放私库将代码提交到仓库。github中文官网网页
-
在仓库中点击setting-collaborators,输入密码后,在输入指针数学框中输入被邀请者的github账号, 点击邀请后,上面会出现邀请链接,把这个链接发送给被邀请程序员需要什么学历的程序员,被邀请进入这个链接接收邀请后就能向这个仓库提交代码了
11.2 跨团队指针c语言协作
在其他开发者的githgithub是干什么的ub仓库中点击程序员是做什么的fork,此时会把这个仓库复制到自己的仓库中,字体管家先从自己仓库克隆到本地,然后可以在里面进字体管家行完善修改提交,修改完善完成可以发送给原开发者,如果采纳才能将你的代码合github官网登陆入口并到原作者的仓库。
以程序猿C为例安全生产法的步骤:
-
程序猿C fork仓库
-
程序猿C 将仓库克隆在本地进行修改
-
程github打不开序猿C 将仓库推送到github直播平台永久回家远程
-
程序猿C 发起 pull request
-
原仓库作者安全审github打不开核
-
原仓库作者合并代码
从自己仓库把修改后的代码向原作者发出请求的步骤
- 在自己本地仓库点击 Pull requests
- 点击New pull request
- 点击create pull requestgithub下载 (在这一步可以写一些描述信息来和原作者进行沟字体美化大师通,然后修改信息就会发送给原作者了,原作者可以在自己仓库安全期计算器的Pull reques指针c语言ts 中查看到这条信息,并予以回复)
参考文献:www.li安全aoxuefen指针式万用表g.co指针说漫m/wiki/896043…