git 语法

使用前配置

git config --global user.name //提交人姓名
git config --global user.email //提交人邮箱
git config --list //查看git配置信息(q退出)

提交步骤

git init //初始化git仓库
git status //查看文件状态
git add 文件列表 //追踪文件,把文件存到暂存区 .为全部文件
git commit -m 提交信息 //向本地仓库提交代码
git commit -am 提交信息 //可以提交已经追踪过且修改的文件
git log //查看提交记录

撤销

git checkout 文件名称 //用暂存区中的文件覆盖工作目录中的文件
git rm --cached 文件名称 //将文件从暂存区中删除
git reset HEAD~ //撤销上一次提交 HEAD 代表:上一次提交
git reset --soft commitid //回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard commitid //彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉

分支

git branch //查看本地分支
git branch -r //查看远程分支
git branch -a //查看本地和远程的所有分支
git branch 分支名称 //创建分支
git branch -m //重命名本地分支
git branch -d 分支名称 //删除本地分支(没有被合并不能删除时,-D强制删除)
git push origin -d 分支名称 //删除远程分支
git checkout 分支名称 //切换分支
git checkout -b 分支名称 //创建并切换分支
git merge 要合并的分支 //合并分支,要切换到上一级分支上

git stash save 剪切信息 //剪切,不在任何分支中,是独立开来的
git stash list //查看stash储存
git stash pop stash@{1} //粘贴

本地仓库推送到远程仓库

git push 远程仓库地址 分支名称 //本地仓库推送到远程仓库
git remote add origin 远程仓库地址 //给远程地址添加别名
git push origin 分支名称
git remote -v //显示所有远程仓库
git remote rm 远程仓库别名 //删除远程仓库
git remote rename old_name new_name //修改仓库名
git push -u 远程仓库地址 分支名称 //-u记住推送的地址及分支
git push

远程仓库克隆到本地仓库

git clone 仓库地址

拉取

git pull 远程仓库地址 分支名称
git push origin 分支名称

多人开发遇到冲突

  1. 先pull拉取最新的版本库
  2. 删除不需要的内容

git忽略清单

  1. 创建.gitignore文件
  2. 在文件里添加忽略的文件

为仓库添加详细说明
创建readme.md文件

生成公钥
许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。
GIT服务器上存储的是公钥,本地存储的是私钥,当需要push本地代码库到远程代码库,服务器会要求你出示私钥,并且用你出示的私钥和它的公钥配对来完成认证。由于使用的是不对称加密,所以公钥可以公开,只要保管好私钥就可以。

生成公钥和私钥的命令:ssh-keygen -t rsa 并按回车3下
执行查看公钥的命令:cat ~/.ssh/id_rsa.pub

clear清屏

cd进入下一级

git中一些选项解释
-d
--delete:删除
-D
--delete --force的快捷键
-f
--force:强制
-m
--move:移动或重命名
-M
--move --force的快捷键
-r
--remote:远程
-a
--all:所有

commit提交规范
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
opt: 代码优化

分支:
在我们每次的提交,git都会把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在git里,这个分支叫主分支,即是master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的。所以,HEAD指向的就是当前分支。
一开始的时候,master分支是一条线,git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点,每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也就越来越长。
当我们创建新的分支,例如dev时,git新建了一个指针叫dev,指向master最后相同的提交,再把HEAD指向dev,就表示当前分支在dev上
你看,git创建一个分支很快因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化
不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变

posted @ 2021-08-10 10:36  牛码先生  阅读(52)  评论(0编辑  收藏  举报