git教程
git的工作原理:

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
安装完git后,找一个文件夹,右键打开git bash,先设置本机的用户名和电子邮箱
git config --global user.name "hyl"
git config --global user.email "xxx@gmail.com"
配置好之后可以使用以下命令查看配置
git config -l
创建仓库命令
在某个文件夹中打开git bash,输入以下命令就可以使该文件夹变成git可以管理的仓库
git init
这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:

这是git中没有任何文件,是一个空仓库,并没有分支,我们必须先创建一个文件并且add和commit之后,git才会产生默认分支,否则会报错
第一步
在新创建的git仓库中创建一个文件readme.txt,内容为:111111
用以下命令将此文件放入git暂存区
git add readme.txt
另外
git add .
是add当前文件夹的所有文件
第二步
用以下命令将此文件提交至仓库,单引号中的内容是本次提交的注释
git commit -m 'readme.txt的第一次提交'
提交文件后,可以用以下命令查看还有没有文件未提交
git status
当我们修改了readme.txt文件,将其内容改为:111111222222
此时再使用git status查看是否有未提交的文件,发现有一个文件
如果我们希望看到文件的那些内容被修改了,可以使用以下命令
git diff readme.txt
如果我们确认了此修改,就可以再次使用git add readme.txt和git commit -m 'readme.txt的第二次提交'
二、版本回退
我们可以再次修改readme.txt文件,将其内容改为111111222222333333,然后使用添加和提交操作。
现在我们已经对readme.txt文件进行了三次提交操作,可以通过以下命令查询历史记录
git log
也可以使用以下命令显示精简后的历史记录
git log --pretty=oneline
现在我们希望退回上一个版本,有两种方法可供使用,第一种是:
git reset --hard HEAD^
如果想退回上上一个版本只需把HEAD^ 改成 HEAD^^ 以此类推,但是如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用以下写法git reset --hard HEAD~100
第二种方法是通过版本号进行版本回退:
git reset --hard 版本号
可利用
git log --pretty=oneline查询当前版本之前的版本号,或者利用git reflog查询所有版本号
三、理解工作区与暂存区的区别?
四、Git撤销修改
我对一个或多个文件做了修改,然后我不想改了,想恢复原样,则有以下三种方法:
第一种:我知道各个文件哪些地方做了修改,然后我手动该回去
第二种:使用git reset --hard HEAD^命令恢复到上一个版本
第三种:使用git checkout .把当前文件夹下所有文件在工作区做的修改全部撤销???
五、远程仓库(两种场景)
第一种:
刚进公司,负责人会给你一个git仓库地址,你只需要用
git clone git仓库地址
拉取代码即可,注意不需要为此新创建文件夹,拉下来的代码本身就在一个以仓库名为名称的文件夹中
一般情况下,公司不会让你直接把代码上传至仓库的master分支,负责人会给你一个分支名称,比如是develop分支,那么将来你写的代码就要上传至仓库的develop分支
我们现在本地创建一个develop分支,并切换至这个develop分支进行操作,有两种方式可供选择:
- 第一种:
git branch develop和git checkout develop - 第二种:
git checkout -b develop
然后切记创建develop之前,要先在master下提交一个README.txt文件,然后在develop分支下,使用以下命令将本地的develop分支的代码提交至和云端仓库的develop分支,并且将两个分支绑定
git push -u origin develop
在第一次push之后,以后直接用git push即可
第二种:
自己在本地写完代码后,想上传到一个空的云端仓库中(注意云端仓库必须有README.txt之类的文件,否则无法产生master分支)
现在本地用git init创建本地git仓库
创建README.txt,依次使用git add .和git commit -m "初始化提交"对仓库进行初始化操作
使用命令git remote add origin 云端git仓库地址设置本地git仓库关联的云端git仓库
这时候如果使用git push -u origin master是会报错的如下图

为了解决之一问题,需要使用强制push命令git push -f origin master,此命令会强行将云端仓库的内容与本地保持一致。
这里提示一下,origin不是命令的关键字,remote是命令的关键字,origin只是本地仓库的一个remote,一个仓库可以有多个remote,可以为origin,myorigin,test等,没有限制,但remote不能重名
branch相关命令
remote相关命令
idea集成git
在idea中找一个java项目,打开设置

用idea完成git初始化操作,这就相当于git init命令,此时项目的所有文件将变为红色,红色代表:未add的文件

选中文件或文件夹,单击右键

已经add后的文件将会变为绿色,绿色代表:未commit的文件
选中文件或文件夹,单击右键,提交后文件将变为白色,白色:已经commit的文件


选中文件或文件夹,单击右键,

输入云端仓库的地址

第一次提交需要用强制提交命令,打开terminal,输入git push -f origin master


浙公网安备 33010602011771号