北京公司响应式网站建设价位,政务网站建设目的_意义,南京房地产网站建设,青岛君哲网站建设公司1、git原理及整体架构图 一些常用的命令 git add . 或 git add src/com/ygl/hello/hello.java 指定文件 git commit . 或 git commit src/com/ygl/hello/hello.java 指定文件 git push origin 分支名称
2、git stash的应用场景
场景一#xff1a;你正在当前分支A开发…1、git原理及整体架构图 一些常用的命令 git add . 或 git add src/com/ygl/hello/hello.java 指定文件 git commit . 或 git commit src/com/ygl/hello/hello.java 指定文件 git push origin 分支名称
2、git stash的应用场景
场景一你正在当前分支A开发开发到一半需要切换到分支B去修改bug 方法一紧急情况 ① git stash ② git checkout B,在B分支处理完成后 ③ git checkout A ④ git stash pop 方法二不紧急情况 先开发完成A分支并且提交后切过去B分支解决bug
场景二代码开发完成了准备提交 ① git stash ② git pull ③ git stash pop ④ 本地可能出现冲突情况如果冲突的直接解决就好 ⑤ git commit -m “注释” ⑥ git push origin 分支名字
关于git stash一些常用命令 存入栈 git stash git stash save “注释”
取出栈 git stash pop stash{0} git stash apply stash{0} 说明如果apply是获取栈的信息但是步删除栈pop会删除栈顶如果pop上面有栈压着他的效果跟apply一样都不会删除栈
清理 git stash drop stash{0} git stash clear 清楚所有栈
查看 git stash list 查看所有栈 git stash show stash{0} 查看某个栈
3、理解rebase与merge的区别
rabase变基: 原来节点的版本版本号会改变 merge合并原来节点保留新增一个节点去合并 实现的目的是一样的只是展现形式或者场景不一样
4、各种场景的代码回滚方式
① 在工作区 git checkout 分支名称 ② 在暂存区 git reset HEAD commit_id git checkout 分支名称 ③ 在本地仓库见第7点 git reset --soft commit_id 回退后代码存放在暂存区 git reset --mixed commit_id 回退后代码存放在工作区 git reset -hard commit_id 回退后直接删除代码了
5、smart checkout与force checkout区别
smart checkout 会把冲突的这部分代码带到目的分支 force checkout : 不会把冲突带到目的分支但是会删除当前分支新增的东西
6、如何撤销已经push到远程的修改及撤销错如何恢复
撤销 ① 找要回退到的版本号 :git log ② 回退git reset --soft 4cf2621742ae2beac4e54533df63037e6dfadb18 ③ 强推git push origin ygl02 --force
需要注意的是别人在你撤销前拉取你需要回退的代码如果别人再次提交会导致代码恢复 解决办法① 让别人提交代码再去解决 ② 你解决后让别人再次拉取最新代码再做提交
恢复 ① 通过 git reflog找到原来的版本 ② 跟上面的②③过程一样
git中reset和revert的区别是什么 区别 1、reset是彻底回退到指定的commit版本该commit后的所有commit都将被清除而revert仅是撤销指定commit的修改并不影响后续的commit。 2、reset执行后不会产生记录revert执行后会产生记录。
使用git revert commit_id - git push origin ygl01 还原git revert --abort
7、理解soft、mixedhard区别
从本地仓库回退到不同的地方 git reset --soft commit_id 回退后代码存放在暂存区 git reset --mixed commit_id 回退后代码存放在工作区 git reset -hard commit_id 回退后直接删除代码了
8、git status 、git log 、 git reflog的使用
git status 查看文件的提交状态 git log 查看提交版本日志 git reflog 查看所有版本提交日志包括回退的版本
9、如何查看本地分支与远程分支及当前选中的分支
查看本地分支 ① git branch 注有*号表示当前分支 ② git branch -v 包括一些当前版本号等信息
查看远程分支 ① git branch -r ② git brean -rv
查看所有分支信息 git branch -a
10、IDEA中用Terminal进行git commit输入中文再进行修改时出现乱码的问题解决
第一步
# --注释该命令表示提交命令的时候使用utf-8编码集
git config --global i18n.commitencoding utf-8
# --注释该命令表示日志输出时使用utf-8编码集显示
git config --global i18n.logoutputencoding utf-8 第二步LESSCHARSETutf-8 第三步重启idea
11、查看当前提交的文件
git show --name-only 只看名字 git show; 看全部
12、git pull和git pull --rebase的区别和使用
使用下面的关系区别这两个操作 git pull git fetch git merge git pull --rebase git fetch git rebase
git pull git fetch git merge FETCH_HEAD git pull --rebase git fetch git rebase FETCH_HEAD
差距就在git fetch之后的合并操作合并操作有两种方式 git merge和git rebase
13、git clone、git pull和git fetch的用法及区别
git clone克隆的是整个远程库。 git clone https://github.com/tensorflow/tensorflow.git
git fetch克隆的是远程库的一个分支。 git fetch更新本地仓库的两种用法
# 方法一
$ git fetch origin master #从远程的origin仓库的master分支下载代码到本地的origin maste
$ git log -p master.. origin/master #比较本地的仓库和远程参考的区别
$ git merge origin/master #把远程下载下来的代码合并到本地仓库远程的和本地的合并
# 方法二
$ git fetch origin master:temp #从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp #比较master分支和temp分支的不同
$ git merge temp #合并temp分支到master分支
$ git branch -d temp #删除temp
git branch -D temp #注意删除时需要两次确认删除才会删除
git pull是拉取远程分支更新到本地仓库的操作 git pull的用法
$ git pull 远程主机名 远程分支名:本地分支名举例将远程主机origin的master分支拉取过来与本地的branchtest分支合并。
$ git pull origin master:branchtest如果将冒号和后面的branchtest去掉则表示将远程origin仓库的master分支拉取下来与本地当前分支合并。 以上的git pull操作如果用git fetch来表示
$ git fetch origin master:brantest
$ git merge brantest14、如何创建新的分支
git branch dev
以有的分支创建新的分支 git checkout -b yourbranchname origin/oldbranchname
15、cherry-pick学习 16、git diff 没有点、两个点和三个点的区别比较冷门理解不了可以不看看自己是否感兴趣
git 命令中的点总是让人有疑惑在不同的地方有不同的意思那git diff 中的点代表什么有的不加点有的两个点有的三个点
我首先要明确git log 和 git rev-list 一样都是表示的一个范围 git diff 的参数不是标识范围就是标识两个commit 之间的差异跟范围没有关系
这里有两个commit foo 和 bar 也可以是两个分支如果是分支意味着要比较分支的head
git diff foo bar: 比较 foo 和 bar两个commit点的差别 git log foo…bar 等同于上面不加点 比较 foo 和 bar两个commit点的差别 git log foo…bar 等同于 git diff $(git merge-base foo bar) bar 比较的foo和bar merge base那个点最近的共同的parent和 bar 还是上图说明更容易理解 和 git log 相比git diff 是两个commit点的比较不涉及范围没有点和两个点代表直接比较三个点代表从merge点开始比较 在gitlab web页面上的diff 就是用的三个点的方式
17、git diffgit log 三点 和 两点的区别冷知识 18、一些配置公钥私钥配置涉及到的命令
配置git ,打开Git Bash添加用户名和邮箱自己名字拼音 git config --global user.name “zhangshan” git config --global user.email “zhangshanqq.com” git config --global core.autocrlf false ssh-keygen -t rsa -C “zhangshanqq.com” 然后按三次回车
复制key到git平台上setting也可以用命令cat id_rsa.pub