掌控历史:如何通过Git版本管理工具提升你的开发效率
先一览全局:
git目录
- 一.打开git
- 二.git bash的基础命令
- 三.配置git
- 四.仓库搭建
- 五.文件操作和状态
- 六.忽略文件
- 七.gitee的使用
- 1.添加公钥
- 2.创建仓库
- 八.vs中使用git
- 九.git分支常用命令
- 十.文件差异比较
- 十一.文件回溯和推进
- 十二.合并冲突和消除
- 十三.合并/压缩提交
- 十四.远程仓库推拉
- 十五.小乌龟图形操作git
- 1.仓库克隆远程项目
- 2.先创建项目,后创建远程仓库
一.打开git


二.git bash的基础命令
shift+insert 是复制的快捷键
当显示不全,出现冒号的时候可以按Enter显示,最后按q退出.
cd: 移动目标

pwd:显示当前目录
ls/ll:显示当前目录信息

clear清屏
touch:创建文件


mkdir:创建目录
rm:删除文件
rm -r:删除目录

mv:移动文件到目录下



history:历史命令

三.配置git
查看配置

系统配置

用户配置,这里是我原来配置过,原本是没有的.

这里是系统配置文件

打开和system的配置一样.

用户配置信息,这个就是相当于id.

这里就是自己配置的信息.

四.仓库搭建

.git是隐藏的文件

还有远程仓库的克隆.


五.文件操作和状态
创建一个git仓库和创建一个main.cpp文件

查看该文件状态,未被git窗口跟踪.

用add,文件已经被跟踪.

git commit -m""文件提交到窗口,并附加备注信息.

进入vim可对文件内容进行修改.用cat可以查看文件内容.

按键盘i或者insert键可以进入到编辑模式.

按Esc键退出编辑模式,输入:wq,这是退出并保存

:q! 命令是强制退出不保存.

修改文件后,状态改变为modified.

可将修改后的文件用 git add .和git commit -m""添加到本地仓库.

也可以一步到位,添加到本地仓库.

六.忽略文件
.gitignore是忽略文件.

忽略文件的规则


.vs缓冲文件和x64编译文件已经被忽略,不能进行add.

七.gitee的使用
1.添加公钥
可以根据提示注册


设置公钥

在c盘用户目录下,新建一个.ssh文件夹

在新建的文件夹下,打开git bash.

就会生成这两个文件.后面有pub的是公钥.

我们点开,将内容复制到gitee的ssh

粘贴在这里确定即可.

2.创建仓库



八.vs中使用git



将仓库里的HTTPS复制到上面的URL.



第一次的时候需要添加远程

还需要添加到暂存区,也可以添加到忽略文件.
第一次推送还需要验证gitee


九.git分支常用命令
先将文件添加到本地仓库
git branch 可以添加分支和查看分支
git checkout 可以切换分支

git checkout -b 可以同时创建和切换分支
git branch -d 可以删除分支

切换到另一个分支,然后进行文件修改bug,然后回到主分支,进行合并
git merge --no-ff 分支名,这是完整合并.
完整合并是会创建新的节点的,HEAD指向这个指针.
简单合并就是HEAD直接指向分支的节点.
git merge 分支名 就是快速合并.

git log 可以查看日志

git log --graph可以查看图形化日志,下面这个图形就表示先分支又合并.

十.文件差异比较
修改文件,用git diff 比较工作区与暂缓冲区的区别.
+号表示新增

将工作区修改的文件添加到暂缓区.
然后用git diff HEAD 来比较暂缓区与本地仓库的差异.

现在的日志就是这样了.

十一.文件回溯和推进
commit 后面的是哈希值,相当于这个版本的节点.可以方便回到这个版本.

用 git reset --hard 哈希值,我们这里就回溯到了最原始的版本.
这个是硬回溯直接将工作区文件也变会原来的版本.

十二.合并冲突和消除
编写一个有bug的文件添加到本地仓库

创建一个dev分支并修改文件添加到本地仓库.
然后回到主分支.

用git merage --no-ff 完整合并.
并于git log --graph显示当前日志.

用 git reset --hard 哈希值.回到最开始的版本,创建另外一条分支,修改文件并提交至本地仓库.

切换到主分支,并通过git reflog 查看日志操作,推进到合并dev版本的节点.

此时合并另外一条分支,出现冲突,需要手动编辑文件消除冲突.
一般冲突的出现是因为合并的分支出现同一文件的部分代码不一样.
然后再将其添加到本地仓库.
git commit --amend 是修改上一条备注信息的内容.

最终的图形化节点结构.

简化图就是这样:

十三.合并/压缩提交
创建一个分支,编写了一个简单的bug,我们修改时不想再次提交,因为bug太简单了

可以用git rebase -i HEAD~2来进行合并最近两次的提交.

将pick 修改为fixup就是要留下的提交

十四.远程仓库推拉
用git remote add origin SSH ,来连接远程仓库,origin是备注名.
git push -u origin master.推送到远程仓库origin的master分支.

再推送一个分支.

然后另一个同事克隆仓库,选择分支进行编写,再推送到仓库.
注意分支来源.


此时再用 git pull origin fea 拉取刚刚其他人提交的.

十五.小乌龟图形操作git
1.仓库克隆远程项目
用小乌龟克隆远程仓库.


点击ok,克隆完成

可以在.git文件同目录下创建项目.

注意不是右击某个文件出现的,而是在空白处右击出现.


这里只是提交到了本地仓库.

接下来推送到远程仓库




2.先创建项目,后创建远程仓库

点击OK

提交到本地仓库.



提交到远程仓库.如果push操作出错一般都是因为账号有多个冲突.

新建一空的远程仓库,然后复制HTTPS.



