Git 和 Git Server 的兩三事

由於工作需要,上好奇心花了一點時間來了解研究git從建立server到repository的完整過程…
其中發生了一些不是不能理解但是很難接受的情況*_*

最大的重點應該是在於說新建了一個repository後的事情吧

  1. 要一個client去clone一份空的下來(會有警告)
  2. 做些新增檔案動作(例如新增一個README之類的,沒試過沒更動)
  3. git add . 將新增檔案列入commit
  4. git commit -a 會看到comment裡面有寫是Initial commit
  5. git push origin master推回去做初始化

常用技巧:

git clone 複製一個既存的(遠端)repository回來
git add . 加入所有檔案到commit清單中
(含新建立檔案不含刪除)
git add -u

將刪除的檔案列到commit清單中
(功能之一,應該有更完整敘述)

git commit -a commit 所有編輯
(未add到的新增檔案不會列入計算commit)
git branch [branch名] 打一個新的branch
git commit –amend 修改最後一次commit

基本rebase程序:

  1. git checkout [branchname] (切換到branchname)
  2. git status (確認On branch [branchname],用git branch看*也可以)
  3. 在branch上做修改儲存
  4. git add . (如此會加入所有已知與新增檔案但不會刪除檔案,加入所有已知刪除檔案可用git add -u)
  5. git commit -a
  6. 寫入註解
  7. git checkout master (切回master)
  8. git pull (更新master到最新)
  9. git checkout [branchname] (再切回branchname)
  10. git rebase master (用更新過的master來rebase)

checkout還原檔案若是遇到跟檔名同名的branch時,用:

git checkout -- filename

解決。

關於各種還原方式的比較可以參考這裡

要拿既有的資料夾來塞進新的repository的話:

  1. 在server端建立新的空repository
  2. git init
  3. git remote add origin git@……:xxx
  4. git pull origin master
  5. 解決confict(如果是第二、三台進行整合的才會有)
  6. git add .
  7. git commit -a
  8. git push(要加origin master?)

若是要整合第二三台以上的同性質資料夾進同個repository,就重複執行2~8(1不用做因為已經存在了)

參考資料:(重複性質很高,而且不是全部都有用到,但是多少都有幫到忙/覺得會用到)

Pro Git 2.4 基礎 撤銷操作
http://progit.org/book/zh/ch2-4.html

revert single file
http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file

Reverting Changes In Git
http://www.xerxesb.com/2009/reverting-changes-in-git/

Git官網
http://git-scm.com/
Documentation
http://git-scm.com/documentation

gitosis.git
http://eagain.net/gitweb/?p=gitosis.git;a=summary

[Geek] Git and Gitweb
http://walkingice.twbbs.org/blog/?p=504

git-config(1) Manual Page
http://www.kernel.org/pub/software/scm/git/docs/git-config.html

Git-vim
http://github.com/motemen/git-vim/tree/master

Git 中文教程_1
http://blog.sina.com.cn/s/blog_4ef8be9f0100f0gi.html
Git 中文教程_2
http://blog.sina.com.cn/s/blog_4ef8be9f0100f0gk.html

git-daemon(應該是用不上了?)
http://linuxreviews.org/man/git-daemon/

Git起步
http://www.fwolf.com/blog/post/429

Git 初學筆記 – 指令操作教學
http://plog.longwin.com.tw/my_note-unix/2009/05/19/git-learn-initial-command-2009
Git 基礎設定 (帳號的環境參數設定)
http://plog.longwin.com.tw/my_note-unix/2009/05/15/git-initial-env-setup-2009

Git 版本控制系統 (1) by ihower
http://ihower.idv.tw/blog/archives/2591

Git 版本控制系統(2) 開 branch 分支和操作遠端 repo. by ihower
http://ihower.idv.tw/blog/archives/2620

在Ubuntu Server上安装Git
http://blog.douhua.im/2009/05/19/ubuntu-server-git/

Git 中文教程
http://www.bitsun.com/documents/gittutorcn.htm

國網中心Git >> 原始碼管理
http://www.qweruiop.org/nchcrails/posts/49

使用Git與Github管理軟體開發專案
http://www.dotblogs.com.tw/billy3321/archive/2009/02/06/7064.aspx

Hosting Git repositories, The Easy (and Secure) Way
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

使用 gitosis 管理 git 服务器
http://blog.3gcomet.com/article.asp?id=417

1 則迴響 »

  1. […] git-server-的兩三事 […]

RSS feed for comments on this post · TrackBack URI

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: