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