柚子快報邀請碼778899分享:學習git筆記01
柚子快報邀請碼778899分享:學習git筆記01
一、安裝git
去官網(wǎng)下載(www.git-scm.com),然后直接安裝就行
二、git的一些基本知識和基本命令(個人理解,錯誤請指正)
git工作流程 ?三棵樹 在自己的工作目錄修改或添加文件 將需要進行版本管理的文件,放在暫存區(qū)---------暫存區(qū) ?index 將暫存區(qū)的文件提交到git倉庫------------也叫head
新建文件夾,初始化git--------git init 將工作目錄的文件,放到git倉庫需要兩步(將文件放入暫存區(qū),將文件提交到git)------git ?add 文件名字;git commit -m “說明” 將工作目錄的全部文件,放到git倉庫--------------------------------git commit -am “說明”
查看當前項目下的文件狀態(tài)--git status ? 紅色為沒有放入暫存區(qū),綠色為放入了暫存區(qū)
將暫存區(qū)的文件,恢復到工作目錄(會覆蓋當前工作的同名文件)----git ?restore 文件名
撤銷暫存區(qū)的更改,不會影響工作目錄的文件-----git restore --staged 文件名
查看提交的日志,通過提交的id,可以找到提交的不同的版本---git ?log
reset的三種用法(不寫 默認--mixed) 1、移動head的指向,將其指向上一個快照 2、將head移動后指向的快照,回滾到暫存區(qū)域 git reset --mixed head~
1、移動head的指向,將其指向上一個快照 git reset --soft head~
1、移動head的指向,將其指向上一個快照 2、將head移動后指向的快照,回滾到暫存區(qū)域 3、將暫存區(qū)的文件還原到工作目錄 git reset --hard head~
回滾指定id的快照-----git reset ?id的前五位 回滾指定的文件----git reset 版本快照 文件名或者路徑(此時head的指針不會改變)
比較暫存區(qū)和工作目錄的文件---git diff(-代表暫存區(qū),+代表工作目錄) 比較兩個倉庫的歷史快照---git diff ?快照id ?快照id 比較倉庫和工作目錄的快照----git diff ?快照id(-代表倉庫,+代表工作目錄) 比較暫存區(qū)和倉庫的快照----git diff --cached 快照id(-代表倉庫,+代表暫存區(qū))
將緩存區(qū)提交并更新最近的一次提交,不產(chǎn)生新的提交----git commit --amend(會進入一個編輯模式,可以編輯提交說明) 不進入編輯模式,直接提供說明,將緩存區(qū)提交并更新最近的一次提交-------------git commit --amend -m "說明的文字"
刪除添加到暫存區(qū)的文件-------------git ?rm ?--cached 文件名 將工作目錄和提交到緩存區(qū)的文件,重命名-----------git mv 舊文件名 ?新文件名
git實現(xiàn)分支,只是分配一個指針,指向一個快照,將這個指針刪除了,快照還是存在的 創(chuàng)建分支----------git branch ?分支(創(chuàng)建的分支,指向的是倉庫最近的提交版本) 查看git日志,并且顯示所有分支---------git ?log --decorate 切換分支,也就是把head指針,指向創(chuàng)建的分支-----------git ?checkout ?分支名(切換分支后,會根據(jù)該分支指向的版本,還原緩存區(qū)和工作目錄);git switch 分支名 切換已經(jīng)刪除的分支,指定一個快照id--------------------git ?checkout -b 分支名 快照id 以圖形化的形勢顯示日志--------git ?log --decotate --oneline ?--graph --all 查看所有分支,*號標識的就是當前分支---------------git branch
沖突:兩個分支中存在文件名相同但是同一行內(nèi)容不同的文件 解決沖突:git需要你來決定保留哪一個文件,去掉哪一個文件 合并分支到本分支--------git merge 分支名(合并有沖突,沖突的文件不會提交到緩存區(qū),還在工作目錄。需要手動提交到緩存區(qū)并提交到倉庫) 合并存在沖突時,終止合并---------git merge --abort 刪除已合并的分支--------------------------------git branch -d 分支名 刪除未合并的分支-----------git branch -D 分支名
把遠程倉庫克隆到本地----------git clone 遠程倉庫地址(如果用的是ssh地址,需要本地生成密鑰,在gitee點克隆會有生成密鑰的提示步驟) 將本地倉推送到遠程倉庫---------git push 查看當前本地倉庫關聯(lián)的遠程倉庫名和地址-------git remote -v
本地倉庫與遠程倉庫建立連接 1、本地和遠程都要存在一個倉庫 2、與遠程倉庫建立連接------git remote add ?origin(遠程倉庫的別名,一般叫這個) ?遠程倉庫的地址 3、推送本地分支并建立遠程分支---------git push -u origin(遠程倉庫的別名,一般叫這個) ? master:master(本地分支名稱:遠程分支名稱,名字一樣可以寫成master)
拉去遠程倉庫到本地倉庫,git會自動進行一次合并,如果有沖突就合并失敗,需要手動解決沖突-------git pull 遠程倉庫別名 ?遠程倉庫名字:本地倉庫名(git pull origin master:master)
將本分子變基到目標分支--------git rebase 目標分支名(會將本分支與目標分支,分叉的提交快照,添加到目標分支上,形成一條直線)
?
柚子快報邀請碼778899分享:學習git筆記01
精彩內(nèi)容
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。