android_git使用

1.  git  status 查看

2.  git branch -a

3.  git checkout -b temp


4. git add

5. git commit -m 

6.  gitk --all -a

7. git checkout 0500660911b8a259238ba3deb12331ed55043ffb

8.  git checkout -b xxxxxxxx

9.  git branch -D xxxxxxxx

git fetch origin xx 取:origin/xx

git rebase FETCH_HEAD 合併分支

=========================================================

commit

git commit -m ""

pull

git pull

git fetch origin xxxx

git rebase FETCH_HEAD

git push -n

 git push

=========================================================

git branch -a      //先看看本地/遠程有哪些分支
git branch b1       //在本地新建 分支 b1
git checkout b1     //切換到本地分支 b1
git checkout -b bb22   //新建本地分支bb22,並切換到分支bb22

一、 git倉庫分支規劃:
    (遠程分支,位於服務器上的分支; 本地分支,位於本地git倉庫上的分支)

   1, 長期存在的遠程分支:
         master,
         各項目分支(如:pad1024*600, pad800*480, pad-room, pad-outside)
   2, 短期本地分支: bugfix, feature,... 工作完成後,merge到某長期遠程分支後,刪除此分支,不推送到遠程倉庫,

二、 git工作流程:
 git clone [email protected]:gittest.git  後,
 git branch -a    (查看本地分支、遠程分支, 最前面帶*號的是 “當前分支”,編輯代碼總是在“當前分支”上進行的)
 默認會在本地checkout了master分支,
 大致流程:
    1、 按工作內容,按項目,checkout一個項目分支:
        git checkout -b b2 remotes/origin/b2 
       (checkout遠程分支b2到本地分支b2,並切換到本地分支b2)


    2、 新建一個本地分支,如bugfix分支(git branch bugfix),
        切換到此分支,git checkout bugfix,
        在本地分支bugfix上修改、提交,最後修改經過測試通過後,再merge到 本地的項目分支b2,
            git checkout b2       //切換到本地 項目分支
            git merge bugfix      //合併bugfix分支到 本地項目分支b2,(工作內容在本地bugfix分支中)
        注意查看信息,可能會產生衝突。merge成功後,可以刪除本地臨時分支:git branch -d bugfix


    3、push本地的項目分支b2到遠程倉庫,
            git push origin b2
=======================================================================================
git圖形化工具:
    linux下圖形化git工具:  git-gui
     sudo apt-get install gitk git-gui
     sudo cp -a /usr/lib/git-core/git-gui /usr/bin/
     運行:$ git-gui   (在ubuntu本地的命令行下)


windows下圖形化git工具 TortoiseGit, http://code.google.com/p/tortoisegit/,
     需安裝兩個軟件,我這裏下載有。
兩款工具軟件界面差不多,在文件管理工具中,找到本地git倉庫目錄,右鍵, git...

(注意:圖形化工具可能在後臺搜索git倉庫,導致電腦速度變慢或內存不足現象)

git用戶在自己的ubuntu命令行下運行 ssh-keygen,生成密鑰,密碼設置可設也可不設。
(特別注意:若原來已經生成過公私密鑰,需要改本次保存的文件名,否則會覆蓋掉原有的,造成以前的密鑰丟失。)
將 /home/xxx/.ssh/id_rsa.pub文件用郵件發送給git管理員。
從git倉庫下載代碼:
 git測試學習倉庫:
  $git clone [email protected]:gittest.git
  成功後會生成目錄 gittest
    建議先下載這個倉庫,測試。
   
 tt:
  $git clone [email protected].:**/testgit
 tt:
  $git clone [email protected]:*/test.git
---------------------------------------------------------------------------------
git簡單使用,下載代碼後,
例如修改文件aa.c,保存後,
$git status
 可以看到當前git倉庫狀態,注意,修改過的文件名會列出來。
$git add aa.c
$git commit -m "some modify info, log"
$git log            //可以看到你剛纔的修改
現在修改還在本地。
將剛纔的 提交(commit) 保存到git服務器上: $git push
看到別人的修改: $git pull

git push origin tt:xx

================================================================

使用Git/Github管理你的項目

2011年04月27日
1、安裝
  sudo apt-get install git git-core

2、git的初始設置
  git config --global user.name "Your Name"
  git config --global user.email [email protected]

3、建立倉庫
  進入到項目目錄。
  git init  #這樣在你的項目目錄下就會有一個.git的隱藏目錄(類似於.svn 但總個項目只會在項目根目錄下有一個.git目錄) 。

4、初始化項目
  git add .  #添加所有文件的情況,也可以添加特定的幾個文件,比如git add README等等。
  git commit -m 'first commit'  #-m 參數以及後面的字符串是添加說明信息。

5、 註冊github賬號,創建項目!

6、創建SSH密匙
  ssh-keygen -C '[email protected]'-t rsa  #確認使用默認路徑,然後輸入兩次你要是用的密碼就行,可以爲空。
  
7、提交密匙
  現在又要回到github的頁面上,在“賬戶設置中”有一個“SSH 公匙”選擇“添加新的公匙”。
  填入標題,如"miclle@ubuntu",或 "[email protected]",work-pc都可以
  公匙是剛剛上一步生成的一段代碼
  cd  #回到默認目錄
  cat .ssh/id_rsa.pub  #將裏面的內容拷貝到“ 公匙”裏,保存。
  設置完成後可以通過下面命令測試連接

8、上傳代碼
  git remote add origin [email protected]:miclle/test.git
  git push -u origin master

其它命令:
創建和合並分支
#git branch 顯示當前分支是master 本地和遠程合併,本地默認分支爲master
#git branch new-feature  創建分支
# git checkout new-feature 切換到新分支
提交到本地GIT
# git commit -a -m "message..."
合併到遠程服務器
# git push origin new-feature
如果new-feature分支成熟了,覺得有必要合併進master
#git checkout master
更新本地master
#git pull origin master
合併new-feature
#git merge new-feature
更新至遠程
# git push origin master
則master中也合併了new-feature 的代碼

1.

  *origin(remote) 是Repository的版本
  *master(branch) 是local端,正在修改的版本
  所以平時沒事不要用origin,如果用了,可通過 git reset -hard恢復到沒修改的狀態

2.git新增檔案

>git add .  #將資料先暫存到本地,add之後在新增資料,此次commit不會含在裏面
>git add filename
>git add modify-file #修改過的檔案也要add,不然commit要加上-a參數
>git add -u #只加修改過的檔案,新增的檔案不加入
>git add -i #進入互動模式

3.git 刪除檔案
>git rm filename

4.git 修改檔案,搬移目錄
>git mv filename new-filename

5.git status 查看當前檔案狀態

6.git commit
>git commit 
>git commit -m ‘commit message’
>git commit -a -m ‘commit message’ #將所有修改過的檔案都commit,但是新增的檔案要先add .
>git commit -a -v #-v可以看到檔案的哪些內容被改動了,-a把所有修改的檔案都commit

7.產生新的branch
>git branch  #列出目前所有的branch
>git branch new-branch #產生新的branch(new-branch),若沒有特別指定,會有目前所在的branch/master直接複製一份
>git branch new-branch master #由master產生新的branch(new-branch)
>git branch new-branch v1 # 由 tag(v1) 產生新的 branch(new-branch)
>git branch -d new-branch # 刪除 new-branch
>git branch -D new-branch # 強制刪除 new-branch
>* git checkout -b new-branch test # 產生新的 branch, 並同時切換過去 new-branch
>git branch -r # 列出所有 Repository branch
>git branch -a # 列出所有 branch

8.git checkout 切換 branch

    * git checkout branch-name # 切換到 branch-name
    * git checkout master # 切換到 master
    * git checkout -b new-branch master # 從 master 建立新的 new-branch, 並同時切換過去 new-branch
    * git checkout -b newbranch # 由現在的分支爲基礎, 建立新的 branch
    * git checkout -b newbranch origin # 由 origin 的基礎, 建立新的 branch
    * git checkout filename # 還原檔案到 Repository 狀態
    * git checkout HEAD . # 將所以檔案都 checkout 出來(最後一次 commit 的版本), 注意, 若有修改的當案都會被還原到上一版. (git checkout -f 亦可)
    * git checkout xxxx . # 將所有當案都 checkout 出來(xxxx commit 的版本, xxxx 是 commit 的編號前四位), 注意, 若有修改的當案都會被還原到上一版.
    * git checkout — * # 恢復到上一次 Commit 的狀態(* 改成檔案名, 就可以只恢復那個檔案)

9.git diff  #查看修改的內容

10.git merge 合併分支

其他常用命令:
git show [commit version] #顯示某一次commit的記錄
git blame [文件名] #顯示該文件的修改歷史
git log  [commit version] #顯示所有的commit歷史記錄


我的簡單git使用方便自己查看:
git branch #查看當前在哪個分支下
git status  #查看狀態
git add .   #快速添加全部修改,不必單個文件逐一添加
git commit -m "new order"  #提交到本地
git checkout master
git pull   #這時將master拉回了本地(下載服務4代碼)
git checkout -b ordertest   #在master建分支,此分支和master代碼一樣
git merge order   #合併order
如果有衝突,在此解決衝突再次add commit merge

git push #提交到服務器
注意:git diff 不帶路徑參數將查看所有文件的修改
git add . 在文件很多時,可以一次將全部文件添加以待提交(commit), 但刪除文件需要使用git rm app/../user.rb,路徑參數不能省略
在push之前必須git pull命令, 否則可能覆蓋別人的修改

還想繼續在order下開發,則checkout order
merge ordertest



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章