【面試題】常用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.命令速查表