【面试题】常用Git命令
- 1. 常用Git命令
1. 常用Git命令
1.git clone git clone https://gitee.com/Blue_Pepsi_Cola/straw.git
2.使用-v选项,可以参看远程主机的网址
git remote -v
origin https://ccc.ddd.com/1-java/a-admin-api.git (fetch)
origin https://ccc.ddd.com/1-java/a-admin-api.git (push)
3.git remote show命令加上主机名,可以查看该主机的详细信息。
git remote show <主机名>
如:git remote show origin
4.删除远端分支 git push origin --delete feat-20221031-amis
5.查看远端分支 git branch -r
6.创建新分支 (在一个分支的基础上创建另一个分支)
回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支
git checkout -b newBrach origin/master
如果远程新建了一个分支,本地没有该分支。可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。
7.切换分支 ➜ straw git:(master) git checkout dev
8.本地分支与远程分支的关联关系 查看关联关系我们可以使用 git branch -vv 命令
9.刷新远端分支 git remote update origin -p
- git 撤销已经commit且没有push的代码 git reset --soft HEAD^
补充:如果你已经执行了 git merge,但还没有执行 git push,那么取消 merge 很简单。你可以使用 git reset --merge 命令来撤销合并并回到合并之前的状态。
11.git merge --no-ff
git merge --no-ff dev
dev是被合并的分支,即当前在master分支输入此命令,会将dev分支的代码合并到master
在使用使用git merge 代码合并时, git merge默认使用的时“快进”(fast-forward)模式。
12.git reflog 可以查看到已删除的记录
13.大项目分支合并
首先,我开发一个新功能从master拉出一个新分支 feature - xxx;
然后,我的新功能开完完毕之后,我应该在 feature - xxx merge master
git merge master --no-ff
git push
然后, git checkout master 、git pull git merge feature-xxx
最后push上去
14.本地新建项目,且gitee也新建仓库下,如何把本地代码提到远端
git config --global user.name “f”
git config --global user.email “f_email@163.com”
mkdir straw
cd straw
git init
touch README.md
git add README.md
git commit -m “first commit”
git remote add origin https://gitee.com/f/straw.git
git push -u origin “master”
15.代码未push 如何切换分支
git stash
git stash pop
16.工作区与暂存区
工作区就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
17.代码撤销回退至上一个版本
git reset --hard的作用是将当前分支的 HEAD 指针重置到指定的提交(commit),并且将暂存区和工作目录都重置为指定提交的状态,这样就可以撤销之前的提交和修改。
git reset --hard HEAD~1
git push -f
18.回退至某一版本
git reset --hard 重置到指定提交。要注意使用git reset --hard命令会丢弃工作目录和暂存区中未提交的修改。
git reset --hard cb10754a
19.后悔药
我们通过命令git reset --hard 回退到了指定版本,但是这个版本之后的代码却消失了。但是我们又想回到某个版本(回退版本之后发的代码版本),这时就需要用到命令 git reflog就可以查看历史commit-hash
20.另一种版本回退的方法 git revert
git revert 命令用于撤销之前的提交,它会创建一个新的提交来撤销指定提交的更改,而不是直接修改历史记录。这意味着 git revert 不会改变历史记录,而是在历史记录上添加新的提交来撤销之前的更改。
git revert 43af9965 43af9965为要回退的某一版本的commit-hash,但是会在git记录中记录下这次revert
21.命令速查表