之前學python的時候,了解到git是非常重要的基礎,學會git可以讓編程工作變得更加順暢和大大的提高了團隊協作。在此通過學習基本的指令後,再讀幾遍系統文檔,應該會對今後的工作大有幫助。
感謝先進們的奉獻,在此放上連結方便學習。
《Git 與 Github 版本控制基本指令》
《30天精通Git版本控管》
《Git官方網站》
《Git-it 台灣》手把手入門
《Git 中文手冊》
《Git 超親和力猴子教學》
基礎入門
安裝Git(此處略過,可查看文獻1)
設定帳戶名稱和郵箱
最好和github上的一致,方便管理
git config --global user.name "<your name>"
git config --global user.email "<your@mail.com>"
#查看帳戶名和郵箱
git config user.name
git config user.email
#更改帳戶名和郵箱
git config --global user.name "your name"
git config --global user.email "your email"
建立一個本地的repository
如果沒有權限,經常需要輸入sudo,可以在該文件夾輸入 sudo -s以授權
repository(檔案庫)可以簡單看成一個資料文件夾。
mkdir hello-git
cd hello-git
git init
ls -la
檢查狀態,新增或修改 commits
此處建立一個hello.py的文件
#在項目文件夾查看工作環境狀態
git status
#新增追蹤(這樣修改檔案後就會追蹤到)
git add hello.py
#檢查下狀態,比較下差異,若無問題則commit到respository上
git status
git diff
#提交並備註修改信息
git commit -m "寫上具體修改了什麼,方便協作"
#執行上一步後,就提交完成了,可以查看下狀態
git status
若反悔不想把檔案(文件)加到追蹤,則可以按照以下處理
#檔案尚未加入追蹤使用(未add)
git rm --cached hello.py
#檔案已經在repository內,則使用以下指令
git reset HARD
修改後非常重要的細節
當追蹤的文件修改後,例如修改了hello.py的內容,需要再次add 修改的文件(細節)
若是喲啊放棄修改,可以使用git checkout – 文件名稱.
確定修改後,可以執行以下指令:
git diff
git status
# -a 是add ,-m 是message的簡寫
git commit -a -m "修改了hello.py“
注册Github账号
註冊后就可以通过 git config –global user.username <github账户名> 绑定即可,
註冊步驟可以參考文獻1.
註冊完後可以創建一個線上的文件夾(檔案庫)repository! 通常github線上和本機的文件夾名稱保持一致會容易管理.
本機與Github遠程連結
在github新建一個repository後,會得到一個https的連結,複製此連結,然後執行指令:
#cd 到對應的檔案庫(文件夾)
git remote add origin <remote 網址>
#幫一個remote設定地址
git remote set-url <remote 網址>
#查看有哪些remote連結
git remote -V
#檢查後,把本地檔案push到遠程github
git status
git push -u origin master
參數 -u 等於 –set-upstream,設定upstream可以使分支開始追蹤遠程分支,只需要做一次該指令,並push成功後,今後就會自動追蹤,只需要透過git push即可
Fork 和 clone一個open source(開源)計畫
git clone 了文件後,進入建立一個屬於自己的分支(branch)
cd react
#切出自己的新分支
git checkout -b tomatokai@feature_branch
#修改下README.md,然後commit到自己fork的專案
git commit -a -m "更新了README"
git push origin origin tomatokai@feature_branch
建立一個feature branch
#建立一個名為dev的branch(需要cd到文件夾)
git checkout -b dev
#修改hello.py的內容後提交
git commit -a -m "Init dev branch"
git push origin dev
邀請別人合作
在github中——setting——collaborators中設置邀請
利用push和pull來和Github.com同步
#通過git pull保持本地和遠程代碼同步
git pull origin dev
merge(合併)和刪除branches
#移動到 master branch
git checout master
#合併dev到master
git merge dev
#刪除dev branch
git branch -d dev
#將合併後的master推送到遠端
git push origin master