基础指令
$ git init #初始化仓库,在该文件夹创建的为workspace
$ git add . #已暂存 [.通配符,全部添加]
$ git commit -m "log add file" #提交到仓库,并写了日志 ”log add file“
$ git status #查看状态,可查看被修改的文件等
$ git log --pretty=online --abbrev-commit --all --graph #查看提交日志
$ git reset --hard 之前的版本号,git log查看 #恢复到以前的版本
$ git reflog #查看状态,可查看被删除的提交记录
$ touch .gitignore #创建.gitignore文件,里面指定的文件不被git
分支相关指令
HAED -> 当前分支
$ git branch #查看分支
$ git branch 分支name #创建 name分支
$ git branch -d 分支name #删除 name分支 并检查 -D强制删除不检查
$ git checkout -b 分支name #-b创建并checkout切换到 name分支
$ git merge 分支name #一般切换到master分支,再将其他分支merge到master主分支
- 合并分支有冲突时,自行解决改了之后直接git add .再git commit 即可
- 合并快进模式 dev在master前面一个了,不太影响
分支使用原则
- master (主分支)
- release
- develop (开发分支)
- feature(功能分支)
- hotfix(线上bug修复)
远程仓库
连接
$ ssh-keygen -t rsa ## 创建ssh公钥
$ cat ~/.ssh/id_rsa.pub ##查看创建的ssh公钥
然后将SSH公钥设置在gitee上
$ ssh -T git@gitee.com ##登录到码云g'i't
$ git remote add origin git@gitee.com:仓库ssh地址 ## 将本地仓库与远程仓库绑定,远程仓库命名为origin
推送
$ git remote ## 查看远程仓库
$ git push [-f] [--set-upstream][远端名称[本地分支名][:远端分支名]] ## 推送本地仓库 【-f强制覆盖】
-
如果远程分支名与本地分支名称相同,可以只写本地分支
$ git push original master
-
–set-upstream 推送到远端的同时并且建立起和远端分支的关联关系?
$ git push --set-upstream original master
-
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
$ git push
$ git branch -vv ## 查看远程仓库和本地仓库的对应关系
克隆、抓取和拉取
$ git clone <仓库名称> [本地目录] ## 将远程仓库克隆到本地仓库
$ git fetch [remote name] [branch name] ## 拉取远程仓库但不合并,然后 git merge 将远程仓库merge到本地仓库
$ git pull [remote name] [branch name] ## 拉取远程仓库并合并 = fetch + merge
在本地合并有冲突,解决冲突后才能push到远程仓库
IDEA 配置
-
File->Setting->Version Control->Git