获取本地仓库
1.在电脑任意位置创建一个空目录作为我们的本地git仓库
2.进入这目录,点击打开Git bash窗口
3.执行命令 git init
4.如果创建成功后可在文件夹下看到隐藏的 .git目录
基础操作指令
Git工作目录对于文件的修改(增加,删除,更新)会存在几个状态,这些修改的状态会随着我们执行Git命令而发生变化
创建一个文件 torch xxxxx
git add:添加工作区一个或多个文件的修改到暂存区
格式:git add 单个文件名 | 通配符
git commit:提交暂存区内容到本地仓库的当前分支
命令形式:git commit -m “注释内容”
git status:查看修改的状态(暂存区,工作区)
git log:查看提交记录
版本回退 git reset --hard commitID
commitID可以使用git log或 git reflog查看
添加文件至忽略列表
一般我们总会有些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表。这种情况下我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。例如
*.a
doc/*.txt
doc/**/*.pdf
--------------------------------------------------------------------
分支
查看本地分支:git branch
创建本地分支 : git branch 分支名
切换分支:git checkout 分支名
可以直接切换到一个不存在的分支(创建并切换)
git checkout -b 分支名
合并分支(一个分支的提交可以合并到另一个分支):git merge 分支名
删除分支(不能删除当前分支,只能删除其他分支):git branch -d b1
强制删除: git branch -D b1
解决冲突:当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时需要手动解决冲突,步骤如下:
1.处理文件冲突的地方
2.将解决完冲突的文件加入暂存区(add)
3.提交到仓库(commit)
开发中分支使用原则与流程
- master(生产)分支:线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
- develop(开发)分支:是从master创建的分支,一般作为
- feature(分支):从develop创建的分支一般同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支
- hotfix分支 一般作为线上bug使用,修复完成后合并到master,test,develop分支
--------------------------------------------------------------------
连接gitee仓库
1.创建一个仓库
2.限定可以推送代码的对象(谁可以对这个仓库进行推送)
3.配置SSH公钥
3.1生成SSH公钥:ssh-keygen -t rsa
3.2 gitee设置账户共公钥
3.21.从账户中获取公钥:cat ~/.shh/id_rsa.pub
黏贴到gitee的SSH公钥处
3.3 验证是否配置成功 ssh -T git@gitee.com
操作远程仓库
添加远程仓库:此操作是先初始化本地库,然后与已建立的远程库进行对接
命令:git remote add <远程名称><仓库路径>
远程名称,默认是origin,取决于服务器设置
仓库路劲,从远端服务器获取url
查看远程仓库
命令:git remote
推送到远程仓库
git push [-f] [–set-upstream][远端名称[本地分支名][:远端分支名]]
- 如果远程分支名和本地分支名称相同,则可以只写本地分支
git push orgin master
-f表示强制覆盖 - –set-upstream 推送到远端的同时并且建立起和远端分支的关联关系
从远程仓库克隆
命令:git clone <本地仓库>[本地目录]
git clone git@gitee.com:joevv/git_test.git
从远程仓库抓取和拉取
远程分支和本地分支一样,都可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,在进行操作。
抓取命令:git fetch [remote name][branch name]
1.抓取命令就是及那个仓库里的更新都抓取到本地,不会进行合并
2.如果不指定远端名称和分支名,则抓取所有分支
拉取命令:git pull [remote name][branch name]
拉取命令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支
远程解决冲突
A修改了一份文件TXT内容 txt=10 推送到远端仓库
B也修改了一份文件TXT内容 txt=8 提交到本地仓库
B从远端仓库拉取了更新的内容,这两个修改就出现了冲突
--------------------------------------------------------------------
在idea中使用git
1.创建一个仓库
2.本地初始化一个仓库()即将idea中的要编写的项目的目录进行初始华为一个本地仓库