安裝git
Debian系列
- 安裝git
sudo apt-get install git
- 如果存在爲解決依賴,使用
sudo apt-get -f install
來解決依賴問題完成安裝。
openSUSE
zypper安裝方式
使用sudo zypper install git
安裝git。
注:若安裝出現問題,可以從下面幾個角度來確定問題。
1) 檢查軟件倉庫和軟件源sudo zypper lr
&suzo zypper ls
,若存在問題,使用sudo zypper ar xxxx://xxxx.xx.xxx
設置包含該軟件的軟件源。使用sudo zypper refresh
來刷新該源。
2) 安裝特定版本軟件sudo zypper install packagename = version
3) 若已經安裝,升級使用sudo zypper update packagename
yast2安裝方式
1) 使用sudo yast2
打開yast管理,如圖所示:
2) 在裏面搜索git及相關軟件,回車選中,進行安裝。
redhat系列
使用yum install git
進行git的安裝。
other linux
- 使用
wget https://www.xxx.xxx/xxx/xxx.xx
下載git安裝包。 - 使用
tar -jxvf xxx.bz2
解壓。 - 使用
./config
進行安裝前的配置。 - 使用
make
編譯鏈接。 - 使用
sudo make install
安裝。
Windows安裝
從這裏下載軟件,安裝即可。
git個人信息配置
配置姓名
git config --global user.name "example"
配置email
git config --global user.email "[email protected]"
注:這裏--global
選項可以替換爲--system
和--local
表示配置的範圍不同。
1) --system
會將其配置到$(prefix)/etc/gitconfig中,該系統的所有用戶共用。
2) --global
會將其配置到~/.gitconfig中,該用戶有效。
3) --local
會配置到.git/config中,當前倉庫有效。
配置其他信息
git能夠配置的東西很多,可以執行git config --help
查看,定製最適合自己的環境。
git在本地建倉庫
在想要創建本地倉庫的位置執行git init
會進行初始化,可以是空文件夾,也可以是已經有內容的位置(此時並不會對已存在的內容進行跟蹤)。
git添加跟蹤文件
使用git add xxx
會告訴git,xxx是你想要跟蹤的文件,執行過後,該文件的內容會被添加到索引中,git會跟蹤該文件的改變。
當然,git add .
會將當前目錄及其子目錄中的文件添加跟蹤。(在.gitignore中可以設置忽略的文件,可以是文件名,也可以是後綴等。)
git查看工作區狀態
使用git init
會創建一個空的倉庫,這個倉庫對應的實際位置,稱之爲工作區,包括這個文件夾和文件夾下的所有子文件夾內的文件。git status
即用來查看該工作區的狀態,這個命令會將該工作區內所有未被跟蹤的文件列出,且會將發生修改的已跟蹤文件列出。
使用git add xxx
之後,該文件的內容便被添加到了索引中,此時修改該文件,索引中的內容並不會隨之改變,也就是說,實際文件xxx和索引中的文件xxx’有差異,可以使用git status
來查看本地文件與索引中的文件是否有差異。
git查看跟蹤文件差異
進一步的,xxx文件在索引和實際文件之間的差異可以使用git diff xxx
來查看,git diff
用來查看索引中的所有文件與本地的差異。若想要進一步將本地實際文件的修改添加到索引中,繼續使用git add xxx
。
git提交變更
使用git add xxx
將要提交的修改都添加到了索引中,但實際上這些變更並未實際提交,也就是說,當別人得到了你本地的分支時,並不能看到這些修改,若想要將這些修改提交,使用git commit -m "xxxxx"
將這些變更作出提交。其中xxxxx是爲這一次提交作出的說明。
git查看提交歷史
當多次使用git commit -m "xxxxx"
進行提交後,若向回顧以下之前的提交記錄,可以使用git log
來查看之前的所有提交記錄。
git回退某次提交
每次提交後的狀態我們可以稱之爲一個版本,若本次提交過後,發現本次提交存在問題,可以使用git reset --hard HEAD^
回退到上一個版本,也就是上一次提交後的狀態,或者說本次提交前的狀態。
若發現問題在更早的版本,例如,發現上次提交有問題,可以使用git reset --hard HEAD~2
,即回退兩次,回到上次提交前的狀態。
注1:HEAD表示當前的狀態。
注2:當版本回退之後,git log
的輸出也會相應改變,也就是說,若你提交了10個版本,此時使用git log
可以看到10次提交,若回退到上個版本時,執行git log
就只能看到上次提交前的9個提交了。
git前進到某次提交
當某次使用git reset --hard HEAD^
回到本次提交前的狀態後,突然想清楚了這次提交並沒有問題,若還記得本次提交的id,可以使用git reset --hard commit_id
來回到這次提交後的狀態,若不記得,可以使用git reflog
查看歷史提交記錄,找到對應的id後再執行git reset --hard commit_id
。
git撤銷工作區修改
當某次git add xxx
之後,若在工作區內xxx文件又發生了修改,在再次git add xxx
之前發現這些修改並無必要,可以使用git checkout -- xxx
來將這些修改取消。此時,工作區內的xxx文件內容就與索引中的一致了。
git撤銷add修改
當某次工作區的修改已經被git add xxx
記錄之後,可以使用git reset HEAD xxx
撤銷該修改到上次commit之後的狀態。
git刪除版本庫文件
使用git rm xxx
可以將版本庫中的xxx文件刪除,刪除也是修改操作,git會記錄下來,可以使用git commit -m "xxxxx"
提交。
git配置遠程庫
git本地庫與github上的遠程庫通過SSH加密,需要首先配置。
1. 創建github賬號,在github上創建即可。
2. 創建SSH Key ssh-keygen -t rsa -C "[email protected]"
3. 添加SSH公鑰到github賬號中,登陸後,Settings==>SSH and GPG keys==>New SSH key,title隨便輸入,下面輸入~/.ssh/id_rsa.pub的內容,確定即可。
4. 創建遠程倉庫,登陸後,New repository即可。
5. 將本地倉庫推送到遠程倉庫中。
git remote add origin https://github.com/Binresist/Notes.git
git push -u origin master
–master表示的是本地分支名,默認是master
git push origin master
–後續本地提交不需要在家-u參數。
git從遠程庫開始
若在github上先創建了遠程庫,也可以使用git clone [email protected]:example/example.git
將遠程庫克隆到本地。