Git 的每個分支的管理類似于 鏈表 ,每次提交都會產(chǎn)生一個SHA1的唯一標識符僵井。此唯一標識符是引用的指針。后續(xù)的增刪改查操作都可以基于這個指針進行索引操作。
(1)查看用戶名與密碼配置
vim ~/.gitconfig
- git config user.name
- git config user.email
(2)下載github分支上的代碼
(3)查看所有分支
git branch
(4)切換分支
git checkout 分支名
(5)強行切換分支
git checkout -f 分支名
(6)查看當(dāng)前倉庫的所有配置
git config --list
(7)對git命令進行別名配置
git config --global alias.st status
對git status進行配置辙纬,可使用git st進行別名使用
(8)git commit
git cmmit必須寫提交信息 git commit -m ' do what '
(9)創(chuàng)建一個本地倉庫并拉去推送項目的步驟
- git init
- git add .
- git commit -m ' info '
- git remote add origin 倉庫地址
-
git push -u origin master
image.png
(10)回退提交到本地的代碼到未提交狀態(tài)
git reset --soft origin/master
如果提交遠程失敗會提交到本地,再push一下就可以了
(11)克隆跟提交時
需要先PING一下對應(yīng)的網(wǎng)址 如: gitee.com 去找到ip地址
然后去 hosts文件里面添加相應(yīng)的地址映射
(12)當(dāng)stash pop解決沖突時叭喜,如果采用自己的作為標準贺拣,然后再去更新?
(13)stash pop失敗時就git reset --hard
(14)查看當(dāng)前的倉庫源
npm config get registry
設(shè)置倉庫源回npm
npm config set registry http://registry.npmjs.org
(15)
暫存本地修改后捂蕴,拉取遠程更新后譬涡,再彈出暫存時,可能會發(fā)生錯誤启绰,把有錯誤的文件可以先刪除再stash pop
(16)回退到上一個提交的版本
git reset --hard HEAD^
還可以根據(jù)哈希id來進行回退
(17)記錄你的每一次命令
git reflog
(18)
沒有放入暫存區(qū)的修改不會被提交
(19)
丟棄在工作區(qū)的修改
git checkout -- fileName
使用 git reset HEAD fileName 命令將暫存區(qū)的文件回退到工作區(qū)
(20)刪除文件
git rm fileName
(21)分支管理
(22)rebase
- rebase操作可以把本地未push的分叉提交歷史整理成直線昂儒;
- rebase的目的是使得我們在查看歷史提交的變化時更容易,因為分叉的提交需要三方對比
(23)
git add === git stage
git commit --amend
(24)
(25)刪除遠程分支
- git push origin --delete [ branchName ]
- git branch -dr [branchName]
將本地創(chuàng)建的分支推送到遠程倉庫 git push --set-upstream origin dev
(26)選擇一個commit委可,合并進當(dāng)前分支
- git cherry-pick [ commit ]
(27)HEAD
git checkout命令可以在版本之間隨意切換渊跋,它的本質(zhì)是移動HEAD指針。
形象的講着倾,HEAD就是景區(qū)地圖上標注你當(dāng)前在哪里的一個圖標拾酝。
你當(dāng)前在哪里,HEAD就在哪里卡者。它一般指向某個分支蒿囤,因為一般我們都會在某個分支之上。
因為HEAD是用來標注當(dāng)前位置的崇决,所以一旦HEAD的位置被改變材诽,工作目錄就會切換到HEAD指向的分支底挫。
(28)revert 對沖
revert 的作用就是生成一個新的、完全相反的commit脸侥。
(29)貯藏
- git stash
- git stash list
- git stash drop
- git stash apply 不會將貯藏列表刪除
- git stash pop
(30)展示任意分支某一文件的內(nèi)容
- git show <branch-name>:<file-name>