git視頻筆記

配置git

git config --global user.name fcj
git config --global user.email fcj@test.com
git config --global color.ui true
git config --list
vim ~/.gitconfig

創(chuàng)建repository

git init
git clone https://github.com/kennethreitz/requests.git

添加提交文件

git status
git add code.py
git commit -m 'init commit'
git三個(gè)環(huán)境:working directory(工作區(qū))、staging area(cache或index)、history

查看git狀態(tài)

git忽略文件:.gitignore
git status -s
  [][]表示staging area和working directory的改變
  [][M]本地修改沒(méi)add
  [M][]add后沒(méi)有commit
  [M][M]上次add沒(méi)有commit,且本地已再次修改
git add:從working directory到staging area
git commit:從staging area到history

查看文件差別

git diff:比較working directory和staging area
git diff --staged:比較staging area和history
git diff HEAD:比較working directory和history
簡(jiǎn)化git diff信息:git diff --stat

撤銷(xiāo)誤操作

git reset:從history恢復(fù)到staging area
git checkout:從staging area恢復(fù)到working directory
git checkout HEAD:從history恢復(fù)到working directory、且恢復(fù)staging area
git commit -am 'add commit':從working directory同時(shí)add到staging area,并提交到history:
working directory和staging area:git add <===> git diff <===> git checkout
staging area和history:git commit <===> git diff --staged <===> git reset
history和working directory:git commit -am <===> git diff HEAD <===> git checkout HEAD

刪除和重命名文件

git rm old.py:從本地和staging area刪除文件
git rm --cached code.py:從staging area刪除文件,但保留本地文件
git mv code.py code.go:重命名
  等價(jià)于:
  git rm --cached code.py
  mv code.py code.go
  git add code.go

暫存工作區(qū)

git stash:最新修改放入抽屜
git stash list:查看抽屜內(nèi)容
git stash pop:從抽屜中恢復(fù)

commit對(duì)象

git log
git log --oneline
三種對(duì)象:commit、tree、blob
每個(gè)對(duì)象都有哈希值
git cat-file -t HEAD
git cat-file -p HEAD
git cat-file -t 對(duì)象哈希:查看對(duì)象類(lèi)型
git cat-file -p 對(duì)象哈希:查看對(duì)象內(nèi)容

tree-ish表達(dá)式

git rev-parse HEAD
git rev-parse HEAD~
git rev-parse HEAD~4
git rev-parse master
git rev-parse master~
git rev-parse master~4:定位到commit
git cat-file -p master~4
git rev-parse master~4^{tree}:定位到commit下的tree
git rev-parse HEAD~4:code.py:定位到文件
git cat-file -p HEAD~4:code.py
git show HEAD~4:code.py
  git show <===> git cat-file -p

創(chuàng)建和刪除分支

git branch:列出所有分支
git branch tryidea:創(chuàng)建分支
git checkout tryidea:切換分支
git checkout master:切換回master
git branch -d tryidea:刪除分支

合并分支

git checkout -b tryidea:創(chuàng)建并立即切換分支
分支提交后必須合并才可以刪除
git checkout master
git merge tryidea
  Fast-forward
git branch -d tryidea
3-way merge:master也發(fā)生提交時(shí)

視頻地址

深入理解GIT
http://edu.51cto.com/course/1838.html

最后編輯于
?著作權(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)容

  • 因?yàn)樵奶L(zhǎng)超出字?jǐn)?shù),Lesson 3 就放在另一篇文章里 How to Use Git and GitHub 標(biāo)...
    赤樂(lè)君閱讀 5,496評(píng)論 1 5
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,872評(píng)論 1 26
  • 做產(chǎn)品多年,在自(產(chǎn))吹(品)自(包)擂(裝)時(shí),不止一次以“互聯(lián)網(wǎng)+”為噱頭來(lái)吸引眼球,連篇累牘的大話說(shuō)得自己...
    舞崖閱讀 991評(píng)論 0 51
  • 水是生命之源,地球表面積百分之七十被水所覆蓋,人體含水量大概是70%,離開(kāi)了水,人將無(wú)法生存。 人...
    桂花樹(shù)下閱讀 364評(píng)論 0 1
  • 大森很少看法國(guó)電影,更少看法國(guó)新浪潮大師們的作品,但最近偶然遇上一部電影,便翻來(lái)覆去看了三兩遍:特呂弗的《祖與占》...
    曹大森閱讀 534評(píng)論 0 1

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