git的學習可以參照廖雪峰老師的教程https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
非常詳細,我這里記錄了初步學習的筆記。
第一步安裝git,
sudo opt-get install git
安裝后配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:
git init
第三步,用命令git add告訴Git,把文件添加到倉庫:
git add readme.txt
git commit -m "write a readme file"
第四部,建立遠程鏈接:
注冊GitHub賬號,登錄git網站,
在本地:
ssh-keygen -t rsa -C "youremail@example.com"
設置ssh-key
并創建倉庫,網上完成。
然后,把本地倉庫的內容推送到GitHub倉庫。
git remote add origin git@github.com:michaelliao/learngit.git
下一步,就可以把本地庫的所有內容推送到遠程庫上:
git push -u origin master
如果有錯誤,
error: failed to push some refs to 'git@github.com:levinyi/python_packages.git'
error: Pulling is not possible because you have unmerged files.
需要使用下面命令將遠程倉庫的pull到本地倉庫,并合并,然后再繼續add,commit,push origin。
git pull --rebase origin master
完成。
基礎命令就這些,后續再補充
常用的命令還有:
想刪掉遠程github上的文件:
1,預覽將要刪除的文件
git rm -r -n --cached 文件/文件夾名稱
加上 -n 這個參數,執行命令時,是不會刪除任何文件,而是展示此命令要刪除的文件列表預覽。
2,確定無誤后刪除文件
git rm -r --cached 文件/文件夾名稱
3,提交到本地并推送到遠程服務器
git commit -m "提交說明"
git push origin master
想查看本地是哪一個遠程倉庫:
git remote -v
origin git@github.com:levinyi/R_stuff.git (fetch)
origin git@github.com:levinyi/R_stuff.git (push)
git remote
origin
或者
git config --list
常見的錯誤
- git push 錯誤:
當我們在github版本庫中發現一個問題后,你在github網頁上對它進行了在線的修改;或者你直接在github上的某個庫中添加readme文件或者其他什么文件,但是沒有對本地庫進行同步。這個時候當你再次有commit想要從本地庫提交到遠程的github庫中時就會出現push失敗的問題。
解決辦法:
git pull --rebase origin master
這條指令的意思是把遠程庫中的更新合并到本地庫中,–rebase的作用是取消掉本地庫中剛剛的commit,并把他們接到更新后的版本庫之中。
git pull –-rebase origin master意為先取消commit記錄,并且把它們臨時保存為補丁(patch)(這些補丁放到”.git/rebase”目錄中),之后同步遠程庫到本地,最后合并補丁到本地庫之中。
接下來就可以把本地庫push到遠程庫當中了。
git add xxx(your file)
git commit -m "xxx"
git push origin master
- git add 錯誤
錯誤可以參考
http://gitbook.liuhui998.com/index.html
- git pull 錯誤
解決方法:
git stash
git pull --rebase origin master
git add xxx
git commit -m "xxx"
git push origin master
注意事項:
如果在網頁版修改了東西之后,要在本地版先git pull