Git使用
一.Git的安装(本地Git仓库)
https://www.git-scm.com/download/win
下载后直接下一步,安装默认的选择。
回到电脑桌面右键,看到下面两个红色箭头,就说明安装成功!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-31pBqtp7-1592641970440)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps1.png)]
二.Git的初始化
新建一个空文件夹作为项目目录****(********工作区********)****,右键打开Git Bash
输入 git init
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l66yx1Xr-1592641970444)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps2.jpg)]
配置
用户名:git config --global use.name “dangao”
邮箱:git config --global user.email “dangao@qq.com”
三.代码提交到git仓库
1、*把提交的文件先添加到仓库的“大门口*****”********(********暂存区********)****
*git add ./文件名(如果全部提交就用 .)*
2、 *确定提交,把文件放到“房间”(版本库)*
*git commit -m(注释)* *“********这是我新添加的项目********”*
3、*组合上两步(不推荐)*
*git commit --all -m* *“********注释********”*
四.修改代码并提交
1、查看当前代码的状态
git status
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZqyn8CV-1592641970449)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps3.jpg)]
说明当前的代码修改过了,还没add
2、再调用 add,commit
调用了 add
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gE7PlLmL-1592641970459)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps4.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VdWIQDBm-1592641970460)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps5.jpg)]
调用 commit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XWjG41Ro-1592641970461)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps6.jpg)]
如果不小心使用没加 -m的 commit 就会出现上面情况,提示必须要写注释!
按ESC +:+wq
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rYQV709h-1592641970462)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps7.jpg)]
终止提交了
*所以一定要加上 -m*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpfdgh4B-1592641970464)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps8.jpg)]
没有任何需要提交的,工作区是干净的!
五.查看日志
1、*查看总记录*
*git log*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ojUCOQHz-1592641970465)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps9.jpg)]
2、*查看用精简的方式*
*git log --oneline*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qHYDP0pV-1592641970466)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps10.jpg)]
六、版本回退
1. *回退到具体版本*
*git reset --hard Head~0*
*Head 表示当前最新的版本,后面的0,1,2表示回到之前那个版本*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jpCDR6Oc-1592641970468)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps11.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1WtkBDHr-1592641970469)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps12.jpg)]
2****.通过版本号来回退(********推荐********)****
*git reset --h********ard* *Head~3dadd1c*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9nziVIK-1592641970471)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps13.jpg)]
*3.回退到中间的被覆盖某一个版本*
*git reflog*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hLc0XdIn-1592641970472)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps14.jpg)]
把每一次版本的切换都显示出来,回到哪一个直接使用版本号!
七.创建分支,切换,合并
在功能没有完成的时候,如果提交到主分支(master),会影响到其他开发者 ,所以从服务器上down代码的时候,需要自己创建一个分支。相当于再复制一份出来。
\1. 创建
*git branch xx 分支名*
*git branch -d xx 删除 不能在当前分支删自己*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UA0OkTCH-1592641970473)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps15.jpg)]
不报错就没问题
\2. 切换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9SR7AAXA-1592641970474)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps16.jpg)]
前面的*代表当前处于哪个分支
*git checkout dev*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9zzHU6Od-1592641970475)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps17.jpg)]
\3. 合并分支
此时master分支是没有dev分支中的代码的,切换查看
切换回master分支
*git merge dev(分支名)*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u9XFCrVp-1592641970476)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps18.jpg)]
\4. 解决冲突
假如:主分支上相同的地方,其他同事也提交了代码,就会出现冲突文件!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w2h251T2-1592641970478)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps19.jpg)]
CONFLICT 合并失败
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k927RyUs-1592641970479)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps20.jpg)]
然后找到看哪个是正确的,把不正确的删掉!
在 add ,commit
八.把本地代码提交到服务端
在多人合作的时候,通常需要先建立一个远端仓库项目。www.gitee.com或者github.com
Github提供了允许其他人上传代码的功能。
1.生产公钥 ssh-keygen -t rsa -C ‘6487616XX@qq.com’ 直接敲回车
配置公钥的目的是为了,push代码的时候不用每次都输入账号密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2YgQ95Cr-1592641970480)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps21.jpg)]
找到公钥的文件打开或者直接
运行 clip < ~/.ssh/id_rsa.pub 拷贝到你的剪切板
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ihpAqXkF-1592641970481)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps22.jpg)]
创建项目,添加个人公钥才能修改提交代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xMq92Uop-1592641970482)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps23.jpg)]
在使用SSH下载代码(还可以通过https,每次都需要输入用户名密码)
Git clone xxx 第一次下载代码
Git pull 更新文件地址 master
git remote add origin git@gitee… 相当于为远端取一个别名叫 origin 就不需要每次都写上远端的地址了。
git push origin *-u* master 设置默认提交master主分支
创建 .gitignore :忽略一些代码不提交到github
Git add .
Git commit -m …
Git push 推送服务器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXTwS71V-1592641970483)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps24.jpg)]
注意事项:
如果是别人已经创建好的项目,其他小伙伴会把你加入到开发组。
如果一开始使用的https下载的代码,如果换成ssh提交就需要输入用户名密码,也可以把之前的https删掉重新再用ssh下载一份就OK!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QaP13Ee0-1592641970485)(file:///C:\Users\LY\AppData\Local\Temp\ksohtml10824\wps25.jpg)]