使用 .gitignore来忽略档案
有时候会需要避免一些档案进入到版本控制当中,比如暂存档、测试的档案...,这个时候就可以使用.gitignore来忽略掉他们,将他们排除在版本控制当中。
新增 ".gitignore" 档案
使用git status
确认目前状况 :
先前有预先新增一些不同档案类型的档案为了进行忽略测试,而.gitignore这个档案无法被忽略掉,因为其他的团队成员也会需要对它进行变更。
在 ".gitignore" 中输入需要忽略的档案或档案类型
在.gitignore档案中输入index.html,表示对 "index.html"这个档案进行忽略,所以再次使用git status
来查看状况会发现index.html被忽略了。
若要略掉同一个档案类型
的档案,可以在.gitignore中输入*.档案类型
来忽略同一种档案类型的档案,底下的範例是在.gitignore中输入*.html
来忽略掉所有html的档案类型。
忽略整个资料夹
在专案中新增一个资料夹"css"里面存放all.css,若要使用.gitignore来忽略掉整个资料夹,可以在.gitignore中新增资料夹名称/
来忽略掉整个资料,利用git status
可以看到多了一个css/的资料夹未被加入到控管中。
在.gitignore中填入css/
来忽略掉css资料夹。
取消索引
若在撰写专题的时候,一开始将档案1加入到索引当中,但是可能最后发生问题导致档案1不再被需要,也就是不需要在索引中也不需要commit到本地数据库中,这时候就可以使用取消索引功能来移除掉不必要的索引。
将"all.css"与"all.js"加入到索引中
新增两个档案(all.css与all.js)并将他们加入到索引中,并使用git status
观察状态,确认两个档案都被加入到索引中。
git reset HEAD -> 全部档案取消索引
利用git reset HEAD
移除掉目前存在在索引当中的全部档案。
透过git status
可以看到先前加入到索引的all.css与all.js被取消了索引。
git reset HEAD 档案名称 -> 将单一档案取消索引
利用git set HEAD all.css
移除掉索引中的all.css这个"单一"个档案。
透过git status
可以看到all.css被取消了索引,由于是单一档案的取消,所以all.js还存在在索引中。
还原档案
有些时候载撰写网页时,会发生因为更动了程式码而导致网页无论是板型还是功能坏掉了,但是却找不到更动了什么地方,这时候就可以使用还原档案的功能来回到上一次commit的版本。
更改index.html中的内容
git checkout 档案名称 -> 将指定的档案回到上一个commit的状态
对于index.html来说,上一个commit的状态index.html里面是空的,所以使用git checkout index.html
来回到上一个状态。
git reset --hard -> 还原整个工作目录到上一个commit的状态
在进行一些专案的时候,可能在工作目录上新增了许多资料(css,js...),但是当不需要这些档案的时候,可以使用git reset --herd
来还原整个工作目录到上一个commit状态。
目前的工作目录中存在着新加入的all.cs跟all.js两个档案,于是可以使用git reset --herd
将整个工作目录到上一个commit状态(只有一个index.html)。
参考资料 :
掌握 Git 与 Github 程式时光机