之前項(xiàng)目使用的要么是類似于SourceTree(可戳鏈接看詳情)?的圖形化界面,要么是android studio 自帶的版本控制工具
最近剛剛開始用git命令行操作,有點(diǎn)生疏 , 所以寫了此文來記錄 工作中常用的git命令, 以便于自查和利人哑舒。
此處以gitlab為遠(yuǎn)程服務(wù)器,以git為客戶端
1.git clone
將遠(yuǎn)程倉庫中的項(xiàng)目clone下來? 需要先確認(rèn)放在哪個(gè)文件夾下,并進(jìn)入這個(gè)文件夾.
比如我要拉取遠(yuǎn)程倉庫叫 SuperOsChina ,我準(zhǔn)備拉取到E:/test 文件夾下??
于是用以下命令
admin@admin-PCMINGW64/e
$ cd E:
admin@admin-PCMINGW64/e
$ cd test
admin@admin-PCMINGW64/e/test
$ git clone ssh://admin@admin-pc:29418/SuperOSChina.git
接下來的以下的操作要進(jìn)入項(xiàng)目中進(jìn)行,所以進(jìn)入這個(gè)文件夾中
admin@admin-PCMINGW64/e/test
$ cd SuperOSChina
2.git創(chuàng)建本地分支--分支的名字為test1
admin@admin-PCMINGW64/e/test/SuperOSChina(master)
$ git branch test1
3.git切換分支
admin@admin-PCMINGW64/e/test/SuperOSChina(master)
$ git branch//查看分支
*master
test1
admin@admin-PCMINGW64/e/test/SuperOSChina(master)
$ git checkout test1//切換分支
Switched to branch 'test1'
admin@admin-PCMINGW64/e/test/SuperOSChina(test1)
$ git branch
master
*test1// 表明切換成功
4.把本地的分支提交到遠(yuǎn)程倉庫
$ git push origin ads_test:ads_test
origin 后面是本地分支,
:后面是 遠(yuǎn)程分支?
這步操作會(huì)自動(dòng)新建 遠(yuǎn)程分支ads_test
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create merge request for ads_test:
remote:? http://172.17.193.106/RDPlatform/AirCatAndroid/merge_requests/new?merge_request%5Bsource_branch%5D=ads_test
remote:
To git@172.17.193.106:RDPlatform/AirCatAndroid.git
* [new branch]? ? ? ads_test -> ads_test
5 . 查看本地分支是否與遠(yuǎn)程分支關(guān)聯(lián):
$ git branch -vv
4.查看提交狀態(tài) ?判斷下一步操作
admin@admin-PCMINGW64/e/test/SuperOSChina(test1)
$ git status
區(qū)分3種狀態(tài)
1\Changes to be committed:
已經(jīng)放到暫存區(qū)了,可以直接commit或者通過git reset HEAD
(use "git reset HEAD ..." to unstage)
modified: ??app/src/main/java/com/heima/superoschina/BaseActivity.java2\
2\Changes not staged for commit:
//說明已跟蹤文件的內(nèi)容發(fā)生了變化,但還沒有放到暫存區(qū) 如果需要提交執(zhí)行add命令,不提交就放在這里
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: ??app/src/main/java/com/heima/superoschina/BaseActivity.java
3\Untracked files:
//表明未跟蹤的文件, 需要的話也要add
(use "git add ..." to include in what will be committed)
app/src/main/java/com/phicomm/envmonitor/consts/ADConst.java
app/src/main/res/layout/activity_advertisement.xml
判斷完?duì)顟B(tài),接下來上傳到遠(yuǎn)程要做的操作:add-commit-push
add操作
admin@admin-PCMINGW64/e/test/SuperOSChina(test1)
$ git add app/src/main/java/com/test/superoschina/BaseActivity.java
如果想要把所有暫存的文件 都add
$?git add -u?
commit操作
admin@admin-PCMINGW64/e/test/SuperOSChina(test1)
$ git commit? -m"增加了開屏廣告,首頁banneer廣告"
//m后面是注釋
push操作
admin@admin-PCMINGW64/e/test/SuperOSChina(test1)
$ git push -u origin ads_test
//-u代表所有的文件
5. git打tag
$ git tag -a v1.4 -m 'my version 1.4'
-a 指定標(biāo)簽名字
-m選項(xiàng)指定了對(duì)應(yīng)的標(biāo)簽說明,Git 會(huì)將此說明一同保存在標(biāo)簽對(duì)象中。
附錄:
Gitblit安裝請(qǐng)見博客:http://blog.csdn.net/smellmine/article/details/52139299
Git安裝 請(qǐng)見博客:http://www.jb51.net/os/windows/210388.html