git學習筆記(本地倉庫與github)

david大偉哥發表於2017-08-12

參考:廖雪峰的官方網站-git,這裡面寫得非常清楚,我們們就不要再造輪子了,現在把我常用的幾個功能寫一下,以防忘記。
此為Windows下的git。

1. 安裝

從https://git-for-windows.github.io下載,然後正常安裝即可。

2. 建立賬號

安裝完成後,找到git bash開啟;
輸入命令

$ git config --global user.name "Your Name"
$ git config --global user.email email@example.com

完成賬號建立。

3. 建立本地版本庫

開啟git bash,通過命令進入需要建立版本庫的資料夾,輸入命令:

git init

完成版本庫的建立
這裡寫圖片描述

4. 新增檔案

在git bash中通過git add命令將資料夾內檔案新增至版本庫,add命令有很多引數,具體可在網上找到,以下命令可將所有檔案新增到版本庫:

git add .

5. 提交

在git bash中通過git commit命令將add的檔案提交到版本庫,完成版本更新。命令如下:

git commit -m "create repo"

引號內為本次commit標記。

6. 本地庫同步至github

在完成了本地庫的建立後,可將本地庫同步至github。

6. 1 本地生成ssh key

在git bash中輸入:

ssh-keygen -t rsa -C "email@example.com"

會提示生成的ssh key,一路Enter鍵
這裡寫圖片描述

6. 2 將ssh key新增到github

key中填生成的id_rsa.pub檔案內容,生成檔案的目錄在上圖中… save the key (路徑)
這裡寫圖片描述

6. 3 github建立版本庫

填寫完名字後記住:不要勾選 “Initialize this repository with a README”,勾選了其實也沒事,就是麻煩一些,網上可以找到解決方案。

6. 4 本地庫關聯github倉庫

建立完github庫後,將github倉庫地址複製下來,就是那個
https://github.com:xxxxx/ccc.git
通過git bash進入需要同步的本地倉庫,在命令列中輸入:

git remote add origin https://github.com:xxxxx/ccc.git

完成關聯

6. 5 本地庫同步至github

git push -u origin master

第一次同步需要加“-u”,後面就不需要了。
詳細如下:
這裡寫圖片描述

7 從遠端庫克隆

git clone git@github.com:xxxxx/ccc.git

8 忽略檔案和路徑

https://github.com/github/gitignore上有各種專案的忽略檔案模板。

# 忽略確定的檔案或路徑
bin
# 忽略特定字尾檔案或路徑
*.exe

由於需要建立.gitignore檔案,而windows上無法直接建立無檔名的檔案,可以藉助git bash建立

# 開啟.gitignore檔案
vim .gitignore

9 分支管理


# 建立分支b1
git checkout -b b1
# 切換到分支master
git checkout master
# 將A分支的f1檔案合併到當前分支(需要再次確認,y yes,a all,n no...)
git checkout --patch A f1

10 版本回退、版本切換

# 切換到指定版本
git reset --hard 版本id
# 檢視版本id
git log
# 檢視版本切換日誌(包含所有的版本id)
git reflog

11 檢視檔案列表

git ls-files

12 檔案比較

# 工作區與暫存區比較
git diff  filepath 
# 工作區與HEAD ( 當前工作分支) 比較
git diff HEAD filepath 

# git diff --staged 或 --cached  filepath 暫存區與HEAD比較

# 當前分支的檔案與branchName 分支的檔案進行比較
git diff branchName filepath  

# 與某一次提交進行比較
git diff commitId filepath 

error 常見錯誤

可能遇到的錯誤:

  1. 如何解決failed to push some refs to git,與github同步後,新增了remark檔案但未同步至本地時會出現此錯誤。
    先輸入如下命令,將資料同步到本地,再將本地資料同步到github就不會有問題了。
git pull --rebase origin master`
  1. Unlink of file ‘.git/objects/pack/pack-***.pack’ failed. Should I try again? (y/n)
    是因為檔案被佔用了,關閉佔用即可

相關文章