简明git使用
learn git branching一个git的沙盒(强烈推荐)
首先,使用菜鸟教程git,进行git的配置,再使用learn git branching一个git的沙盒(强烈推荐)进行学习git 的操作
git在github进行学习,看代码,提交
git log 显示提交日志
git status 命令可用于获取摘要,说明哪些变化的文件已暂存,准备下一次提交git add
git commit -m "这里是信息"=================
git branch 这个是分支名
新建分支
git checkout 这个是分支名
git switch 这个是分支名
切换分支
git checkout -b 这个是分支名
新建分支同时切换到这个分支
git merge 这个是分支名 将这个分支名合并到当前分支,形成一个提交记录
git rebase 这个是分支名
Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
git checkout <哈希值> 通过这个来指向具体提交记录git log 来查看提交记录的哈希值fed2 而不是上面的一长串字符^向上移动1个提交记录~<num>,向上移动多个记录提交,如~3git checkout main^ 切换到main的parent节点git checkout main^^ 切换到 main 的parent节点的parent节点git checkout main~3 切换到main的parent节点的parent节点HEADgit branch -f main HEAD~3Git Reset
git reset HEAD~1
git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。
Git Revert
git revert HEAD
恢复一些现有的提交
Git Cherry-pick
git cherry-pick <提交号>...
如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。我个人非常喜欢 cherry-pick,因为它特别简单。
交互式的 rebase
git rebase -i HEAD~4
会排序HEAD及后三位
如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改
在实际使用时,所谓的 UI 窗口一般会在文本编辑器 —— 如 Vim —— 中打开一个文件。 考虑到课程的初衷,我弄了一个对话框来模拟这些操作
我们可以把远程开发看成三部分,由于是分体式的
git clone 克隆远程的仓库git fetch 和git pushgit pull=git fetch + git merge
git pull --rebase=git fetch + git rebase
git clone 将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch --remotes可见),并创建、签出从克隆存储库当前活动的分支派生的初始分支。git clone xxx
my-feature是你featyre branch的名字git checkout -b my-feature
git diff 查看自己对代码做出的变化git add 上传更新后的代码至暂存区git commit 可以将暂存区里更新后的代码更新到本地gitgit push origin xxx 将本地的xxx git 分支上传到github 上git如果在写自己的代码过程中发现远端GitHub上代码出现改变)
git checkout main 切换回main分支git pull origin master(main) 将远端修改过的代码再更新到本地git checkout xxx 回到xxx分支git rebase main 我在xxx分支上,先把main移过来,然后根据我的commit来修改成新的内容git push -f origin xxx 把rebase后并且更新过的代码再push到远端github上