1. 程式人生 > >GitHub簡單倉庫管理

GitHub簡單倉庫管理

-m -h 安裝 倉庫管理 文件 git push 發現 開放 目錄

github安裝後本地配置

在命令行輸入

git config --globl user.name "your name"

git config --global user.email "your email"

git config 命令後面的--global 參數說明這臺機器上所有的git倉庫都會使用這個配置,也可以對不同的倉庫使用不同的配置

創建版本庫

什麽是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:

mkdir learngit
cd learngit

將目錄變成倉庫

git init 

沒事千萬別動手修改這個目錄裏的文件,會破壞倉庫

編寫文件

在learngit目錄下編寫一個readme.txt文件

  • 第一步,用git命令告訴git,把文件添加到倉庫
    git add readme.txt
  • 第二步,用命令git commit 告訴git,把文件提交到倉庫
    git commit -m "wrote a readme file"

    為什麽Git添加文件需要add,commit一共兩步呢?因為commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

    git add file1 file2 file3
    git commit -m "add 3 file"

    使用git status 可以查看倉庫當前狀態
    git diff readme.txt查看作了什麽修改
    git log 查看提交記錄

    版本回退

    在回退版本時,先得知道當前版本是哪個版本,在git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上個版本就是HEAD^^,往上100個版本就是HEAD~100

    git reset --hard HEAD^

    總之就是 git log 查看提交歷史
    git reflog 查看命令歷史
    git checkout -- readme.txt撤銷所有更改

分枝管理

  • 首先創建分支dev,然後切換至dev分支
    git checkout -b dev  

    表示創建dev分支並切換至dev分支,相當於

    git branch dev
    git checkout dev
    git branch 會列出所有的分支,前面有個*號表示當前所在分支

    在當前分支上修改README.md文件,並上傳分支

    
    echo "ohuo" >>README.md
    git add READ.md
    git commit 
    cat README.md
    webconsole

ohuo

* 切換至主分支

git checkout master
cat README.md
webconsole

發現沒有新增字段,因為此時沒有合並分支

git merge dev
cat README.md
webconsole

ohuo

合並成功,可以刪除dev分支
git branch -d dev
git branch
*master

使用分支提交代碼更安全

小結

Git鼓勵大量使用分支:

查看分支:git branch

創建分支:git branch <name> 分支名

切換分支:git checkout <name> 分支名

創建+切換分支:git checkout -b <name> 分支名

合並某分支到當前分支:git merge <name> 分支名

刪除分支:git branch -d <name> 分支名

遠程倉庫管理

添加項目後並沒有本地的庫,那麽現在將本地庫上傳到gayhub裏

git remote add origin https://github.com/dorebmoon/webconsole.git
git push -u origin master

從遠程庫克隆至本地

git clone [email protected]:dorebmoon/webconsole.git

如果有多個人協作開發,那麽每個人各自從遠程克隆一份就可以了。
你也許還註意到,GitHub給出的地址不止一個,還可以用https://github.com/dorebmoon/webconsole.git這樣的地址。實際上,Git支持多種協議,默認的git://使用ssh,但也可以使用https等其他協議。
使用https除了速度慢以外,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http端口的公司內部就無法使用ssh協議而只能用https。

GitHub簡單倉庫管理