简明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>
,向上移动多个记录提交,如~3
git checkout main^
切换到main
的parent节点git checkout main^^
切换到 main
的parent节点的parent节点git checkout main~3
切换到main的parent节点的parent节点HEAD
git branch -f main HEAD~3
Git 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 push
git 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上