在github中创建仓库

在项目中添加git管理

进行git操作
HEAD : 当前版本

git命令大全
# 提交本地仓库, 上传服务器
$ git init # 初始化一个空的git仓库 就是隐藏的.git文件
$ git add . # 将当前目录下修改的所有代码从工作区添加到缓存区 . 代表当前目录
$ git commit -m "xxx" # 将缓存区内容添加到本地仓库,xxx为本次提交的说明
$ git remote add origin https://xxx # 设置远程主机,也就是代码推送服务器
$ git push -u origin master # 本地仓库代码发到github中, master是主分支 可修改(-u的命令需要在第一次提交的时候跟上,让本地和空仓库关联,后续的提交只需要git push origin master就行了)
$ git push [origin] --tags # 上传所有的tag 例:git push [origin] --tags
$ git push origin [tagname] # 上传单个tag 例:git push origin "V1.0"
$ git push -f origin master # 确保本地没问题,强制上传
$ git pull origin master # 拉取
# 远程连接
$ git remote add origin https://xxx # 设置远程主机,也就是代码推送服务器origin是我们给这个主机起名
$ git remote -v # 查看远程主机
$ git remote rm origin # 根据名字删除远程库
$ ssh -T git@github.com # 检查ssh端口是否能够连接,默认端口22,可以修改通过加上参数 -p 443
# 分支
$ git fetch origin '远程分支名' # 会新开辟一个分支,不会像pull直接合并当前分支
$ git branch (-c|-C) '分支名称' # 复制当前分支并创建,小c只会在分支不存在时才会复制创建
$ git branch (-M|-m) '分支名称' # 重命名分支
$ git branch (-v|-vv) # 查看所有分支,-v可以显示版本号,-vv则可以显示远程分支的信息
$ git switch -c '分支名' # 新版创建并切换分支
$ git switch '分支名' # 切换到已存在的分支上
$ git merge '分支名' # 合并分支
$ git branch -d '分支名' # 删除分支(若分支没合并无法删除, -D强制删除)
$ git checkout -b "本地分支名" "远程分支名" # 创建本地分支
# 创建标签
$ git tag "标签名" # 创建标签,记录当前代码状态,必须commit提交后
$ git tag "标签名" -m "备注" # 创建带有备注的标签
$ git tag -l "0*" # 查看所有以0开头的标签 *是模糊匹配
$ git tag -d "标签名" # 删除标签
$ git checkout "标签名" # 切换标签
$ git push --tags # 提交所有标签
$ git show v1.0.0 # 显示某个标签的详细信息
# 版本回退(任何版本都不会删除,可以通过记录进行来回横跳转)
$ git reset "版本号" # 可通过git log查看,就是 commit id 一串哈希值
$ git reset --hard HEAD^ # 回退上一个版本 HEAD^^:回退两个版本 HEAD~n:回退n个版本
$ git checkout -- file # 可以丢弃工作区的错误修改(没有git add情况下)
$ git reset HEAD . # 把提交到缓存区的内容撤销
# 记录查询
$ git log # 查看之前提交的版本
$ git reflog # 查看所有操作,可以可以随意跳转版本(例如:错误reset跳转)
# 2c9a1fc HEAD@{4}: commit: V2.0 commit提交记录
$ git status # 查看当前版本那些文件被修改
$ git diff # 查看文件被修改了那些内容
# 删除文件
$ git clean -df # 删除不在git管理之下的文件
git config --global user.name "Andermi"
git config --global user.email "xing_yi_bin@163.com"
本地Git仓库和GitHub仓库之间的传输是通过SSH加密,需要设置:
创建SSH Key
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
ssh-keygen -t rsa -C "youremail@example.com" # 自己的邮箱,然后一路回车
第2步:登陆GitHub -> setting
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送
如果使用ssh来push的时候出现这种错误:不能使用22端口进行连接:

解决方案:
在用户主目录,也就时我们生成公钥秘钥的那个文件里,touch config生成config
请在 ~/.ssh/config 编辑该文件,并添加以下部分:
Host github.com
Hostname ssh.github.com
Port 443
User git

可以push了

.gitignore 文件# 1. 创建gitignore文件
touch .gitignore
# 2. 语法规则
以【/】表示目录以【*】匹配多个字符以【?】匹配单个字符
以【[]】匹配字符列
以【!】忽略文件或者目录
# 3. 用法
*.class # 忽略所有class文件
aaa/* # 忽略aaa文件夹下所有文件