前言
平時(shí)我們經(jīng)常使用到git,有些朋友喜歡使用git的窗口界面來操作,我個(gè)人也蠻喜歡的。不過git命令是學(xué)習(xí)git的根本,和機(jī)器打交道最近的方式,所以學(xué)好git對(duì)理解git的工作流是很有幫助的。下面梳理一下本人常用的git操作命令。
正文
git提交操作流程
(進(jìn)入到項(xiàng)目目錄中,然后執(zhí)行如下命令)
#初始化本地倉庫
git init
#將本地內(nèi)容添加至git索引中(注意:每次提交最好都執(zhí)行一下)
git add . (git add –all)
#將索引添加至本地倉庫中(日志log,注意新增文件內(nèi)容需要該命令才能提交到本地倉庫,才能push到遠(yuǎn)程)
git commit -m “first commit” 注意:日志不能為空字符串等
添加遠(yuǎn)程倉庫路徑
git remote add origin ssh://git@git.infinitus.com.cn:7999/han/gittestdemo.git
#將本地內(nèi)容push至遠(yuǎn)程倉庫中
git push -u origin master
(push之前,確保公鑰已經(jīng)放上去了)
子分支與主分支master合并流程
1.首先我們?cè)谧臃种祥_發(fā),完成后提交代碼到子分支
git add .
git commit -m ‘dev’
git push -u origin dev
2.把分支的代碼合并到主分支master上
步驟一覽:先切換到master上,保險(xiǎn)起見先拉取一下遠(yuǎn)程倉庫master,然后再在合master的主分支上合并dev分支,最后把合并成的master分支提交到遠(yuǎn)程倉庫。
git checkout master
git pull origin master (同是master分支,pull回來就會(huì)自動(dòng)本地merge)
git merge dev
git push origin master
補(bǔ)充:
1.git status可以查看狀態(tài)
2.遠(yuǎn)程倉庫有子分支,也不可以直接拉取子分支,先拉取主分支再切換到子分支
3.git hook 在使用git窗口操作,git base命令窗口不會(huì)打印內(nèi)容。
4.注意,本地commit的時(shí)候存在沖突的情況,即使git push成功,但遠(yuǎn)程并沒有更新到內(nèi)容。需要把沖突去掉再次重新操作流程。git add . git commit git push···
5.pull master回來時(shí),如果遠(yuǎn)程倉庫沒有t1之類的子分支,則本地git branch -a是看不到該子分支的。該命令只是看本地倉庫的分支信息。
git常用命令
#查看本地分支
git branch
#查看遠(yuǎn)程分支(好像也包含本地分支)
git branch -a
#創(chuàng)建本地分支,并切換到分支(test是分支名稱,可替換)
git branch test
git checkout test
注:也可以一次性寫法git checkout -b dev
#提交到遠(yuǎn)程倉庫
1.git push origin test:remoteTest 本地test分支提交到遠(yuǎn)程remoteTest分支(如果遠(yuǎn)程沒有則新建該分支)
2.git push origin test 本地test分支提交到遠(yuǎn)程test分支(如果遠(yuǎn)程沒有則新建該分支)
(push操作,就算當(dāng)前分支是test1,也可以直接把test2 push到遠(yuǎn)程,再push test1都o(jì)k)
#從遠(yuǎn)程拉取分支
git pull origin test:test
注:如果不寫本地分支名稱,則默認(rèn)和遠(yuǎn)程分支同名,這時(shí)命令為:$ git pull origin test
注意:
1.操作git的過程中,在子分支test1中g(shù)it branch testMerge分支,發(fā)現(xiàn)子分支還可以拉取子子分支,test1與testMerge內(nèi)容一樣。
#clone遠(yuǎn)程倉庫到指定目錄
git clone ssh://git@git.infinitus.com.cn:7999/han/gittestdemo.git “E:\git_workplace\newdemo”
(注意:目錄需要用””包起來)
cd E:
#git 刪除本地分支
git branch -d br
#git 刪除遠(yuǎn)程分支(刪除分支與提交分支類似,區(qū)別就是在分支名前加上:)
git push origin :br (origin 后面有空格)
git代碼庫回滾: 指的是將代碼庫某分支退回到以前的某個(gè)commit id
【本地代碼庫回滾】:
git reset –hard commit-id :回滾到commit-id,講commit-id之后提交的commit都去除
git reset –hard HEAD~3:將最近3次的提交回滾
git配置信息相關(guān)
查看用戶名和郵箱地址:
git config user.name
git config user.email
修改用戶名和郵箱地址:
git config –global user.name “xxxx”
git config –global user.email “xxxx”
查看公鑰:cat ~/.ssh/id_rsa.pub