一、git的基本操作
配置用户名和邮箱
git config --global user.name "youhui"
git config --global user.email "xxxxxx@qq.com"
生成ssh密钥
ssh-keygen -t rsa -C "1140636480@qq.com"
检测远程是否与本机连接成功
ssh -T git@gitee.com
1、 初始化本地仓库
git init
2、提交到本地暂存区
git add + 指定文件 或 git add . 全部提交
3、提交备注和提交到分支
git commit -m "备注信息"
4、重命名分支(和原来的一样会覆盖)不分支名可以忽略
git branch -M master
5、把远程创建的残酷添加到本地
git remote add origin ssh地址
5、把本地内容提交到远程仓库
git push -u origin master
二、修改git与远程仓库的连接方式
1、查看连接方法
git remote -v
2、删除原来的连接方法
git remote rm origin
3、添加连接方式
git remote add origin htts地址
三、拉取远程仓库
1、克隆远程仓库代码到本地
git clone ssh地址或htts地址
2、拉取远程代码合并到本地
git pull
四、如何解决Git中的代码冲突
1、什么是代码冲突
-
对于同一个文件的同一行或几行,其他人进行了修改并提交了,你也在统一个地方进行了修改,当你把别人的代码合并到本地的版本库时,就会产生冲突。
-
代码冲突
<<<<<<<<<HEAD 你的代码区 =========== 其他人的代码区 >>>>>>>>>>> jgq3t8920346jwgws
-
尽量避免冲突,每天或几天,先拉取代码,再修改,再提交
五、git常用命令
1、git init
- 主要是初始化本地仓库即创建版本库
当前文件夹创建 git init 指定文件夹创建 git init 文件夹名
2、git remote add
- 将本地仓库连接到本地仓库上
git remote add origin(远程仓库的别名) ssh地址或https地址 //推送 git push origin master
3、git branch
-
分支。开发时一般分为dev(开发)、test(测试)和pro(生产)三个分支
-
比如需要开发新的功能,需要写很多代码,但是不能影响主分支,这时候就需要新建分支,最后合并到主分支即可
-
查看分支
git branch
-
在本地创建分支
git branch 分支名
-
退出当前分支到指定的分支(切换分支进行提交)
git checkout 到指的定分支名 //查看现在到了哪一个分支 git branch --list
-
删除指定分支
//安全的删除,当代码未合并git会阻止删除 git branch -d 要删除的分支名 //不安全删除,会强制删除 git branch -D 要删除的分支名
-
切换分支
git checkout
-
重命名当前分支
git branch -m 需要命名为分支名
-
查看远程
git branch -a
5、git commit
- 提交代码到当前分支即提交到代码版本库
- 建议一个任务一个commint方便代码回滚(即回退)
git commit -m "类型:代码的描述" fix:修复了某个bug feat:提交了某个新的功能 build:一些影响系统构建的更新 docs:文档修改的跟新 test:新增或修改测试文件 refactor:重构了代码(没有新增或修改功能) chore:不会影响核心功能的更新
6、git push
- 推送代码到远程仓库
git push origin master //把当前分支推送到指定分支(dev_master推送到master分支) git push origin dev_master:master //强制推送 git push --forch origin master
7、git pull
- 拉取远程代码并合并到本地
git pull orgin master
8、git clone
- 克隆远程仓库代码到本地
git clone ssh地址 或 htts 地址 //克隆远程指定分支的代码 git clone -b 指定克隆的分支名 ssh地址 或 htts 地址
9、git fetch
- 拉取代码但不合并
git fetch //合并代码 git merge
10、git reset
- 用于代码版本的回退,可以回退到指定版本
git reset [--soft | --mixed | --hard][HEAD] // --soft 回退到某个版本 // -- mixed 默认,回退到commit的内容,工作区文件内容会变 // -- hard 回退到某个版本,并删除之前的所有信息HEAD (或HEAD~0)表示当前版本 HEAD^ (或HEAD~1)上一个版本,git reset HEAD^ HEAD^^ (或HEAD~2)上上个版本 ... 以此类推