Ubuntu下git簡單教程

1. 如何開始

a. 在github上註冊一個賬號。
b. 綁定
第 1 步:生成 SSH key:ssh-keygen -t rsa
表示我們指定 RSA 算法生成密鑰,然後敲三次回車鍵,期間不需要輸入密碼,之後就就會生成兩個文件,分別爲id_rsa和id_rsa.pub,即密鑰id_rsa和公鑰id_rsa.pub. 對於這兩個文件,其都爲隱藏文件,默認生成在以下目錄,Linux 系統:~/.ssh
第 2 步:在github的個人主頁上的設置中添加 SSH key,我們只需要將公鑰id_rsa.pub的內容粘貼到Key處的位置(Titles的內容不填寫也沒事),然後點擊Add SSH key 即可。
第 3 步:驗證綁定是否成功。在我們添加完SSH key之後,也沒有明確的通知告訴我們綁定成功啊!不過我們可以通過在 Git Bash 中輸入ssh -T [email protected]進行測試

2. 創建第一個repository

a. 在github上創建一個repository
b. 在本地創建一個repository
第1步:創建一個同名文件夾,並增加一個文件,假設爲hit.txt
第2步:在當前目錄下輸入如下命令,git init
第3步:使用git add hit.txt,注意這步是將修改加入臨時庫
第4步:git commit -m "text commit",注意這步是將修改加入本地庫,引號裏面的信息可修改
第5步:git push origin master,將修改傳到遠程庫,若上傳不成功,可使用git push --set-upstream [email protected]:UserID/GitID.git master。或使用如下兩步替換:git remote add origin [email protected]:UserID/GitID.git以及git push -u origin master

3. 修改倉庫的名字

a.Github頁面修改倉庫信息
跑到自己的倉庫那,找到Setting的tag, 點進去後Options的Settings就可以設定Repository name.
b.修改本地倉庫信息

  •     git remote -v,列出所有遠程倉庫信息, 包括網址.
  •    若上一步無顯示信息,則使用git remote add origin [email protected]:username/newrepo.git,
    否則使用git remote set-url origin [email protected]:username/newrepo.git,修改遠程倉庫對應的網址.【如果owner非自己的Repository,username也不能用自己的ID】

4. 使用他人代碼

除第一次下載項目需要通過 “git clone 地址” 將項目克隆到本地外,後續再使用 “git pull origin master” 命令時會直接將更新拉取到本地。若是自己或合作者的私有庫,則使用git clone https://[email protected]/username/repo_name

5. 刪除遠程庫的文件

使用“git rm -r --cached 文件名”,然後push就會更新

6. 分支

創建分支:git branch 分支名
刪除分支:git branch -d 分支名
切換分支:git checkout 分支名

第一次push分支:若遇到“fatal: 'origin' does not appear to be a git repository”,則使用git remote -v查看是否有origin,沒有需要使用git remote add origin git-url來增加,然後使用git push -u來操作。

7. 子模塊

參見如下網址:https://blog.csdn.net/guotianqing/article/details/82391665
增加:git submodule add <url> <path>
使用:git submodule init和git submodule update
更新:進入到子模塊目錄下,執行 git pull更新
刪除:刪除子模塊較複雜,步驟如下:
    rm -rf 子模塊目錄 刪除子模塊目錄及源碼
    vi .gitmodules 刪除項目目錄下.gitmodules文件中子模塊相關條目
    vi .git/config 刪除配置項中子模塊相關條目
    rm -rf .git/modules/* 刪除模塊下的子模塊目錄,每個子模塊對應一個目錄,注意只刪除對應的子模塊目錄即可
    執行完成後,再執行添加子模塊命令即可,如果仍然報錯,執行如下:git rm --cached 子模塊名稱
    完成刪除後,提交到倉庫即可。

8. 顯示當前修改

使用git diff,如果要不顯示空格、換行等空白符號,可使用git diff --ignore-space-change

9. 恢復錯誤

9.1 恢復當前誤刪文件

使用git status找到誤刪文件的路徑和名稱,用"git checkout + 路徑名稱"進行恢復。

9.2 恢復誤push版本

第一步:git reset --hard 版本號(無版本後默認退回到上一個版本);第二步:git push -f

10. 合併

git pull 強制覆蓋本地的代碼方式,下面是正確的方法:

  • 第一步:git fetch --all,從遠程下載最新的,而不嘗試合併或rebase任何東西。

  • 第二步:git reset --hard origin/master或git reset --hard origin/<branch_name>,將分支重置爲您剛剛獲取的內容, --hard選項更改工作樹中的所有文件以匹配origin/master中的文件。

 

 

【待續】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章