一、git結構
1. **倉庫
2. 本地倉庫
二、常用操作
1. unchecked
2. add,新增到暫存區
3. commit, 從暫存區到本地倉庫
4. push,從本地倉庫到遠端倉庫, commit和push的區別
5. gc,打包清理
git生成ssh keys不用每次都輸入使用者名稱,必須用ssh clone
個人資料夾下有gitconfig
git add . 新增當前目錄下檔案到git
git add . --all 遞迴新增本目錄下所有檔案到git
git commit -m "commnet"
git pull 拉取所有分支,對應到相應分支
git branch 顯示本地所有的分支
git branch -a 顯示本地和遠端所有branch
git fetch 拉取所有的分支,只有這樣才能顯示所有的分支, 比如看不到遠端新加的分支,就需要先fetch
git rm --cache */*.iml 刪除檔案,但是保留本地檔案
git status
git tag
git checkout 2.5 切換到tag2.5,因為master分支總是會變化,不穩定
回退** reset vs revert
1. revert
a. 已經commit但還未push
git revert head
b. 已經push
git revert head~1
2. reset
git回退已經commit但是還未push的**
git reset head^ 會退到上個本地版本
git強制回滾已經push的**, 加上hard
git reset --hard head^ 會退到上個本地版本,此時pull**,遠端分支會有衝入,需要merge,或者強制提交
git reset --hard head~3 會退到上3個版本
git reset --hard 1153f149952a87f6aa8846a71f191c1f54afadef(commit id)
強制回滾後提交
git push origin master --force,把遠端強制更新成跟本地一樣
3. 區別
git revert是用一次新的commit來回滾之前的commit,向前進
git reset是直接刪除指定的commit,向後退
建立分支
git branch develop 新增develop分支
git push origin develop 提交到develop分支,建立本地分支與遠端倉庫的聯絡
git checkout develop 切換到develop分支
git pull origin develop 只拉取develop分支,如果在develop分支,就拉取**;如果在其他分支,就拉取並merge**
git push origin develop 提交**到develop分支
合併分支,把develop分支merge到master
git checkout master
git merge develop
刪除分支
git branch -d develop
git push origin :develop
刪除遠端分支
git branch -r 檢視
git branch -r -d origin/develop
git push origin :develop
更新遠端已經刪除,但未同步到本地的分支
git remote prune origin
更新遠端分支列表
git remote update origin --prune
新建乙個分支,拉取另乙個分支的某個版本號之前的**
git log 檢視提交版本記錄
git checkout abc
挑選提交
git cherry-pick 12345 只把提交版本號12345拉取過來,而不是整個分支
三、git vs svn
1. svn每個版本只儲存了diff
2. git每個版本儲存了整個檔案,每個版本相當於乙個資料夾
四、git ignore
1. 最好在新建專案的時候,加上.gitignore檔案
2. 如果在新增.gitignore檔案之前,已經push過檔案了,那再次提交時,即使加上了.gitignore,也不生效,可以按照以下步驟解決
參考:
git常用操作
git是一款分布式的版本控制軟體,相比svn,功能更強大,自然而然操作更複雜一些。git在本地也是以git版本庫的形式管理,而svn在本地管理的僅是乙個版本庫的副本。很明顯的乙個不同點 git你可以在本地做一些修改,然後commit到本地的版本庫,最後push到伺服器,而svn只要一commit,更...
Git常用操作
有時候我們需要修改之前提交的時候的說明資訊,沒有操作命令可以直接完成,但是使用rebase命令可以實現。例如我們要修改倒數第二次的提交的說明資訊 git rebase i head 3 注意 這裡head 後面跟著的是3而不是2,因為這裡指的是要修改的提交的父提交。之後會進入到文字編輯介面,如下圖 ...
Git常用操作
這裡記錄目前我最常用的操作。因為是最常用的,就不包括什麼建立倉庫,設定使用者資訊啊,這種設定一次的了。先上一張圖 1.分支管理 檢視本地分支 git branch 檢視所有分支 本地 遠端 git branch a 建立分支 git branch 切換分支 git checkout 建立 切換分支 ...