工作区和版本库的示意图
1、创建用户
查看所创建的用户
git config --global --list
建立在C盘,是一个全局用户(个人电脑建议创建这个用户,以后联系就不需要在创建用户了)
git config --global user.name "aynu"
git config --global user.email "aynu@123"
建立在本盘,是一个局部用户
git config user.name "Java"
git config user.email "Java@123"
2、文件操作
echo "内容" > hello.log //创建一个hello.log的文件
echo "内容" >> hello.log //向hello.log文件追加信息
vim hello.log //修改hello.log内容 {“i”插入信息指令,“Esc+:+wq”退出并且保存,详细指令见 linux}
git status //查看文件的状态,不需要指定文件名字
git checkout -- hello.log //撤销操作
echo "hello.log" > .gitignore //不想让git管理hello.log文件,把它放在隐藏文件中,并且提交隐藏文件。
重要:
git add hello.log //提交到暂存区
git add . //把所有文件提交到暂存区
git commit -m "日志" hello.log //提交到分支区
3、对分支区和暂存区操作
<!-- 3.1查看区别 -->
git diff //查看工作区和暂存区的文件内容区别
git diff --cached //查看暂存区和分支区的文件内容区别
git ls-files //查看工作区和暂存区的文件区别
git ls-files --with-tree=HRAN //查看暂存区和分支区的文件区别
<!--3.2查看的版本信息,下面命令显示的版本信息一个比一个简短-->
git log //查看提交的版本,显示的版本是当前版本(下面有命令可以回滚版本)
git log --pretty=oneline //查看提交的版本,信息显示方式为一行
git log --pretty=oneline --abbrev-commit //查看提交的版本,信息简短
git reflog //查看版本(范围比log大)信息,显示的版本是所有的版本(包括回滚的版本)
<!--3.3恢复版本操作命令-->
git reset HEAD //让暂存区恢复到以前
git reset --soft "指定版本写ID" //回退到指定的版本,只回退分支区
gir reset --mixed "指定版本" //分支区和暂存区回退,工作区不回退
gir reset --hard "指定版本" //三个区都回退
git push -f "强制推送" //用本地的内容覆盖掉远端的内容,可以理解为:本地分支回退,当远端分支未回退,可以使用此命令覆盖掉远端内容。
<!--3.4删除操作 -->
git rm --cached hello.log //删除暂存区
git rm hello.log //删除工作区和暂存区
git -rf hello.log //删除目录或者文件(工作区)
4、创建分支区
git branch <branch> //创建新的分支区
git branch //查看所有分支区
git checkout <branch> //切换到指定分支区
git checkout -b <branch> //创建分支区并且切换到新创建的分支区
git branch –d <branch> //删除分支区(删除前,需要合并)
git branch –D <branch> //强制删除分支区,不需要合并,直接删除
git merge <branch> //和平分支区(对于分支的合并需要注意,若要将分支B合并到分支A上,首先要切换到A分支上,然后再运行合并命令)
5、对远程仓库的操作(以Gitee为列)
ssh-keygen
//当前用户主目录下生成隐藏目录.ssh,其下会生成两个隐藏文件, id_sra与id_rsa.pub。
//其中id_sra中存放的是私钥,id_sra.pub中存放的是公钥。
//下面图片里面的信息是什么意思:
//输入保存密钥的文件(/c/Users/Administrator/.ssh/id_rsa): 直接回车,会在C:\Users\Administrator\中创建一个.ssh用来存自己的密钥和公钥。
//Enter passphrase (empty for no passphrase):输入密码短语(如果没有密码短语,则为空)
//Enter same passphrase again: 再次输入相同的密码
git clone git@gitee.com:qingshi319/java3.git //拷贝项目到本地仓库
git remote add java3 git@gitee.com:qingshi319/java3.git //给git@gitee.com:qingshi319/java3.git定义一个别名为Java3
git remote //查看自己能操作的远程库
git remote -v //详细查看自己操作远程库
git remote rm java3 //吧Java3删除掉
git push java3 master //把master分支中的Java3提交到远程仓库
git push -u java3 master //加上 -u 代表后面的java3 master呗当成默认的,以后操作就不需要在输入java3 master了
git pull java3 //把远程仓库的内容拉去下来(更新操作)
各个区间不懂的,可以查看:区间描述