版本提交信息的命令及其优化(还有命令的别名)
$ git log --pretty=oneline --abbrev-commit --all --graph命令可以优化git版本的显示信息,可以将版本的修改信息显示得很简单
git log是查看版本日志的命令【】
由于上面的git命令太长了,可以使用别名代替这个命令:
alias git-log='git log --pretty=oneline --abbrev-commit --all --graph'
这样以后就直接输入git-log命令就可以查看优化过的版本修改提交信息
文件被修改后不能直接通过git commit提交到本地仓库中,需要先提交到暂存区git add 才能提交到本地仓库
版本回退(版本切换)
每个版本提交都有一个唯一标识
使用命令: git reset --hard 想要切换到的版本的表示
这样就可以切换版本了,之后的版本就不见了,要是想要再切换回去,也是用 git reset --hard+版本唯一标识就行
git reflog可以看到所有操作记录,也可以在这里看到版本唯一标识的信息
在git中添加文件: touch+文件名
设置不需要git进行管理的文件,以便我们可以直接使用git add.
先创建gitignore文件
然后 vi .gitignore 进入文件编辑,将不需要管理的文件写入即可
git status的作用
git status命令用于查看当前工作目录下的文件状态,包括已修改、已暂存和未跟踪的文件。它可以帮助开发者了解当前代码库的状态,以便进行下一步操作。
git分支
使用分支把工作从主线上分离开来进行重大的bug修改,或开发新的功能,以免影响开发主线
查看分支:git branch
创建分支:git branch + 分支名
使用git-log查看分支的信息
切换分支 git checkout +分支名
切换一个不存在的分支,就会创建分支并且切换到该分支上:git checkout -b +分支名
合并分支
先切换到master分支或者你需要合并的分支上
再执行git merge +待合并的分支
删除分支 git branch -d +分支
解决冲突
若有两个分支都改了同一个文件中的同一行代码,二者进行合并时,git是不知道怎么处理这个冲突的,会在merge合并·的时候提示冲突,这时候需要手动解决
开发中分支使用原则与流程
master:生产分支
devlop:开发分支,需要开发新功能,先要在devlop创建一个分支,开发者将代码提交到新的分支上,开发完成后再将与devlop分支合并,合并完后将这个分支删掉
master和devlop分支是不能删除的,是固定的
分支的强制删除
git branch -D,因为一些分支没有合并到master,当你想删除这些分支时,用git branch -d是删不了的必须用-D
git远程仓库
远程仓库一般有码云和github,这二者都是开源的,企业用的是GitLab
使用ssh协议的话,需要在本地使用命令生成公钥,然后配置到码云中ssh-keygen -t rsa
创建好后查询生成的ssh公钥: cat ~/.ssh/id_rsa.pub
之后会显示,赋值配置即可
首先要在码云里面自己创建一个仓库,协议选择ssh
之后在git工具里面git remote add origin git@gitee.com:yao-yao133/git_test.git,origin是远程仓库的名字,可以随便取,后面的git@gitee.com:yao-yao133/git_test.git是码云上仓库的地址
git remote命令可以查询你是否成功的创建远程仓库
git push orgin master命令可以把本地仓库的master分支推到远程仓库中
--set-upstream推送到远端的同时并且创立起和远端分支的关联关系,这样第二次推送的时候就直接写git push就行
git push --set-upstream origin master:master,这说明本地的master分支和远程仓库的master分支是对应的,省略掉分支名和仓库名字
查看本地分支和远程仓库分支的关联关系 git branch -vv
从远程仓库中抓取和拉取(clone)
抓取指令