饥人谷java体系课

git init

初始化
会创建 .git目录

git add 路径

git add . 添加当前目录的文件
选择哪些变动是需要提交的 路劲可以是绝对、相对路劲

git commit -m “字符串”

git commit -v

回顾刚刚写了什么,迫使将提交理由写的更详细

git log

只显示之前的提交

git reset —hard xxxxxx

回到之前提交号为xxxxxx的提交
xxxxxx提交号的前六位
使用之前确保把所有代码提交了

git reflog

显示所有的提交

git branch x

基于当前最新的commit创建一个新的时间线\分支

git branch -b x

删除分支x

git checkout x

用于切换另一个分支
当前分支有未提交的代码,只要跟另一个分支没有冲突,就不需要理会

git merge x

合并分支

git status

显示工作目录和暂存区的状态

解决冲突的办法

发现冲突

合并分支的时候会得到conflict 提示
使用git status -sb 查看哪些冲突

解决冲突

依次打开每个文件
搜索====
在上下两个部分中选择要保留的代码
删除不用 的代码 ==== >>>><<<<这些
git add对应文件
再次 git status -sb 解决别的冲突
直到没有冲突,使用git commit(不需要选项)

远程仓库

生产ssh key

  1. $ ssh-keygen -t ed25519 -C "your_email@example.com"

然后在 settings—->shh and gpg keys——->new ssh key
title 说明要联的电脑 key 通过cat命令读取公钥然后复制进去
通过下面命令

  1. ssh -T git@github.com

验证是否成功
image.png

上传

新建github 仓库,复制ssh地址
复制页面里的代码
git remote add origin git@xxxx
在本地添加远程仓库地址
origin是远程仓库默认的名字
git push -u origin master
推送本地master到远程origin的master分支
如果提示 git pull 就git pull
git pull 是把远程分支合并到本地对应 的分支
-u origin master 是设置上游分支
之后就不用再设置了,直接git pull git push

下载

git clone git@?/xxx.git

会在当前目录下创建一个xxx目录
xxx/.git 是本地仓库
一般需要接一句 cd xxx

git clone git@?/xxx.git yyy

会在本地新建yyy目录 cd yyy

git clone git@?/xxx.git .

最后一个字符是点,注意有空格
不会新建目录,使用当前目录容纳代码和.git
当前目录最好是一个空目录