| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> git学习 -> 正文阅读 |
|
[开发工具]git学习 |
Git学习学习网址:https://www.liaoxuefeng.com/ 创建仓库现在总结一下今天学的两点内容: 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步: 使用命令git add ,注意,可反复多次使用,添加多个文件; 基本操作git status告诉你有文件被修改过, 穿梭版本操作HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 工作区和暂存区工作区(Working Directory) 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。 因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。 你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。 别激动,我们回顾一下操作过程: 第一次修改 -> git add -> 第二次修改 -> git commit 你看,我们前面讲了,Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。 第一次修改 -> git add -> 第二次修改 -> git add -> git commit 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 删除文件现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit: 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: $ git checkout – test.txt 远程仓库git remote add origin https://github.com/shenzhu2001/learngit.git $ git push origin main $ git remote -v $ git remote rm origin 小结 关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名; 关联后,使用命令git push -u origin master第一次推送master分支的所有内容; 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改; 分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了! 克隆远程库现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库: $ git clone git@github.com:michaelliao/gitskills.git 分支管理了解一下,以后需要了再加强学习 标签管理Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。 Git有commit,为什么还要引入tag? “请把上周一的那个版本打包发布,commit号是6a5819e…” “一串乱七八糟的数字不好找!” 如果换一个办法: “请把上周一的那个版本打包发布,版本号是v1.2” “好的,按照tag v1.2查找commit就行!” 所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。 $ git tag v1.0 方法是找到历史提交的commit id,然后打上就可以了: $ git log --pretty=oneline --abbrev-commit $ git tag -d v0.1 如果要推送某个标签到远程,使用命令git push origin : $ git push origin v1.0 $ git push origin --tags 命令git push origin --tags可以推送全部未推送过的本地标签; 命令git tag -d 可以删除一个本地标签; 命令git push origin :refs/tags/可以删除一个远程标签。 忽略特殊文件有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files …,有强迫症的童鞋心里肯定不爽。 好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore 忽略文件的原则是: 忽略操作系统自动生成的文件,比如缩略图等; 配置别名如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。 我们只需要敲一行命令,告诉Git,以后st就表示status: $ git config --global alias.st status 最后Git有很多图形界面工具,这里我们推荐SourceTree |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 0:34:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |