git基础(持续更新)
1.创建github远程仓库登录github官网,登录成功后点击小头像选择Your repositories进入远程仓库界面,可以看到自己放在github的所有项目。如需创建新项目,点击右上角的绿色按钮New进入创建界面3.创建界面如下,后面三个选项可以先不选。其中:选项1是否添加详细的项目说明文件选项2在模板列表中选择不跟踪的文件,意思就是说项目上传至github时 需要忽略上传的文件(如果此时
1.创建github远程仓库
-
- 登录github官网,登录成功后点击小头像选择Your repositories
-
- 进入远程仓库界面,可以看到自己放在github的所有项目。如需创建新项目,点击右上角的绿色按钮New进入创建界面
- 3.创建界面如下,后面三个选项可以先不选。其中:
选项1是否添加详细的项目说明文件
选项2在模板列表中选择不跟踪的文件,意思就是说项目上传至github时 需要忽略上传的文件(如果此时没有选择,后期又需要使用时可以在项目根目录 .gitignore文件(另外两个操作相同)
选项3添加项目许可证 告诉他人使用您的代码可以做什么和不可以做什么
2.上传代码至github
- 1.当点击创建仓库后会跳转如图中的页面
- 2.在项目当前目录打开命令行工具
如果第一次创建则依次输入下面的代码
此时代码就上传至远程仓库了git init //初始化仓库 git add. //将未提交的文件提交至暂缓区 git commit -m "初始化仓库" //将分支提交到仓库中 git commit -m "提交分支" -m代表提交消息 git remote add origin 仓库地址.git // 关联远程仓库 git git push -u origin master //上传至远程仓库
3. git 常用指令
0.本章节后续的章节 都是对这章节的详细说明
1.git init 初始化
git init 初始化仓库
2. git add 添加至暂缓区
git add . //将所有内容添加至暂缓区
git add xxx.md //添加指定文件至暂缓区
3. git status 查看状态
git status //查看本地项目当前改动过代码的所有文件
4. git log 查看历史提交记录
//注意 进入git log 模式时 可以通过键盘按键Q退出该模式
git log //查看项目历史提交记录
git log --author= '提交者的名字' //查看指定人员的提交记录
5. git commit 提交到本地仓库
git commit -m '初始化完成' // git commit 主要是将暂存区里的改动给提交到本地的版本库。 -m 表示提交说明
git commit --amend //追加提交,如果我们不小心提交了一版我们不满意的代码,并且给它推送到服务器了,在代码没被merge之前我们希望再修改一版满意的。它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中。
6. git rm 删除文件
/**
删除文件有两种方式
1.手动删除 手动删除文件后需要 git add . 更新最新的状态
2. 命令行删除
通过
git rm 需要删除的文件名 (可以多个 用空格 隔开)
*/
7. git mv 重命名|移动
1.git mv 需要重命名的文件 重命名之后的文件名称
例:
git mv demo.html index.html //将文件名为demo的html文件 改名为index
2. git mv 需要移动的文件 移动到哪个文件夹下
例:
git mv demo.html index //将文件名为demo的html文件 移动到index文件夹下
8. git branch 查看、创建、删除分支
1.查看本地所有分支
通过 git branch 指令可以查看当前所有分支
2.创建分支 git branch 创建的分支名
例:
git branch index //创建项目index分支
3.删除分支 git branch -d 要删除的分支名 注意:不能删除当前所在的分支
例:
git branch -d index //删除index分支
//注意: 如果你的分支已经提交过代码,执行 git branch -d 命令则无法删除
//此时我们需要使用 git branch -D 需要删除的分支名 进行删除 例:
git branch -D index
9. git checkout 切换分支
例:
git checkout index //切换到index分支
10. git merge 合并分支
例:当前处于marter分支中,需要合并index分支里的代码
git merge index
11. git push 推送到远程仓库
1.// git push 的作用是将本地代码推送至远程仓库
格式为:git push <远程主机名> <本地分支名>:<远程分支名>
//当本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
举例:
git push origin master //将本地代码推送至master分支
2. 删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master
查看文件的前后变化
-
git log --pretty=oneline 文件路径 //该文件commit 内容的历史记录
例:
git log --pretty=oneline pages/index/index.vue
//获取到该文件commit 内容的历史记录 包括commitID 以及commit到的分支
注意:git log 后 如果要退出 按下键盘Q即可 -
如果需要查看详细内容 包括修改了那些内容等等,则需要使用:
git show commit的id //查看文件提交详情 //例如 git show 69ab1138fa022bb21fd4563c948aa3a3c5358c12
一键还原某文件
当对一个文件误操作但是并没有提交代码的时候可以使用这些方法
1.当代码改动较少时,可以使用 git diff (不推荐)
git diff
2. git checkout – 要还原的文件该方法还有一个前提 就是没有被 git add . 也就是说没被添加到暂存区才可以执行成功或者说没被追踪
例:
git checkout -- pages/index/index.vue //注意:路径必须从根路径开始
撤销文件的追踪
前一章说到还原某文件的 git checkout – 指令的前提时没有被提交,但是如果已经执行了 git add . 时 我们可以暂时撤销对该文件的追踪
//git reset HEAD 撤销追踪的文件路径
git reset HEAD pages/index/index.vue //撤销对index.vue文件的追踪
撤销对文件的追踪后,git checkout – 文件路径 即可还原路径
回到指定的版本
注意 一次git commit 提交就是一个版本。当我们这次版本出现错误时,可以通过以下几种指令回退到之前的版本。
//1. 当版本数少时
git reset --herd ^ //一个 ^ 就是一个版本
// 2.当版本数多时
git reset --herd commitId //commitId 可以通过git log 获取
单文件回退到指定版本
当我们想要某一文件回退到指定版本时,我们可以使用
git checkout 需要回退的commitID -- 需要回退的文件
//注意: 1.commitID 可以通过git log 获取
2.回退的文件路径是绝对路径
将本地代码推送至远程仓库
1.// git push 的作用是将本地代码推送至远程仓库
//格式为:git push <远程主机名> <本地分支名>:<远程分支名>
//当本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
举例:
git push origin master //将本地代码推送至master分支
// 2. 删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master
给每个版本创建标签
git tag可以给每个版本创建一个标签,标签和分支有点类似。不同的是tag的位置是固定的,在给指定提交打好标签以后,它就固定于此位置。分支的位置会不断变动的,随着分支的向前推移或者向后回滚,都在不断变化。
- 给最新的版本添加标签
//格式: git tag 标签名 例:
git tag v1.0
2. 给任意版本添加标签
// 格式: git tag 标签名 commitId(版本ID 通过git log 获取) 例:
git tag v0.1
3.删除标签
// 格式: git tag -d 需要删除的标签名 例:
git tag -d v1.0
- 将版本标签推送到远程仓库
// 格式: git push origin 需要推送的标签名 例:
git push origin v1.0
此时登录github
创建、切换、删除、查看分支
- 1.创建分支
//方法1 git branch 创建的分支名 例:
git branch index //创建一个名为index的分支
//方法2 git checkout -b 创建的分支名 例:
git checkout -b index //创建一个名为index的分支
- 2.切换分支
//格式 git checkout 需要切换的分支名 例:
git checkout master //切换到名为master的分支
- 3.删除分支
//格式: git branch -d 需要删除的分支名 注意:不能删除当前分支 例:
git branch -d index //删除名字为index的分支
//注意: 如果你的分支已经提交过代码,执行 git branch -d 命令则无法删除
//此时我们需要使用 git branch -D 需要删除的分支名 进行删除 例:
git branch -D index
- 4.查看所有分支
通过 git branch 指令可以查看所有分支
合并分支
// 格式 git merge 需要合并的分支名
//例:当前处于marter分支中,需要合并index分支里的代码
git merge index //将index的代码合并到marter分支中,index分支的代码不会有任何改变
解决合并分支时的冲突
git多人协作开发时,难免会对相同文件进行操作,此时合并就产生了冲突。例如我们在index分支对demo.vue进行了操作,之后合并到主分支master中。又在dev分支对demo.vue进行了操作,再合并到主分支master的时候就会报错。VScode中会显示
解决合并分支时的冲突只需点击上面的功能进行操作即可。也可以使用命令行进行操作如:
/**
方法1:采取当前master分支的修改,忽略其他分支的代码 (对应采用当前更改)
*/
git merge -abort //采用当前分支的更改
/**
方法2:手动修改。将上图中所有的合并符号删除,与协作人员沟通留下哪些代码,之后输入
*/
git add . //1.将当前内容添加到暂缓区,之后输入
git commit //2.此时进入一个可编辑状态,可以编辑当前标识符 我一般写解决了什么文件的冲突,之后输入 :wq退出编辑状态,之后再次提交即可
git commit -m "版本描述" //3
删除远程仓库中的分支
注意:删除前最好考虑下 分支的代码是否合并到主分支了。
//格式 :git push origin --delete 要删除的分支名
//例:
git push origin --delete demo //删除远程仓库中的demo分支
代码的更新(拉取)
在git多人协作开发时,难免要拉取远程仓库中同伴的最新代码。以下有两种方式:
/**
方法1: git pull //将远程仓库中的代码更新到本地仓库并合并.
方法2: git fetch //将远程仓库中的代码更新到本地仓库 需通过git merge origin/master手动合并.
//个人推荐使用方法2
*/
扩展插件
1.Octotree 可以像文档一样 操作GitHub
2.enhanced github 可以查看github 单文件的大小 可以下载单文件
3.gitzip for github 可以下载GitHub某一个文件夹 双击空白区域
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)