入門(4)-git rebase
入門(6)-git checkout 和git branch分支的建立和刪除
其實我一直都沒有能夠很好的使用git這個**管理工具。作為開源專案必須學會使用的工具。因此不得不寫下一些東西來記錄。
1.初始化乙個空的git倉庫
caotaiqiang@server1:~$ mkdir myfirstgitcaotaiqiang@server1:~$ cd myfirstgit/
caotaiqiang@server1:~/myfirstgit$ git init
initialized empty git repository in /home/caotaiqiang/myfirstgit/.git/
caotaiqiang@server1:~/myfirstgit$
命令注釋:
在上面的命令中,真正去初始化的是第四行的那句---git init
現在myfirstgit已經建立完成。
可以用--bare
選項執行git init
來建立乙個裸倉庫,這會初始化乙個不包含工作目錄的倉庫。
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init
這時,join,josie 或者 jessica 就可以把它加為遠端倉庫,推送乙個分支,從而把第乙個版本的專案檔案上傳到倉庫裡了。
」git init –bare」方法建立乙個所謂的裸倉庫,之所以叫裸倉庫是因為這個倉庫只儲存git歷史提交的版本資訊,而不允許使用者在上面進行各種git操作,如果你硬要操作的話,只會得到下面的錯誤(」this operation must be run in a work tree」)
這個就是最好把遠端倉庫初始化成bare倉庫的原因。
caotaiqiang@server1:~/myfirstgit$ ls .
./ ../ .git/
能夠看到建立好的.git目錄,目錄中有什麼呢?
caotaiqiang@server1:~/myfirstgit$ ls .git/
branches/ config description head hooks/ info/ objects/ refs/
這時候其實什麼都還沒有,
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
在config檔案中只有上面的資訊。
2.向倉庫提交我們寫的檔案
caotaiqiang@server1:~/myfirstgit$ mkdir kernel
caotaiqiang@server1:~/myfirstgit$ ls
kernel
caotaiqiang@server1:~/myfirstgit$ mkdir uboot
caotaiqiang@server1:~/myfirstgit$ ls
kernel uboot
caotaiqiang@server1:~/myfirstgit$
caotaiqiang@server1:~/myfirstgit$ mkdir aaa
caotaiqiang@server1:~/myfirstgit$ git add aaa
caotaiqiang@server1:~/myfirstgit$ git commit -m "inint" aaa/
error: pathspec 'aaa/' did not match any file(s) known to git.
命令解釋:
我們在倉庫中新建了乙個檔案file,作為我們的示例檔案。記住是檔案!!!!!!!!!!!!所以上面當建立乙個資料夾並新增的時候會報錯。解決辦法是在資料夾中新增檔案。
caotaiqiang@server1:~/myfirstgit$ cd kernel/
caotaiqiang@server1:~/myfirstgit/kernel$ touch aaa
caotaiqiang@server1:~/myfirstgit/kernel$ cd ..
caotaiqiang@server1:~/myfirstgit$ git add kernel/
caotaiqiang@server1:~/myfirstgit$ git commit -m "init" kernel/
[master e7c2e05] init
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 kernel/aaa
將file檔案的資訊新增到git倉庫的索引庫中,並沒有真正新增到庫。
將索引庫中的內容向git倉庫進行提交。這步之後檔案file才算真正提交到拉git倉庫中。雙引號中的內容是根據每次修改的不同內容,由我們自己去填寫的,
很多人會看見
git commit -a -m 「 」
這條的命令是在你已經add了乙個或多個檔案過之後,然後修改了這些檔案,就可以使用該命令進行提交。
好了,不管怎麼樣,終於是將檔案提交到庫了。現在的倉庫只是乙個本地的倉庫,下面的操作是將本地倉庫變成遠端倉庫。
3.在本地倉庫新增乙個遠端倉庫,並將本地的master分支跟蹤到遠端分支
首先看一下當前分支:
caotaiqiang@server1:~/myfirstgit$ git branch* master
caotaiqiang@server1:~/myfirstgit$ git remote add origin ssh:caotaiqiang@server1:~/myfirstgit$ git push origin master
[email protected]'s password:
everything up-to-date
caotaiqiang@server1:~/myfirstgit$
命令注釋:
在本地倉庫新增乙個遠端倉庫,當然ssh後面的位址是我們本地倉庫的位址.
將本地master分支跟蹤到遠端分支,在git倉庫建立之初就會有乙個預設的master分支,當然你如果建立了其他分支,也可以用同樣的方法去跟蹤.
現在的git倉庫已經是乙個遠端倉庫了,
測試一下
4.測試
現在本機上看看:
caotaiqiang@server1:~/myfirstgit$ git remote show origin
[email protected]'s password:
* remote origin
fetch url: ssh:
push url: ssh:
head branch: master
remote branch:
master tracked
local ref configured for 'git push':
master pushes to master (up to date)
caotaiqiang@server1:~/myfirstgit$
git使用 入門
一 git安裝 1.ubuntu debian安裝git sudo apt get install git core 二 git配置 1.配置使用者名稱 git config global user.name lixinglei 2.配置郵箱 git config global user.email...
Git使用入門
最近在修改mybatis generator的外掛程式,讓自動生成的 更滿足符合開發的要求,因為是業餘研究,經常需要下班後在自己電腦上來繼續之前的工作,之前的狀態是下班之前把在公司的電腦上寫的 拷到u盤,回去之後再把 拷到自己電腦中替換掉之前的,某些特定情況的資料 如 資料庫連線資訊等 還需要根據環...
git使用入門
mkdir learngit 建立目錄 cd learngit 進入到該目錄 pwd 顯示當前目錄 users michael learngit git init 把當前目錄變為git可以管理的目錄 git add readme.txt git commit m wrote a readme fil...