1. 程式人生 > >git repo svn 的使用

git repo svn 的使用

1,git的使用

(1)使用git提交程式碼的流程

首先檢視一下狀態 git status

git add file_name

git commit -s

將程式碼push到程式碼庫中 git push origin HEAD:refs/for/BRANCH_NAME,branch_name是提交到的分支的名字

(2)切換到另一個分支提交程式碼

檢視分支的名字和當前自己所處的分支 git branch -va 

切換分支 git checkout -b aa(自己命名的) origin/branch_name_dev

git branch -va

切換分支完成後執行正常的提交程式碼的流程

(3)撤銷提交在本地的程式碼

首先檢視commit 號

git log fime_name.c  或者 git show file_name.c 得到如下的提交號

commit d49028ededa6370addf3aca74502273147c20dd6

然後執行撤銷命令:git reset --hard  d49028ededa6370addf3aca74502273147c20dd6

(4)如何將別人提交到伺服器上的最新程式碼,更新到自己電腦中來

先通過git status檢視下本地狀態,這樣可以知道是否有修改過的檔案沒有提交,因為如果你本地修改的檔案沒有提交而伺服器中存在提交修改的版本,那麼更新過程中導致更新過程中就可能產生衝突,所以通過檢視狀態確保本地全部提交過,或者沒有修改過別人開放的檔案   

git status

命令執行成功後,就把伺服器中較新程式碼更新到本地了

git pull

git pull 還可以加上一個修改的路徑:

在git庫的路徑下面找到包含管理git庫的東西:      .gitignore

git pull ssh:///write.blog.csdn.net/postedit    

(5)當使用git status的時候有時候會出現如下的內容

尚未暫存以備提交的變更:

  (使用 "git add/rm <file>..." 更新要提交的內容)

  (使用 "git checkout -- <file>..." 丟棄工作區的改動)


假如有一個改動尚未暫存以備提交的改動file,想把這個file丟棄掉可以執行

git checkout file_name

(6)git clone 

在使用git來進行版本控制時,為了得一個專案的拷貝(copy),我們需要知道這個專案倉庫的地址(Git URL). Git能在許多協議下使用,所以Git URL可能以ssh://, http(s)://, git://,或是隻是以一個使用者名稱(git 會認為這是一個ssh 地址)為前輟. 

克隆一個版本庫 

git clone https://github.com/jquery/jquey.git

(7)git pull 與git fetch的區別

Git中從遠端的分支獲取最新的版本到本地有這樣2個命令:
git fetch:相當於是從遠端獲取最新版本到本地,不會自動merge


Git fetch origin master
git log -p master..origin/master
git merge origin/master

    以上命令的含義:
   首先從遠端的origin的master主分支下載最新的版本到origin/master分支上
   然後比較本地的master分支和origin/master分支的差別
   最後進行合併
   上述過程其實可以用以下更清晰的方式來進行:

git fetch origin master:tmp git diff tmp  git merge tmp

    從遠端獲取最新的版本到本地的test分支上
   之後再進行比較合併
git pull:相當於是從遠端獲取最新版本並merge到本地

git pull origin master

上述命令其實相當於git fetch 和 git merge
在實際使用中,git fetch更安全一些
因為在merge前,我們可以檢視更新情況,然後再決定是否合併 (8)git diff 檢視尚未暫存的檔案更新了哪些部分,不加引數直接輸入
    git diff
此命令比較的是工作目錄(Working tree)和暫存區域快照(index)之間的差異
也就是修改之後還沒有暫存起來的變化內容。
2,repo的使用 (1)repo 與git的區別
用 repo 拿的時候其實 .git 統統會放在 .repo 裡,然後外面的.git都只是link
其實 repo 只是管理多 git 的工具,裡面版本管理部分實際用的都是git,它的好處就是能夠把多個git組合成一個大的專案
你如果需要省空間,可以用 repo sync -c ,這樣只會獲取當前相關的分支。

(2)repo init  repo init -u URL ,  在當前目錄安裝 repository ,會在當前目錄建立一個目錄 ".repo"  -u 引數指定一個URL, 從這個URL 中取得repository 的 manifest 檔案。    repo init -u git://android.git.kernel.org/platform/manifest.git (3)repo sync 下載最新本地工作檔案,更新成功,這本地檔案和repository 中的程式碼是一樣的。 可以指定需要更新的project , 如果不指定任何引數,會同步整個所有的專案。
3,svn的使用 (1)svn status (2)mkdir svn_file cd  svn_file 將伺服器中的內容同步到本地:svn checkout svn:http://192.168.1.132:8000/svn/file_name (3)新增檔案或者資料夾 svn add file_name svn commit -m"描述資訊"  file_name (4)檢視伺服器中的檔案:svn list svn:http://192.168.1.132:8000/svn/file_name (5)svn delete

svn delete my_file

svn commit -m"delete my_file"

svn status