1.在本地新建一文件夾用來存放項(xiàng)目代碼 (和遠(yuǎn)端項(xiàng)目同名)
2.進(jìn)入該文件,右鍵選擇 git bash here,打開命令窗后,輸入初始化命令:git init
3.命令行:git remote add origin 后面是項(xiàng)目所在遠(yuǎn)程倉庫地址(不是遠(yuǎn)程分支名稱,而是倉庫地址)
4.拉取遠(yuǎn)程分支到本地:git fetch origin dev(dev是你要拉取的遠(yuǎn)程分支名稱)
5.在本地創(chuàng)建dev分支并且切換到該分支:git checkout -b dev(本地分支名稱)
6.拉取分支到本地:git pull origin dev(遠(yuǎn)程分支名稱)
另外其他一些指令,是學(xué)習(xí)后總結(jié)的一些可能會用到的內(nèi)容,在分享一個(gè)學(xué)習(xí)網(wǎng)站,git小游戲Learn Git Branching:
#git
git rebase和merge的區(qū)別:git rebase會改變總的提交進(jìn)程,會合并掉,中間一系列的合并看不到過程,篡改歷史,全部把提交記錄合并到一個(gè)總線;git merge 可以看到中間詳細(xì)不同分支的合并過程,不按照時(shí)間順序,且會生成一個(gè)新提交
git rebase 分支A 說明:將當(dāng)前的分支合并到,并按照時(shí)間順序排列commit,在遠(yuǎn)程端不適合使用rebase,除非只在自己個(gè)人的分支上,適合使用,因?yàn)閞ebase會改變遠(yuǎn)程的提交基線,如果別人先clone下來,后續(xù)基線發(fā)生變化,又要重新合并
git rebase -i main #界面化可以省略掉中間的提交
git rebase 分支A 分支B 說明:將分支B變基到分支A的最新版本上,如果是分支B留空則是將當(dāng)前分支變基到分支A的最新版本上
git cherry-pick C4 C5 C6 #可以單獨(dú)取幾個(gè)分支來合并
git commit --amend #修改commit,會改變commitid
git branch -f 分支A 分支B 說明:將分支A指向分支B
git tag v1 main~2 說明:將分支main的前面兩個(gè)分支標(biāo)注v1
git rebase適用場合:1.不能在和別人共享的分支上使用rebase,否則如果改掉基線,commitid會改變,導(dǎo)致別人本地的基線沖突;2.可以用在很久沒有更新的本地代碼上
git pull = git fetch + merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
ls -a #顯示隱藏的。git文件夾
在~/.gitconfig文件中配置如下參數(shù)[alias]:
l0 = log --color --graph --decorate --pretty=oneline --abbrev-commit --date-order
l1 = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
l2 = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
l3 = log --graph --pretty=format:'%h -%d %s (%ci) <%an>' --abbrev-commit --date=relative
git push -u origin likx_test #可以重新指定與遠(yuǎn)程同名的分支(推薦這種方式,執(zhí)行之后以后就可以git push了)
git remote prune origin #git清除本地有遠(yuǎn)端沒有的分支
情況一:未使用 git add 緩存代碼時(shí):
// 放棄單個(gè)文件修改,注意不要忘記中間的"--",不寫就成了檢出分支了!
git checkout -- filepathname
// 放棄所有的文件修改
git checkout . ?
情況二:已經(jīng)使用了 git add 緩存了代碼:
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)來放棄指定文件的緩存,放棄所有的緩存可以使用 git reset HEAD . 命令。
此命令用來清除 git 對于文件修改的緩存。相當(dāng)于撤銷 git add 命令所在的工作。在使用本命令后,本地的修改并不會消失,而是回到了如(一)所示的狀態(tài)。繼續(xù)用(一)中的操作,就可以放棄本地的修改
情況三:已經(jīng)用 git commit 提交了代碼:
可以使用git reset HEAD^,不刪除工作空間提交的代碼,撤銷 commit,并且撤銷 git add . 操作。
注意:-mixed 為默認(rèn)參數(shù)。git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一樣的。
git reset --soft HEAD^,不刪除工作空間提交的代碼,撤銷 commit,但不撤銷 git add . 操作。
注意:就是說僅僅是撤回提交,修改的代碼仍然保留在本地倉庫。
git reset --hard HEAD^
刪除工作空間提交的代碼,撤銷 commit,并且撤銷 git add . 操作。
注意:就是說即撤回后,本地提交的代碼也不保留。就等于恢復(fù)到了上一次的 commit 狀態(tài)。
你可以使用 **git log **命令來查看git的提交歷史。git log 的輸出如下,之一這里可以看到第一行就是 commitid
撤銷 git reset --hard HEAD~1
方法一:
1.先通過git reflog找到上一次的歷史提交記錄id,git如果沒有特意設(shè)置,是會保存記錄一段時(shí)間的(a few days or a month)
2.git reset --hard [id]
方法二:
git reset --hard HEAD@{1} 直接回到剛才的那個(gè)結(jié)點(diǎn),{}中表示的是結(jié)點(diǎn)的序號
git clone 后,會分離出項(xiàng)目的文件。
誤刪除了,可以使用以下命令恢復(fù):
#先檢查一下git狀態(tài)
git status
#通過如下命令重新分離出文件文章來源:http://www.zghlxwxcb.cn/news/detail-618732.html
git checkout -f HEAD文章來源地址http://www.zghlxwxcb.cn/news/detail-618732.html
到了這里,關(guān)于通過git從gitlab上拉取代碼并關(guān)聯(lián)項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!