# git常用命令
## 初始化倉庫:
```git init```
在當前目錄下新建一個Git倉庫。新建了一個 .git的隱藏目錄,倉庫的所有數據都放在這個目錄里。
## 跟蹤,暫存文件:
```git add```
將源文件的修改加入git倉庫的暫存區,待執行git commit時,正式將修改存入倉庫。或新建一個文件后 git add 文件名 跟蹤這個文件。
## 提交:
```git commit```
將暫存的修改提交入倉庫,git commit -a git commit --amend,覆蓋最后一次提交,將這次提交的內容和上次的提交合并,并使用新的commit message。這個命令似乎于這種情況:提交了一條commit以后,發現代碼修改得不完整,另外再提交一條會顯得很亂,使用這條命令可以將之前的提交取消,替換為新的提交。
## 查看日志:
```git log```
查看修改歷史
```git show```
查看某條提交的修改內容
## 分支創建分支:
```git branch mybranch```
## fetch,pull,push
```git fetch```
所有在遠程倉庫里的分支,都會出現在origin/這個命名空間之下。注意:origin/ 下的分支,實際上也是存在本地的.git目錄中的,就算斷網也是可以查看和使用的。
抓取遠程服務器上的分支的更新數據,并同步到origin/ 下,但不會修改本地分支的內容。比如服務器上的master分支在上一次clone之后發生了變化,git fetch命令可以用于抓取這部分變化的內容,同步在origin/master分支上。
```git pull```
git fetch 和git merge 的結合。先git fetch,然后將本地分支所關聯的遠程分支做merge。假設當前分支是master, 相當于執行: git merge origin/master
```git push```
將本地分支的修改推送到遠程服務器上。如果遠程服務器上沒有同名的分支,則會在遠程服務器上創建新的分支,并將本地分支與遠程分支做關聯。
## 重置:
```git reset --hard```
撤消一切本地的修改,將本地目錄恢復為最后一次提交時的狀態。包括被修改的文件,刪除的文件都會被恢復原樣。我們稱之為hard reset。
```git reset <hash值>```
soft reset,將git倉庫的狀態復原為commit hash指定的狀態,但不對本地目錄里的文件做任何操作。
## 查看兩個分支不同
```git log branch_1...branch2```
- Linux Server
- 實用命令
- services
- Samba
- /etc/samba/smb.conf
- NFS
- Http
- httpd.conf
- lamp
- FTP
- /etc/vsftpd/vsftpd.conf
- ftp實例
- iSCSI
- SElinux
- DNS
- master
- slave
- subdomain
- 相關配置文件
- /etc/hosts
- /etc/resolv.conf
- /etc/named.conf
- /var/named/named.ca
- /var/named/named.localhost&named.loopback
- DHCP
- /etc/dhcp/dhcpd.conf
- mysql
- Redis
- Git
- HAProxy
- haproxy
- openssl
- nodejs