git:分布式的版本管理系統,一般的開發模式:
如果是開發人員,忽略此步驟,從下面大字的開始即可:
專案開始階段,初始化專案(init),提交本地的**到倉庫,將本地倉庫的**推送到遠端庫(push);
專案開發人員從遠端庫轉殖**到本機(clone),此時本地僅有乙個master分支;新建dev分支並切換、在dev分支中進行開發工作,其實就是修改並提交**(add+commit);當開發的dev分支的**沒問題時,將dev分支合併(merge)到master;將master推送到遠端分支,至此,其他的專案開發人員就可以檢視到你提交的**了!
dev分支也可以是修復某個bug或者為了開發某個issue建立的,當bug已經修復或issue開發完成時,把dev合併到master之後,就可以把它刪除了
git基本命令
初始化:建立乙個git倉庫,建立之後就會在當前目錄生成乙個.git的檔案
git init
新增檔案:把檔案新增到緩衝區
git add filename
新增所有檔案到緩衝區(從目前掌握的水平看,和後面加「.」的區別在於,加all可以新增被手動刪除的檔案,而加「.」不行):
git add .
git add --all
刪除檔案
git rm filename
提交:提交緩衝區的所有修改到倉庫(注意:如果修改了檔案但是沒有add到緩衝區,也是不會被提交的)
git commit -m "提交的說明"
commit可以一次提交緩衝區的所有檔案
檢視git庫的狀態,未提交的檔案,分為兩種,add過已經在緩衝區的,未add過的
git status
從圖中可以看出,綠色的就是已經add過的
比較:如果檔案修改了,還沒有提交,就可以比較檔案修改前後的差異
git diff filename
檢視日誌
git log
版本回退:可以將當前倉庫回退到歷史的某個版本
git reset
git reset --hard head^
第二種用法:回退到指定版本(其中d7b5是想回退的指定版本號的前幾位)
git reset --hard d7b5
檢視命令歷史:檢視倉庫的操作歷史
git reflog
git分支管理
檢視分支的情況,前面帶*號的就是當前分支
git branch
建立分支
git branch 分支名
切換當前分支到指定分支
git checkout 分支名
建立分支並切換到建立的分支
git checkout -b 分支名
合併某分支的內容到當前分支
git merge 分支名
刪除分支
git branch -d 分支名
如果兩個分支同時進行了同乙個檔案的修改和提交,在merge時就會產生衝突,首先要手動開啟檔案解決衝突,再提交,就相當於進行了merge
從下圖可以看到,紅色和綠色的虛線分別代表兩個分支,兩個分支分別進行了commit,最新的一次提交將兩個分支內容進行了合併
git log --graph
新建標籤,預設為最新版本,後面加上版本號引數則可指定版本增加標籤
git tag 標籤名 版本號
檢視所有標籤:
git tag
檢視標籤的詳細資訊
git show 標籤名
將tag提交到遠端倉庫
推送所有tag:
git push origin --tags
推送某個tag:
git push origin v1.0
git遠端庫相關
git remote add origin git: 這樣就增加了遠端倉庫abc。
git remote remove origin移除遠端倉庫
將本地倉庫內容推送到遠端倉庫(-u 表示第一次推送master分支的所有內容,後面再推送就不需要-u了),跟commit的區別在於乙個是提交到本地倉庫,乙個是提交到遠端倉庫
git push -u origin master
從遠端庫更新內容到本地(相當於svn的update),
git pull
tips:如果push的時候,本地和檔案和遠端檔案有衝突,就要先pull、然後手動解決衝突,才能繼續push
git記住使用者名稱密碼
push的時候預設每次都需輸入github的使用者名稱和密碼,在git倉庫根目錄下.git資料夾的config檔案末尾增加如下內容,即可記住使用者名稱密碼,無需每次推送都輸入了
[credential]
helper = store
最後加乙個,強制回退遠端倉庫的上乙個版本(首先要在本地切到該分支)
git push -f
git一些常用命令
正常提交 流程 1 git status 查詢狀態 2 git add 提交到本地 3 git commit am 提交的說明 提交的說明 4 git pull 拉取遠端的 5 git push 提交到遠端 git 獲取遠端分支並且合併到本地 git remote show origin git r...
git的一些常用命令
最近剛開始接觸git,跟著廖雪峰老師的教程下來,發現git是真酷啊,起碼解決了幾乎我遇到的所有版本管理問題。非常好,講真,真的比svn好用 之前用過幾次svn 決定以後就用git了,哈哈。本文主要列舉出了常用的一些git命令,更過命令和詳細解釋,請移步 廖雪峰老師的git教程 廖雪峰的官方 先導概念...
Git的一些常用命令
3層結構 關係如圖 工作區是在電腦裡能看到的目錄,工作區有乙個隱藏目錄.git,這就是 git 的版本庫。把檔案往版本庫里新增的時候,將需要提交的檔案修改通通放到暫存區,然後提交。圖源於廖雪峰git教程 登入git config global user.name your name git conf...