Android studio 配置Git

使用GIT前請閱讀(有git基礎可略過) git指引 :http://www.bootcss.com/p/git-guide/ 

一、 下載git

   http://git-scm.com/download/  

二、 安裝

    全部默認配置即可。  

三、 配置

    

    運行Git Bash   

(一) 配置用戶信息: 

  輸入以下命令: 

git config --global core.ignorecase false

git config --global user.name "YourName"   

git config --global user.email " [email protected]"

(二) 生成密鑰

ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/YourName

 

 

  此時會在 ~/.ssh 目錄下生成YourName 和YourName.pub 兩個文件。

  爲了開通git用戶,請把YourName.pub,發送至GIT 管理員。

  以上配置用戶信息和生成密鑰的過程是爲了便於管理用的,自己平時用的話可以略過此步驟。

 

 

四、使用android studio中的vcs工具初次上傳初始代碼到一個新的遠程倉庫。

  1、點擊AS菜單欄中【VCS】,選擇“Create Git Repository”,從而創建出與AS關聯該項目的一個本地倉庫。

                            圖1

2、點擊AS菜單欄中【VCS】,選擇“GIT”,接着選擇“Remotes...”,至此在彈窗中點擊加號新建關聯到遠程庫,在圖3的彈窗中,1處的名稱要記住了,後面會用到;2處是你遠程庫的鏈接地址。

                                圖2

                

                                圖3

3、選中要上傳的項目右擊,選擇“Git”,在選擇“Add”,在選擇“Commit Directory......”。

4、在AS的Terminal窗口中輸入命令:git branch --set-upstream master origin/master 。此命令中的“origin”就是步驟2中所提到的名稱;“ master”爲遠程庫的分支名稱。

5、此步是因爲遠程庫中有個"README.md"文件,而你的本地庫中沒有,所以用此步來合併代碼。在AS的Terminal窗口中輸入命令:git pull --rebase origin master。此命令中的“origin”就是步驟2中所提到的名稱;“ master”爲遠程庫的分支名稱。

6、點擊工具欄中的同步代碼的圖標(向上的箭頭),要選擇"commit and push"。

至此已經將代碼同步到了遠程庫中。

五、GIT操作:

  1、刪除遠程庫上的文件或者文件夾步驟說明。

    1)先把代碼更新到跟遠程庫一樣。

    2)git rm 文件名               注:用你要刪除的文件名替換掉“文件名”。此命令是刪除文件

      git rm r 文件夾名       注:用你要刪除的文件夾名替換掉“文件夾名”。此命令是刪除文件夾

      git rm --cached "文件路徑"            注:不刪除物理文件,僅將該文件從緩存中刪除。應用場景:有文件不小心commit到了服務器。

      git rm --f "文件路徑"     注:不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶)。

    3)git commit -m"自己備註的刪除說明"

    4)git push origin master

    執行完這四步就可以保留下本地的文件或者文件夾不變,只是刪除了本地庫和遠程庫的文件或者文件夾。

六、使用vcs進行pull和push操作出現錯誤

  錯誤提示內容:Could not read from remote repository.或者Invalid user or password.

  處理辦法:file-->setting......-->version control-->git-->SSH executable:Native。如下圖:

 

 

七:git的回滾或撤銷:

1、在工作區的代碼

git checkout -- a.txt   # 丟棄某個文件,或者
git checkout -- .       # 丟棄全部

注意:git checkout – . 丟棄全部,也包括:新增的文件會被刪除、刪除的文件會恢復回來、修改的文件會回去。這幾個前提都說的是,回到暫存區之前的樣子。對之前保存在暫存區裏的代碼不會有任何影響。對commit提交到本地分支的代碼就更沒影響了。當然,如果你之前壓根都沒有暫存或commit,那就是回到你上次pull下來的樣子了。

2、代碼git add到緩存區,並未commit提交

git reset HEAD .  或者
git reset HEAD a.txt

這個命令僅改變暫存區,並不改變工作區,這意味着在無任何其他操作的情況下,工作區中的實際文件同該命令運行之前無任何變化

3、git commit到本地分支、但沒有git push到遠程

git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>  # 回到其中你想要的某個版
或者
git reset --hard HEAD^  # 回到最新的一次提交
或者
git reset HEAD^  # 此時代碼保留,回到 git add 之前

4、git push把修改提交到遠程倉庫
1)通過git reset是直接刪除指定的commit

git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>
git push origin HEAD --force # 強制提交一次,之前錯誤的提交就從遠程倉庫刪除

2)通過git revert是用一次新的commit來回滾之前的commit

git log # 得到你需要回退一次提交的commit id
git revert <commit_id>  # 撤銷指定的版本,撤銷也會作爲一次提交進行保存

3) git revert 和 git reset的區別
- git revert是用一次新的commit來回滾之前的commit,此次提交之前的commit都會被保留;
- git reset是回到某次提交,提交及之前的commit都會被保留,但是此commit id之後的修改都會被刪除

 

鳴謝:

   1、 https://www.cnblogs.com/lao-liang/p/5019549.html

    2、http://blog.csdn.net/u010316858/article/details/50053387

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