本文共 4247 字,大约阅读时间需要 14 分钟。
目录:
文章目录
1.git的认识
为什么需要我们使用git呢?
我们时常修改文件,每次修改完后还需要再次保存,而且之前的版本已经没了,我们也不能退回去,而且我们也记不得了我们修改的内容是什么了,因此git的出现就是追踪文件,每次修改他都会记录,但是无法知道修改的内容,git版本分布式控制系统,还可以退回之前的版本。
git还可以用于多人协作,当我们工作了,共同完成某个项目时,每次修改,git会做记录,别人也能知晓修改了什么。
2.git的安装
提取码:1pdr
进入git bash输入指令:
git config --global user.name"your name"git config --global user.email"email@example.com"
–global表示这个机器上的所有版本库,都会使用到这个配置,当然可以指定某个仓库使用不同的用户名和email地址。
3. git初始化,基本使用流程
创建一个文件夹,可以手动创建,也可以指令创建,这里讲述指令创建
进入git bash,输入指令:
mkdir learngit #创建目录learngitcd learngit #进入目录pwd #表示显示当前目录git init #初始化,也就是将这个文件夹变成可以管理的仓库,
返回内容:
Initialized empty Git repository in /Users/michael/learngit/.git/
说明:这里发现多了一个.git目录,但是进电脑一看,发现没有这个目录,其实是被隐藏 用 ls -ah 就显示出隐藏的文件。>
当然你也可以通过勾选如图,隐藏目录就显示出来了。
vim firstgit.txt
vim是个linux系统中常用的编辑器,也有相应的语法规则。自行百度。
这里vim firstgit.txt意思是创建一个firstgit.txt文件.
进入之后, 点键盘上的字母 i,就进入了vim的插入模式,也就是可以编辑了。随意写一些话进去,如 “我好帅”,之后,按一下esc,再按快速按两次shift键,第二次按的时候不要松shift,同时按 : 这样就进入了vim的末行模式,输入wq 意思是保存退出vim。
git add firstgit.txt #将firstgit文件添加到git仓库(就是之前被隐藏了的那个)
git commit -m "提交"
将firstgit.txt添加到git仓库之后,并不是真正的添加了,需要提交。
使用git commit -m “说明性语言” 这里说明性语言最好是说明 你对这即将提交的文件干了什么。
这里的 -m参数是指 后面可以跟一些说明 也就是引号内的内容。
以上就是一个简单的流程。
1.创建文件夹,再初始化文件夹,使之成为可以被git管理的仓库 2.创建文件,在文件里编写内容 3.添加文件到git仓库,4.提交 添加的那个文件。
这里添加文件是添加到本地的git仓库,这样做意义并不是很大,有意义的地方在于提交到git版本库,他就可以帮我们管理文件,比如:文件修改了很多次,但我们又后悔了,他就可以退回以前那个没修改过的版本。
4 版本回退:
步骤:
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。- 穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 - 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。(主要是查看版本号,以便重回某个版本)
5.工作区与暂存区理解:
工作区就是我们电脑的创建的目录。如上方:learngit
暂存区概念:
工作区learngit里面有一个隐藏的目录叫.git 这是通过git init 初始化得到的git的版本库。
git版本库里面有很多东西,最重要的是stage暂存区,还有git为我们自动创建的第一个分支master,以及指向master的指针HEAD
我们添加文件到版本库里面的实际过程:
首先我们通过git add firstgit.txt 将learngit内的firstgit文档放到了git版本库内的暂存区–stage,之后我们再通过git commit 将暂存区内的修改后的文件一次性提交到 master分支。
(注意每次文件进行修改后,就需要git add 添加到暂存区,才能提交,不能修改后就直接提交。)
6.撤销修改:
我们最近在firstgit.txt里修改了内容,但是我们还没提交,我们使用
git status 查看工作区状态,然后出现git checkout – ,通过这个我们可以撤销最近的修改。
小节:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考一节,不过前提是没有推送到远程库。
7.删除git版本库内的文件(也就是已经提交了的文件)
1.rm
2.git status 查看工作区状态,告诉你版本库里需要删除的文件
3.git rm
4.git commit -m “删除了file”
rm只是删除了工作区里的文件,版本库内并没删除,因此需要git status
查看版本库里要删除的文件。
8.链接远程仓库github方法:
出现问题:
解决办法:
传送门
克隆github远程库方法:
git clone git@github.com:michaelliao/gitskills.git
michaelliao 是自己的github账户名
9.连接远程仓库coding:
本总结参考:
1.初始化本地仓库
创建文件,并初始化
mkdir firstcoding #创建目录
cd firstcoding #进入到该目录
git init #初始化
2.生成密钥ssh
在git bash里输入:
ssh-keygen -t rsa -C “username@example.com”
注:username是填写coding注册时候的账户名,此处填写的邮箱是注册coding时绑定的邮箱,第一个易错点,引号要使用汉语的引号,非英文"")
之后会在电脑生成.ssh 这个文件,里面有两个文件,两个id_rsa,第一个是私人密钥,不要泄露,第二个是公共密钥,打开第二个文件,
2.进入coding,到设置里面添加ssh密钥。
进入创建ssh界面,里面名称随便填,后面就是将你id_rsa里的内容黏贴进去。
3.在coding里面创建一个项目,名称就先叫做firstgit。
4.输入指令
git clone url
这个url指的是
之后弹出一个框框,
输入创建coding时使用的邮箱,
输入密码
5.之后本地就会出现一个firstgit文件夹了,也就是成功从coding远程仓库克隆了下来。
6.之后创建一个文件,在里面随意输入东西。
vim使用参考本篇博客目录:git初始化以及基本使用过程
vim firstcoding.txt #创建firstcoding.txt文件
7.git status #查看当前工作目录状态,出现firstxoding.txt这个文件没有提交
8.添加文件,并提交
git add firstcoding.txt
git commit -m “第一次链接远程仓库”
8.将当前分支推送至远程仓库
git push origin master
9.1推送项目到远程仓库
参考:https://blog.csdn.net/u013778905/article/details/84067862
或者:https://blog.csdn.net/chenzhijie101/article/details/7951233610.分支管理
git提交内部过程,首先是git add 将这个file添加到暂存区,之后统一用git commit 将暂存区的内容提交到当前所在的版本库的一个分支。
由于每次修改文件都在主分支master上的话,会有一定的风险,因此git鼓励我们多使用分支。我们对文件的修改尽量再分支上进行,然后将分支上的内容合并到主分支上。
小结:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支本地:git branch -d <name>
11.常用指令:
git status 告诉当前工作区的状态
git diff 告诉修改的内容
git log 查看历史修改纪录
git reset – hard HEAD^ #HEAD表示退回上一个版本,HEAD^退回上两个版本。 当然可以用HEAD~10 这样表示退回之前10个版本
git reset – hard <版本号,(没必要全写完,前几位即可)> 表示指定去某个版本
cat <文件名> 查看内容
git checkout – firstgit.txt 撤销对这文件上一步的修改
git checkout 切出分支出来开发 git add 将文件加入库跟踪区 git commit 将库跟踪区改变的代码提交到本地代码库中 git push 将本地仓库中的代码提交到远程仓库git 分支
主分支
master分支:存放随时可供生产环境中的部署的代码 develop分支:存放当前最新开发成果的分支,当代码足够稳定时可以合并到master分支上去。 辅助分支 feature分支:开发新功能使用,最终合并到develop分支或抛弃掉 release分支:做小的缺陷修正、准备发布版本所需的各项说明信息 hotfix分支:代码的紧急修复工作11.廖雪峰git教程
转载地址:https://blog.csdn.net/weixin_43919632/article/details/90233911 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!