0


【Git】常用命令

Git命令游戏教程网站:https://learngitbranching.js.org/?locale=zh_CN

日常使用

命令

  • git push

1.不省略的写法

适合

<本地分支名>

<远程分支名>

不一样的情况

将本地的

dev

分支上的代码推送到远程主机名为

origin

test

的分支上。如果远程的

test

分支不存在,则会被创建

git push origin dev:test

2.省略:<远程分支名>

本地分支名和远程分支名一样的情况

git push origin dev
  • 查看git分支的编号
git log --oneline

  • 切换分支
git checkout [branch]

注意:在切换分支之前,当前分区工作目录的文件一定要提交到git仓库中,保持当前分支工作区完全干净。

  • 新建一个分支,并切换到该分支
git checkout -b [branch]
  • 新建一个分支,HEAD指向远程仓库的指定分支,并切换到该分支
git checkout -b [新分支] origin/[远程分支名]
  • 从当前分支下的某个指定commit新建分支
git checkout -b [新分支] [commit-id]

例子:当前分支的git log

分支1

分支2

分支3

现在希望从分支2新拉一个分支,命令为git checkout -b new-branch 分支2的commit-id

  • 重命名分支

(已经切换到要重命名的分支)

git branch -m new_name

(在其他分支)

git branch -m old_name new_name
  • 合并分支merge

要使main主分支包含所有修改的代码:要把bugFix分支(c2位置)合并到main主分支(原本在c3位置),必须先切换到main分支,然后输入

git merge bugFix

现在的main(c4位置)有两个父节点,它包含对代码库的所有修改。

  • 合并分支 rebase

(Rebase 实际上就是取出一系列提交记录,“复制”它们,然后在另外一个地方逐个的放下去。rebase较于merge的优势是可以创造更线性的提交历史。)

1)要使main主分支包含所有修改的代码:要把bugFix分支(原本c3位置)合并到main主分支(c2位置),先切换到bugFix分支,然后输入

git rebase main

但main尚未更新。

这里的 c3' 是我们 Rebase 到 main 分支上的 c3 的副本。

2)切换到main上,

git rebase bugFix

。现在main包含对代码库的所有修改。

这里由于bugFix继承自main,所以git只是把main分支的引用往前移动了一下而已。

[整理提交记录]

  • cherry-pick,把一些提交复制到当前位置(HEAD)下面

输入命令

git cherry-pick c3 c4 c7

cherry-pick和rebase不同,它可以只将我们指定的部分提交记录放到当前分支下。

  • fetch

同步远程服务器上的数据到本地:

git fetch origin
git pull

的操作结果=

git fetch

+

git merge

(但工作原理不同)。

git fetch

将远程仓库的代码下载过来,同一块代码远程和本地不同 需要经过确认后

merge

为一个新的代码版本;

git pull

基于本地代码,不经过确认,直接将远程代码合并到本地。

  • 如果当前分支修改的文件没有提交到git仓库,直接checkout 其他分支/master分支,会发生什么情况
标签: git github

本文转载自: https://blog.csdn.net/u012161251/article/details/130960716
版权归原作者 Musecho 所有, 如有侵权,请联系我们删除。

“【Git】常用命令”的评论:

还没有评论