【自学】4.21 git相关

每天写点玩玩

4.21

  • git的一些操作
git init
git config user.name "xxx"
git config user.email "xxx"
git status
git add .
git commit -m "xxx"
git remote -v
git remote rm origin
git remote add origin xxx
git push -u origin master

慎用cnpm 能用npm就用npm
【1】 本地
git status
git diff
git log
git reflog

git reset --hard 版本号
每commit一次 就会有一个新的版本号(也就相当于保存),单纯add过也不能保存
这是一个快速指针 定位某版本代码
某版本代码通过git log查阅 或者git reflog恢复最新的代码

工作区 => 暂存区 => 本地仓库(版本库)

git diff就是未stash的文件和当前最新commit的对应文件对比
或者git diff commit1 commit2 对比两次commit的代码差异

git restore + 文件名 撤销(未暂存)文件的修改

head 指向的就是最新的那个commit
git restore --staged +文件名 将暂存区的文件从暂存区中返回工作区

不能“撤销提交”,只能“回退版本”,这个需要注意一下

误删(已commit的)文件,执行git restore + 文件名 可恢复
如果确实要删除 执行git rm +文件名,再commit即可

git remote add origin + 远程仓库名
git remote rm origin 解除本地仓库和远程仓库的绑定关系
git push -u origin master 第一次推送
git push origin master 之后的推送

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的

Git支持多种协议,包括https,但ssh协议速度最快。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,
只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

【2】远程(分支等)

HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

git branch
git branch dev (在对应分支上)创建分支
git switch dev 切换分支
git switch -c dev (在对应分支上)创建分支并切换
分支其实也就是一个变相的指针罢了
git merge dev (合并dev分支)
git branch -d dev

git merge时可能会有所谓冲突
HEAD 当前commit
INCOMING 远程的commit
处理完冲突之后再commit (脑补一个三角图)

git log --graph 查看分支合并图

git push origin 本地分支:远程分支 将本地某分支推送到远程某分支 当两分支名字一致的时候就可以简写了
git push origin --delete dev github删除一个远程分支
git branch -a 查看所有分支 包括远程分支

把远程某分支的代码拉到本地的某个分支上
比如说我要拉一个远程的dev
git branch tycdev origin/dev
创建了一个tycdev本地分支 并把远程dev拉到这个分支上

正常pull git pull 远程分支:本地分支

把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):$ git push origin 分支名:分支名

基本关联关系(关联仓库) git remote add origin

如果某个本地分支上有未commit的代码 则不能切换本地分支!!!!!!需要 git stash 之后才能切换 调用的话使用git stash pop
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:git stash apply stash@{0}
通过git cherry-pick commit号 可以把某个分支的某个commit应用到另外一个分支

一般开发一个新功能,就会开出一个分支,合并完之后把新分支删了即可
如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

git branch -vv 查看本地分支和远程分支之间的关联关系
git branch -u origin/远程分支名 建立远程关联关系

最好让本地分支和远程分支名字保持一致!

一旦有merge操作 git log --graph就会分叉 可以通过git rebase使其变为直线(不建议)

git tag -a v0.1 -m “version 0.1 released” 1094adb 对某个commitid添加标签及其说明
标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签
git tag 查询当前所有标签
git show tagname 可以看到标签的说明文字
git tag -d 删除某个git标签
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码。

git remote rm origin
git remote add github
git remote add gitee
git push github master
git push gitee master
同时和两个远程库同步

忽略某些文件时,需要编写.gitignore;
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理
简写!!!
git config --global alias.lg “log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ --abbrev-commit”
git配置文件 .git/config .gitconfig

搭建Git服务器非常简单,通常10分钟即可完成; 要方便管理公钥,控制权限,用Gitosis;

删除分支 git branch -d 本地分支名
克隆其余分支(自动建立对应关系)
git checkout -b 本地分支xxx origin/远程分支xxx
同名的话直接git checkout 远程分支 即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值