1. 程式人生 > >git使用入門

git使用入門

join ati 開源 configure deletion ssh uri head home

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]
/* */:~$ cd myfirstgit/ [email protected]:~/myfirstgit$ git init Initialized empty Git repository in /home/caotaiqiang/myfirstgit/.git/ [email protected]:~/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倉庫的原因。

[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使用入門