git 下载成功后,右键执行
git version
![在这里插入图片描述](https://img-blog.csdnimg.cn/785411dc66674e1c8233bee70b5edb6c.png)
用户配置: 查看用户名称和邮箱
git config -l
用户信息配置
git config --global user.name "用户名"
git config --global user.email "邮箱"
使用github演示 创建完仓库后用SSH拉取仓库 ![在这里插入图片描述](https://img-blog.csdnimg.cn/77207fc5801840a2baf9be7aa92c330c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
git clone "仓库地址"
将仓库克隆到本地后进入,随意创建两个文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c74cdbd4be3948c58414e5c6a2e1cc66.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f1eae62806a146d7b82f1e1397bb00e3.png) 提交到暂存区
git add .
git add 文件名
将代码提交到本地仓库
git commit -m '立项'
这里提示了可以使用git push提交到远端仓库 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1b4bc736f6bc443a8b0e8fc09af3f794.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9416a7504de54bdeb97fd06740f9ae7d.png)
在github上就可以看到提交的文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d8f987d504a7418bbbab19b105b3b05b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16) 比如说此时有其他人也提交了代码到远程仓库,可以使用
git pull
现在修改刚提交的index.html 文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5edf5a755aa7438994b00953724c6383.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
修改完再次拉取
git pull origin master
![在这里插入图片描述](https://img-blog.csdnimg.cn/fd1fb815446c4c6c97002bc4a2aa83a8.png)
如果使用git fetch origin master仅拉取代码取回更新后,会返回一个FETCH_HEAD,可以在本地通过它查看刚取回的更新信息,合并需要手动合并(git merge FETCH_HEAD)
本地仓库
![在这里插入图片描述](https://img-blog.csdnimg.cn/db768359cb314141a2a96005aa3b6dea.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
本地仓库推送到远程仓库
新建的仓库
git init
touch README.md
git add README.md
git commit -m 'first comit'
git remote add origin 'git地址'
git push -u origin master
已有仓库
git remote add origin 'git地址'
git push -u origin master
工作区和暂存区的区别
![在这里插入图片描述](https://img-blog.csdnimg.cn/575d1e768c73420aac2c3bf5b5def889.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
git log -p -1
git 撤销操作
取消暂存
git reset HEAD <file>
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ab62ca7dff0490e8185544a429488c9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
撤销commit
git reset --soft HEAD^
![在这里插入图片描述](https://img-blog.csdnimg.cn/ccf6025e911442078da0a509fab6f17b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
撤销修改 比如我想实现一个功能,但是这个功能已经被同事完成并提交了,我写的已经没用了,要进行撤销修改(慎用)
git checkout --<file>
原位替换 有时候我们提交完了才发现漏掉了几个文件没添加或者第一次实现了一个功能commit到了本地仓库,第二次又实现了一个功能commit提交到了本地仓库,现在需要把这两个commit的内容合并成一个 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1e5f8dddaf474b0e98f1b136e20f7171.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
版本回退 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4e5b35f066e3462999db0313fcf09e87.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_14,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/83dc14b35b4c47d8ac06ff5d14ecce1c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
分支创建
![在这里插入图片描述](https://img-blog.csdnimg.cn/e3ec0e3e25384e01bcd87add68c96c60.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc5b509e28374615beb6ea665379e6a7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/73a692c6773a40e48f188f895ab106f7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
推送到远端仓库 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7027e6ce4b234399b757131997242616.png) 此时是在dev-info分支上面的,需要切换到master主分支上面进行分支的合并(此时是在本地仓库进行的合并) ![在这里插入图片描述](https://img-blog.csdnimg.cn/b89bd20ae3da4faebba8b006ff1dd403.png) 推送到远端(此时分支的内容就合并到了主分支上面) ![在这里插入图片描述](https://img-blog.csdnimg.cn/60cd9b7fd64c40b181be636eb795693c.png) 删除创建的dev-info分支
git push origin --delete dev-info
git branch -d dev-info
git 分支冲突 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b56c083252b34ca088dcdf5c04103ea6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
最下面可以看到dev1分支往master上面合并时就报冲突了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1acb72a5fc4945f1a1ae02c41645f5fd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16)
两个分支同时修改了一个文件,此时会冲突,如果两个提交都是需要的把冲突标识删除再提交就行了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a2ec3254e8024a3fb55a185825a82de9.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b0710b90bae24831a15ca602dd58c849.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/6a58e71652264a50b52b9bc770380d0f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2j5biD77yM,size_19,color_FFFFFF,t_70,g_se,x_16)
|