git使用入門
http://blog.csdn.net/codectq/article/details/50777866
git入門(1)--提交代碼的一般步驟
http://blog.csdn.net/codectq/article/details/50777877
git入門(2)-Git stash保存當前的工作現場
http://blog.csdn.net/codectq/article/details/50777883
git入門(3)-Git pull和git fetch從遠程拉取分支到本地
http://blog.csdn.net/codectq/article/details/50777887git入門(4)-Git
rebase
http://blog.csdn.net/codectq/article/details/50777934
git入門(5)-Git revert和git reset版本號的回退
http://blog.csdn.net/codectq/article/details/50778071git入門(6)-Git
checkout 和git branch分支的創建和刪除
事實上我一直都沒有可以非常好的使用git這個代碼管理工具。
作為開源項目必須學會使用的工具。因此不得不寫下一些東西來記錄。
1.初始化一個空的git倉庫
[email protected]:~$ mkdir myfirstgit [email protected]
命令凝視:
在上面的命令中,真正去初始化的是第四行的那句---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倉庫的原因。
[email protected]:~/myfirstgit$ ls .
./ ../ .git/
可以看到創建好的.git文件夾。文件夾中有什麽呢?
[email protected]:~/myfirstgit$ ls .git/
branches/ config description HEAD hooks/ info/ objects/ refs/
這時候事實上什麽都還沒有。
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
在config文件裏僅僅有上面的信息。
2.向倉庫提交我們寫的文件
[email protected]:~/myfirstgit$ mkdir kernel[email protected]:~/myfirstgit$ ls
kernel
[email protected]:~/myfirstgit$ mkdir uboot
[email protected]:~/myfirstgit$ ls
kernel uboot
[email protected]:~/myfirstgit$
[email protected]:~/myfirstgit$ mkdir aaa
[email protected]:~/myfirstgit$ git add aaa
[email protected]:~/myfirstgit$ git commit -m "inint" aaa/
error: pathspec ‘aaa/‘ did not match any file(s) known to git.
命令解釋:
我們在倉庫中新建了一個文件file。作為我們的演示樣例文件。
記住是文件!!!
!!。!。!!
!
。所以上面當創建一個目錄並加入的時候會報錯。解決的方法是在目錄中加入文件。
[email protected]:~/myfirstgit$ cd kernel/
[email protected]:~/myfirstgit/kernel$ touch aaa
[email protected]:~/myfirstgit/kernel$ cd ..
[email protected]:~/myfirstgit$ git add kernel/
[email protected]:~/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分支跟蹤到遠程分支
首先看一下當前分支:
[email protected]:~/myfirstgit$ git branch
* master
[email protected]:~/myfirstgit$ git remote add origin ssh:[email protected]/~/myfirstgit/.git
[email protected]:~/myfirstgit$ git push origin master
[email protected] password:
Everything up-to-date
[email protected]:~/myfirstgit$
命令凝視:
在本地倉庫加入一個遠程倉庫,當然ssh後面的地址是我們本地倉庫的地址.
將本地master分支跟蹤到遠程分支,在git倉庫建立之初就會有一個默認的master分支,當然你假設建立了其它分支,也能夠用相同的方法去跟蹤.
如今的git倉庫已經是一個遠程倉庫了,
測試一下
4.測試
如今本機上看看:
[email protected]:~/myfirstgit$ git remote show origin[email protected] password:
* remote origin
Fetch URL: ssh:[email protected]/~/myfirstgit/.git
Push URL: ssh:[email protected]/~/myfirstgit/.git
HEAD branch: master
Remote branch:
master tracked
Local ref configured for ‘git push‘:
master pushes to master (up to date)
[email protected]:~/myfirstgit$
git使用入門