先一览全局:
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.

 




















