Git 常用命令记录每天来一遍防止忘记(练习记录中)
记录一些git 常用命令,每天敲一遍,防止忘记
1.$git add
后续补充
2.$git commit
git commit 文件名.txt -m 这是第一次提交
提交文件到当前分支
git push
git status
查看本地仓库状态,包含 当前分支名称, 文件变更状态等
git branch(操作的是commit基线 基点)
查看本地仓库的所有分支,带*号的表示是当前分支,注意:只展示本地有的
git checkout
git checkout -b <新分支名><模板名(默认当前所在分支名为模板)>
创建一个新的分支(在当前所在分支上复制出一个新的分支副本出来),继承当前分支的所有提交记录
git checkout 指定分支名
切换到指定分支
git rebase
$git rebase master
更新master分支(模板分支)上的commit内容到当前分支,
通常情况下,新的分支会和模板分支的提交记录会与模板分支保持一一致
rebase 将模板的提交记录更新到当前分支,(base就是指commit)
总结:以模板为基线分支,遍历副本提交的所有commit 节点进行merger操作
checkout一个模板后,如果模板更新了,那么本地checkout模板的基础也进行更新
当然:rebase过程也是可能存在冲突的,commit 5和后面的代码产生冲突了,也需要解决,然后再提交
git rebase master --这个时候冲突的话怎么办,解决冲突
git add --自动添加所有文件到暂存区
git rebase --continue --进行下一个节点的遍历和merger操作,直到遍历完成
git merge
git merge 分支名称
合并分支的变更,而不是分支的内容,把2个不同分支的变更 合并到企业
基于master分支下 的1.0.0分支 复制了2个分支 分支A 分支B
A,B分支开发完成之后,审核员需要把A ,B分支都合并到1.0.0分支上
git checkout 1.0.0
git merge 分支A
git merge 分支B
在merge分支B的时候可能出现内容冲突,手动解决后,再次git commit
git cherry-pick
git stash
git log
git reflog
查看所有的提交历史记录,包含reset操作前前后后的,属于全量日志
git remote
git clone
$git clone git@github.com:villagechief/testrepository.git
从远端仓库克隆(下载)完整项目到本地(包含所有的分支)
git pull
git pull操作其实是git fetch 与 git merge 两个命令的集合。从远端先fetch再合并到本地当前分支
git pull 等效于先执行 git fetch origin 当前分支名(远端存在的分支), 再执行 git merge FETCH_HEAD.
git fetch
→→ 这将更新git remote 中所有的远程repo 所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
注意:git fetch 本地分支中不会自动创建 远端仓库新增的分支,仍然需要进行checkout
git push
$git push
推送当前分支内容至远端仓库里
问:如果当前推送的分支,远端仓库没有会怎么样?,当然会报错,如下
解决方案,参考提示说明操作
$git push -set-upstream origin bc-a
将bc-a作为本地当前分支的上游分支(等于变相在远端仓库创建了一个新的分支)
-set-upstream :设定上游分支
origin:远端仓库名
bc-a:设定本地当前推送分支的远端上游分支
设置好远端分支之后,就可以直接 使用$git push 提交本地当前分支的代码到远端上游upstream 对应分支
如果本地分支是直接从远端仓库进行 checkout出来的(命令是:git checkout -b 新的本地分支名 origin 远端分支名),那么就不需要设置上游分支,可以直接git push
git reset
回退commit 的版本
$git reset 版本号hash值
三种 附加命令
$git reset 版本号hash值 --hard
不保存所有变更回退(还原到commit 的 id里面的原始内容,没有任何新增修改)
$git reset 版本号hash值 --soft
保留变更切变更内容出于Staged(已经是add 过后的状态,在暂存区)
$git reset 版本号hash值 --mixed
保留变更且变更内容出于Modified(已经commit过了,但是又进行了修改)
参考文档:
https://www.bilibili.com/video/BV1BE411g7SV?spm_id_from=333.999.0.0&vd_source=055192d1985d3ca452b1676f4cb8d92e
https://blog.csdn.net/json159/article/details/82714784