Day26-Git

tips: 建遠(yuǎn)程庫(kù)時(shí)最好有 README .md, 別空空蕩蕩的

區(qū)別其他版本控制
git 分為工作區(qū), 版本庫(kù)的暫存區(qū)和版本庫(kù)的分支
git 操作的是文件的修改, 而不是文件. 我們?cè)诠ぷ鲄^(qū)修改過(guò)的文件 add 后進(jìn)入暫存區(qū), 再接著第二次修改后, 如果不 add, 直接 commit, 提交到分支里的是暫存區(qū)里的第一次修改

HTTPS 和 SSH

TODO

1. 建庫(kù)

cd [localUrl]   進(jìn)入本地目錄
git init    初始化git
git remote add origin [remoteUrl]    關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù), origin 是遠(yuǎn)程庫(kù)的默認(rèn)代稱.

2. 拉取

git pull origin master    拉取master分支里的倉(cāng)庫(kù). master是默認(rèn)主分支名稱
或者
git clones [remoteUrl]    直接拉取全部倉(cāng)庫(kù)到本地

3. 提交

git add xxx
git commit -m "提交信息"
git push -u origin master   將本地的master分支推送到origin主機(jī), 同時(shí)指定origin為默認(rèn)主機(jī)
之后的提交不用-u, 直接 git push origin master就行

4. 后悔藥-版本

git log    查看詳細(xì)提交信息,版本號(hào)等
git log --pretty=oneline    查看精簡(jiǎn)提交信息, 只有版本號(hào)和提交描述
git reset --hard HEAD^    回退上一個(gè)版本, HEAD^^回退上上個(gè)版本, HEAD~100往上100個(gè)版本
git reset xxxxxx    穿越到指定版本, 版本號(hào)還不必寫(xiě)全, git會(huì)自行查找, 但也不能太短
git reflog    再次打開(kāi)terminal時(shí)查看之前用過(guò)的命令

5. 查看工作區(qū)

git status    查看工作區(qū)哪些文件修改了, 修改的記得add.

6. 后悔藥-操作

git checkout -- file    撤銷修改.一定要加--, 不然checkout是在切換分支.
cheout的結(jié)果: 1.只是修改, 回到修改前. 2.add進(jìn)暫存區(qū)后又改了文件, 回到修改前也就是add后的
git reset file    撤銷add.

7. 刪除

git rm file
git commit -m "刪除描述"

8. 分支

git checkout -b dev    創(chuàng)建并選擇分支== git checkout dev + git branch dev.
git branch    查看所有分支
git branch dev    創(chuàng)建dev分支
git checkout dev    選擇dev分支
在dev分支操作一同后, 開(kāi)始合并
git merge dev    dev合并進(jìn)master
git branch -d dev    刪掉dev, 強(qiáng)行刪除把 D 大寫(xiě)

git log --graph    查看分支合并圖
git merge --no-ff -m "保留分支信息的合并描述" dev   以后能看出這里做過(guò)合并

9. 臨時(shí)保存現(xiàn)場(chǎng)

git stash    保存現(xiàn)場(chǎng)
git stash pop    恢復(fù)現(xiàn)場(chǎng).并刪除stash
或
git stash apply    恢復(fù)現(xiàn)場(chǎng), 刪除需要自己 git stash drop
git stash list    查看stash列表
git stash apply stash@{0}    恢復(fù)指定stash

10. 給提交打 tag

git tag v1.0    打tag, 默認(rèn)給最新的commit
git tag vx 622222    給指定commit 打tag
git tag    查看tag
git tag -a v0.1 -m "version 0.1 released" 3628164    用 -a 指定 tag 創(chuàng)建說(shuō)明文字 -m
git tag -s v0.2 -m "signed version 0.2 released" fec145a    給tag上密鑰
git -d tag v0.1    刪除tag

11. tag 推送到遠(yuǎn)程

git push origin v1.0
git push origin --tags    推送全部 tag
如果已經(jīng)推送到遠(yuǎn)程, 刪除tag會(huì)麻煩一點(diǎn)
git tag -d v0.9    先刪除本地tag
git push origin :refs/tags/v0.9    在刪除遠(yuǎn)程tag

拉取單個(gè)文件夾參考

  1. 初始化新倉(cāng)庫(kù)
    git init <repo>
    cd <repo>
    git remote add –f <name> <url>
  2. 打開(kāi) sparse-checkout 特性
    git config core.sparsecheckout true
  3. 配置.git/info/sparse-checkout, 列出你想要的 checkout 目錄
    echo some/dir/ >> .git/info/sparse-checkout
    echo another/sub/tree >> .git/info/sparse-checkout
  4. 拉取.(remote == name, branch 通常為 master)
    git pull <remote> <branch>

報(bào)錯(cuò)

Everything up-to-date

  1. 沒(méi)有 git add.
  2. 沒(méi)有 git commit -m "提交信息"

Couldn't find remote ref master

  1. 倉(cāng)庫(kù)里什么都沒(méi), readme,.gitignore.....

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,835評(píng)論 9 163
  • 本片內(nèi)容轉(zhuǎn)自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃兒閱讀 5,040評(píng)論 2 87
  • 文 | 三年 一三年十月五日夜 歸校途中 好久沒(méi)有再寫(xiě)過(guò)日志了,就連寫(xiě)日記的習(xí)慣也隨著我上大學(xué)開(kāi)始沒(méi)了 。 的確是...
    三年不回來(lái)閱讀 221評(píng)論 0 0
  • 漢室明妃天妒顏 ,風(fēng)情戚氏敗者歾。 驚鴻梅精話幽宮,奇魅蕭后歷滄桑。 世珍貴妃香消去,靜水西子淚轉(zhuǎn)彭。 董鄂恩寵芳...
    夢(mèng)亦人生閱讀 506評(píng)論 0 0
  • 咪咪姐,一個(gè)特別樂(lè)于助人的女孩兒。 樂(lè)于助人到什么程度呢? 就是生怕你聽(tīng)不懂,她會(huì)給你講的很詳細(xì)。 作為一個(gè)付出者...
    者行孫閱讀 739評(píng)論 0 2

友情鏈接更多精彩內(nèi)容