ubantu下最强最全Git入门
来源:互联网 发布:linux 调用中文输入法 编辑:程序博客网 时间:2024/05/21 04:00
为什么我们要学会git
git的作用,我们在写代码的时候会经常遇到这样的问题,每次写完代码我们都要进行备份,以防出现代码丢失或者在改代码的时候不知道自己改了哪里而导致编译出错,其次当我们在做群体项目的时候我们经常会和别人定义的文件重名,导致数据没法上传,所以我们还可以将数据传上远程服务端,让那些托管代码的网站帮我们进行管理,这样我们在做项目的时候一定会事半功倍,我讲只是git功能的冰上一角而已,更多有趣的功能等你去发现。
下面讲解git是怎么管理我们的代码的:
1.管理历史记录的数据库
数据库:是用来记录文件和目录状态的地方,存储着内容修改的历史记录,在数据库的管理下,把文件和目录西欧高的历史记录放在对应的目录下
2.数据库有两种,一种是远程数据库和本地数据库
本地数据库:为了方便用户个人使用,在自己的机器上配置的数据库,平常用手头上的及其在本地数据库上操作就可以了。如果想要公开在本地数据库修改的内容,可把内容上传到远程数据库就可以了,另外我们也可以通过远程数据库获取到别人修改的内容
3.创建数据库有两种方法:一种是创建全新的数据库,另外一种是复制远程数据库
若要把文件或者目录的添加和变更保存到数据库,就需要进行提交,执行提交之后,数据库中会生成上次提交的状态和当前状态的差异记录(称为revision)提交是以时间顺序排列状态被保存到数据库中的。凭借该提交和最新的文件状态,就可以知道过去的修改记录以及内容。系统会根据修改的内容计算出没有重复的40位英文及数字来给提交命名。指定这个命名,就可以在数据库中找到对应的提交。执行提交时,系统会要求输入提交信息。请务必输入提交信息,因为在空白的状态下提交会失败
提交的信息尽量按照下面格式 “提交修改内容的摘要”
最后就是工作树和索引了
在Git管理下,大家实际操作的目录被称为工作树。在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。
工作树 索引 数据库
master index(git add) git commit
git在执行提交的时候,并不是直接将工作树的状态保存到数据库,而是将设置中间索引区域的状态保存到数据库,因此要提交文件,首先要把文件加入到索引区域中。所以,凭借中间的索引,可以避免工作树中不必要的文件提交,还可以将文件修改内容的一部分加入索引区域并提交。
git的基本工作过程已经讲解完了,接下来我将会在ubantu下操作上面的整个过程
====================================================================================================================================
====================================================================================================================================
1.git配置
设置你的名字和email 这些你数据库的基本信息,每次提交都有这些信息用法是使用git config命令进行配置
gitconfig
git config --global user.name"xxx"
git config --global user。email"qq邮箱"
可以在UBANTU shell终端哪里ls -a查看所有文件
用vim .gitconfig查看是否配置成功
2.建立一个git数据库
远程数据库:
最好每次在下载的时候先用指令git pull 更新一下数据,因为有可能你的同事上传了新的代码,你不更新就只会下载原来的代码此时你就可以用 git clone 码云上自己项目的http复制下来
本地数据库:
然后初始化一个仓库
mkdir 名字
cd 名字
git init
Initialized empty Git repository 就弹出一句话说初始化了一个空的git数据库,可以用ls -a查看是否多了一个git的init目录若多了,此时说明你创建成功
3.接下来就是正常的工作流程
git的基本流程如下:
1.创建或修改文件
创建你的文件.C .h 等等
此时你用git status查看你git仓库里的内容显示的是untracked file(是一个没有路径的文件)
2.添加新创建或修改的文件到索引(Index)
用git add 文件名就可以添加到索引index
此时你用git status查看状态会显示changes to be commited 让你传到本地代码库
3提交到本地的代码库
用git commit 命令,用-m “ ”里面 提交修改内容的摘要 ,然后加要提交的文件,一定要填-m“”里面的描述,可作为你
搜索旧目录的依据
4.寻找旧的回到就得数据
git reset --hard HEAD
只有都没提交的时候才可以用git checkout来恢复
已经提交了用这个指令
git reset --hard 可以加 commit的号码来直接回到要到的历史记录
5.将本地代码区库上传到你托管的网站(码云)
用命令 git push 文件名放到你要托管的网址
这样就基本可以了
====================================================================================================================================
我们经常都是分开写代码的,所以我们可能有的程序员没有写完代码,难道我们要等他写完才把我们自己写的代码放上去吗,当然不是我们可以开一个分支
分支
1.git branch 加名字(创建一个分支把这个分支要实现的功能放上去)
可以用git branch直接查看当前分支,若不加branch,只有master主线,而且我们默认是在master哪里写的(里面有个*符号)代表当前是在那条分支
比如说分支名字叫aa,master里面有三个文件名字1 2 3,里面都写有test
当到了aa分支的时候还是有test里面的内容 ,如果你提交到本地代码库时git commit,当时你在aa分支里面改变了内容之后回到master,master会没有你在aa里面你修改文件里面的内容,所以你要学会合并
合并:
合并的话需要命令
git merge
1.合并要回到master里合并
git merge -m 'merge aa branch' experimental z在这里-m都是代表填写合并的注释信息
====================================================================================================================================
git的作用,我们在写代码的时候会经常遇到这样的问题,每次写完代码我们都要进行备份,以防出现代码丢失或者在改代码的时候不知道自己改了哪里而导致编译出错,其次当我们在做群体项目的时候我们经常会和别人定义的文件重名,导致数据没法上传,所以我们还可以将数据传上远程服务端,让那些托管代码的网站帮我们进行管理,这样我们在做项目的时候一定会事半功倍,我讲只是git功能的冰上一角而已,更多有趣的功能等你去发现。
下面讲解git是怎么管理我们的代码的:
1.管理历史记录的数据库
数据库:是用来记录文件和目录状态的地方,存储着内容修改的历史记录,在数据库的管理下,把文件和目录西欧高的历史记录放在对应的目录下
2.数据库有两种,一种是远程数据库和本地数据库
远程数据库:配有专用的服务器,为了多人共享而建立的数据库(可以是一些托管代码的网站,给大家推荐一个叫码云)
本地数据库:为了方便用户个人使用,在自己的机器上配置的数据库,平常用手头上的及其在本地数据库上操作就可以了。如果想要公开在本地数据库修改的内容,可把内容上传到远程数据库就可以了,另外我们也可以通过远程数据库获取到别人修改的内容
3.创建数据库有两种方法:一种是创建全新的数据库,另外一种是复制远程数据库
若要把文件或者目录的添加和变更保存到数据库,就需要进行提交,执行提交之后,数据库中会生成上次提交的状态和当前状态的差异记录(称为revision)提交是以时间顺序排列状态被保存到数据库中的。凭借该提交和最新的文件状态,就可以知道过去的修改记录以及内容。系统会根据修改的内容计算出没有重复的40位英文及数字来给提交命名。指定这个命名,就可以在数据库中找到对应的提交。执行提交时,系统会要求输入提交信息。请务必输入提交信息,因为在空白的状态下提交会失败
提交的信息尽量按照下面格式 “提交修改内容的摘要”
最后就是工作树和索引了
在Git管理下,大家实际操作的目录被称为工作树。在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。
工作树 索引 数据库
master index(git add) git commit
git在执行提交的时候,并不是直接将工作树的状态保存到数据库,而是将设置中间索引区域的状态保存到数据库,因此要提交文件,首先要把文件加入到索引区域中。所以,凭借中间的索引,可以避免工作树中不必要的文件提交,还可以将文件修改内容的一部分加入索引区域并提交。
git的基本工作过程已经讲解完了,接下来我将会在ubantu下操作上面的整个过程
====================================================================================================================================
====================================================================================================================================
1.git配置
设置你的名字和email 这些你数据库的基本信息,每次提交都有这些信息用法是使用git config命令进行配置
gitconfig
git config --global user.name"xxx"
git config --global user。email"qq邮箱"
可以在UBANTU shell终端哪里ls -a查看所有文件
用vim .gitconfig查看是否配置成功
2.建立一个git数据库
远程数据库:
最好每次在下载的时候先用指令git pull 更新一下数据,因为有可能你的同事上传了新的代码,你不更新就只会下载原来的代码此时你就可以用 git clone 码云上自己项目的http复制下来
本地数据库:
然后初始化一个仓库
mkdir 名字
cd 名字
git init
Initialized empty Git repository 就弹出一句话说初始化了一个空的git数据库,可以用ls -a查看是否多了一个git的init目录若多了,此时说明你创建成功
3.接下来就是正常的工作流程
git的基本流程如下:
1.创建或修改文件
创建你的文件.C .h 等等
此时你用git status查看你git仓库里的内容显示的是untracked file(是一个没有路径的文件)
2.添加新创建或修改的文件到索引(Index)
用git add 文件名就可以添加到索引index
此时你用git status查看状态会显示changes to be commited 让你传到本地代码库
3提交到本地的代码库
用git commit 命令,用-m “ ”里面 提交修改内容的摘要 ,然后加要提交的文件,一定要填-m“”里面的描述,可作为你
搜索旧目录的依据
4.寻找旧的回到就得数据
git reset --hard HEAD
只有都没提交的时候才可以用git checkout来恢复
已经提交了用这个指令
git reset --hard 可以加 commit的号码来直接回到要到的历史记录
5.将本地代码区库上传到你托管的网站(码云)
用命令 git push 文件名放到你要托管的网址
这样就基本可以了
====================================================================================================================================
我们经常都是分开写代码的,所以我们可能有的程序员没有写完代码,难道我们要等他写完才把我们自己写的代码放上去吗,当然不是我们可以开一个分支
分支
1.git branch 加名字(创建一个分支把这个分支要实现的功能放上去)
可以用git branch直接查看当前分支,若不加branch,只有master主线,而且我们默认是在master哪里写的(里面有个*符号)代表当前是在那条分支
2.改变位置,从主线转换到分支
比如说分支名字叫aa,master里面有三个文件名字1 2 3,里面都写有test
当到了aa分支的时候还是有test里面的内容 ,如果你提交到本地代码库时git commit,当时你在aa分支里面改变了内容之后回到master,master会没有你在aa里面你修改文件里面的内容,所以你要学会合并
合并:
合并的话需要命令
git merge
1.合并要回到master里合并
git merge -m 'merge aa branch' experimental z在这里-m都是代表填写合并的注释信息
====================================================================================================================================
0 0
- ubantu下最强最全Git入门
- ubantu下安装hadoop+hive全解
- ubantu下安装hadoop+hive全解
- 最强最全的Tree命令详解
- 最全最强SpringMVC详细示例实战
- git最全操作手册
- 最全git教程
- 最全git命令
- 最全,最强的软件测试资料汇总
- [原创]最强最全的Tree命令详解!
- 最全Android 视频教程 文档 资料 绝对最强
- .NET FTP操作最全,最强的封装模块类
- PADS2007无模命令与快捷键—最全,最强!!!
- 最强express 讲解--官网例子最全
- 最全最强SpringMVC详细示例实战教程
- 【iOS】最全最强的Xcode快捷键指南
- 找电影最强攻略,最全资源站
- 最全最强SpringMVC详细示例实战教程
- js input框 输入数字校验
- [LeetCode] 137. Single Number II
- Androidstudio项目分享到Git@OSC托管的两种方式
- Android ListView封装(代码优化):抽取方法共性,封装 BaseAdapter 和 ViewHolder
- 初涉Rx套餐 之RxBinding(让你的事件流程更清晰)
- ubantu下最强最全Git入门
- 按成绩蛇形分班算法
- 5.单件模式(Singleton Pattern)
- 剑指Offer:二叉搜索树的后序遍历序列
- Codeforces Round #239 (Div. 2) C Triangle(暴力)
- java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题解决
- LeetCode - Longest Substring Without Repeating Characters
- iptables中ULOG和NFLOG实现分析
- 一台电脑同时运行多个tomcat