git config --global user.name "yangfuyuan"
git config --global user.email "yfy18916597106@gmail.com"
git config --global --list
git config --system --list
git config -l
git init #初始化一个没有任何文件的git本地仓库
git status #查看项目文件目录和暂存区的文件状态 #已修改
git remote add origin <你的项目地址> #本地仓库绑定远程仓库,只需要做一次
git pull -u origin master #将本地仓库推送到远程仓库
git add . #已暂存
git rm --cached <file>... #移除暂存区的某个文件
git restore --staged <file>... #移除暂存区的某个文件
git reset HEAD <file> #移除上一次操作的文件
git rm <file> #删除git本地仓库的文件,会自动删除工作区对应的文件
git commit -m ''#已提交
git log #查看提交的日志
git log --pretty=oneline #一行显示日志
git log --graph --pretty=oneline #日志中显示版本合并树的图标
git diff HEAD -- 文件名 #比较文件前后的区别
git push origin master #将本地代码推到远程仓库
#版本回退
git reflog #查看所有的日志
git reset --hard HEAD^ #一个^代表往回退一个版本
git reset --hard HEAD~50 #~50代表往回退50个版本
git reset --hard
唯一标识 #回退至任意版本,使用git reflog查看所有的唯一标识
git ls-files #查看git本地仓库所有的文件
git config user.name
git config user.email
ssh-keygen -t rsa -C "yfy18916597106@gmail.com" #生成ssh公钥
ssh -T git@gitee.com #验证ssh方式能在gitee上使用
ssh -T git@github.com #验证ssh方式能在github上使用
#本地仓库:主干分支操作
git branch #查看本地仓库的所有分支
git checkout branch_name #切换本地仓库的分支
git checkout -b branch_name #在本地仓库新建分支并切换到该分支
git branch -m|-M old_branch_name new_branch_name #重命名本地仓库的分支,-M是强制重命名
git checkout master #先切换到本地仓库的主分支
git merge other_branch_name #接着再将本地仓库的分支合并到本地仓库的主分支
git branch -d|-D other_branch_name #视情况可删除分支,-D强行删除
git branch -a #查看本地仓库和远程仓库的所有分支
git push origin branch_name # 将本地仓库当前目录下的分支 推送到 远程仓库,远程仓库创建跟本地仓库同名的分支branch_name
git push origin :branch_name #在本地进行删除操作,删除远程仓库的branch_name分支
git fetch #获取远程仓库的最新状态,这是很有必要的
git checkout -b branch_name origin/branch_name #拉取远程的branch_name分支,并在本地创建该分支
#多人协同时,先git pull 再 git push ,先把冲突解决再推代码
git pull
git push
#标签
git tag #查看本地仓库的所有标签
git tag -a tag_name -m 'message' 唯一标识
git push origin --tags #推送所有未推送到远程仓库的标签
git push origin :refs/tags/tag_name #删除远程仓库的tag_name 标签
git tag -d local_tag_name #删除本地的某个标签
提交的时候忽略一些文件:
- idea安装ignore插件
- 右键文件,添加到ignore,将修改好后的.ignore文件提交到远程仓库
- 注意,只有没有提交到暂存区的文件才能在.ignore文件中配置生效
git工作原理图: