1.環(huán)境搭建
安裝Git,使用命令 sudo apt-get install git
生成ssh key,使用命令ssh-keygen -t rsa -C 你的email
回到github,進(jìn)入Account Settings,左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼key
2.本地操作
git init建立git倉庫,把這個(gè)目錄變成Git可以管理的倉庫
git add README.md ?文件添加到倉庫
git add . ?不但可以跟單一文件,還可以跟通配符,更可以跟目錄。一個(gè)點(diǎn)就把當(dāng)前目錄下所有未追蹤的文件全部add了
git commit -m "first commit" ?把文件提交到倉庫
git remote add origin?git@github.com:XXXXX.git 關(guān)聯(lián)自己的遠(yuǎn)程倉庫
git push -u origin master 把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上
添加文件到 Git 倉庫,分兩步:
第一步,使用命令git add ,注意,可反復(fù)多次使用,添加多個(gè)文件;
第二步,使用命令git commit,完成。
如果項(xiàng)目已經(jīng)在遠(yuǎn)程git倉庫
第一步,克隆遠(yuǎn)程代碼git clone git@github.com:XXXXX.git
第二步,添加所有代碼,git add . ?,然后提交git commit -m 'first commit'
第三步,同步,git push -u origin master,完成。
3.GitHub操作
git clone git@github.com:XXXXX.git 下載github項(xiàng)目
git remote add origin git@github.com:XXXXX.git下載github項(xiàng)目并創(chuàng)建本地分支
git pull origin master 上傳github之前,要先pull一下
git push -u origin master上傳代碼到github遠(yuǎn)程倉庫
git push origin dev將本地分支上傳上去
4.分支操作
git branch 列出所有分支
git add readme.txt 向倉庫添加新的文件
git checkout dev切換回 dev分支
git checkout -b dev創(chuàng)建 dev 分支,創(chuàng)建并切換
git merge dev把dev 分支的工作成果合并到 master 分支上
git fetchorigin更新的內(nèi)容合并到本地分支origin是本地倉庫
git merge origin/master把更新的內(nèi)容合并到本地分支
git push origin master把該分支上的所有本地提交推送到遠(yuǎn)程庫
git push origin dev推送dev分支
從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交
在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致;
建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用git branch --set-upstream branch-name origin/branch-name;
從遠(yuǎn)程抓取分支,使用git pull,如果有沖突,要先處理沖突。
當(dāng)你從遠(yuǎn)程倉庫克隆時(shí),實(shí)際上 Git 自動(dòng)把本地的 master 分支和遠(yuǎn)程的 master 分支對(duì)應(yīng)起來了,并且,遠(yuǎn)程倉庫的默認(rèn)名稱是 origin
git branch -d dev刪除 dev 分支
git branch -D 強(qiáng)行刪除
5.倉庫狀態(tài)
git status倉庫狀態(tài)
git log可以查看提交歷史
git reset --hard 3628164穿梭到歷史
git reflog用查看命令歷史,以便確定要回到未來的哪個(gè)版本
git diff readme.txt
修復(fù) bug 時(shí),我們會(huì)通過創(chuàng)建新的 bug 分支進(jìn)行修復(fù),然后合并,最后刪除;
當(dāng)手頭工作沒有完成時(shí),先把工作現(xiàn)場(chǎng)git stash一下,然后去修復(fù) bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場(chǎng)。
如果要丟棄一個(gè)沒有被合并過的分支,可以通過
6.常見錯(cuò)誤解決辦法
使用git 添加遠(yuǎn)程github倉庫的時(shí)候提示錯(cuò)誤:fatal: remote origin already exists.
解決辦法如下:
1、先刪除遠(yuǎn)程 Git 倉庫
$ git remote rm origin
2、再添加遠(yuǎn)程 Git 倉庫
$ git remote add origin git@github.com:FBing/java-code-generator
如果執(zhí)行 git remote rm origin 報(bào)錯(cuò)的話,我們可以手動(dòng)修改gitconfig文件的內(nèi)容
$ vi .git/config
把 [remote “origin”] 那一行刪掉就好了。