查看用戶名和郵箱地址:
$ git config user.name
$ git config user.email
修改用戶名和郵箱地址:
$ git config --global user.name "username"
$ git config --global user.email "email"
如果~/.ssh/id_rsa.pub存在則先刪除 rm -rf id_rsa*
生成新的ssh公鑰
你可以按如下命令來生成sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"?
# 三次回車即可生成 ssh key
查看你的 public key,并把他添加到碼云(Gitee.com) SSH key添加地址
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
添加后撇贺,在終端(Terminal)中輸入
ssh -T git@git.oschina.net
若返回
Welcome to Git@OSC, yourname!
將生成好的ssh公鑰添加到用戶git賬戶公鑰管理中
如果只是讓用戶進(jìn)行clone或pull操作 直接將用戶ssh公鑰添加在項目公鑰管理中
常用操作命令收集:
1) 遠(yuǎn)程倉庫相關(guān)命令
檢出倉庫:$?git?clone?git://github.com/jquery/jquery.git
查看遠(yuǎn)程倉庫:$?git?remote -v
添加遠(yuǎn)程倉庫:$?git?remote add [name] [url]
刪除遠(yuǎn)程倉庫:$?git?remote rm [name]
修改遠(yuǎn)程倉庫:$?git?remote set-url --push[name][newUrl]
拉取遠(yuǎn)程倉庫:$?git?pull [remoteName] [localBranchName]
推送遠(yuǎn)程倉庫:$?git push?[remoteName] [localBranchName]
2)分支(branch)操作相關(guān)命令
初始化:git init
推送本地倉庫到遠(yuǎn)程 git remote add origin 遠(yuǎn)程倉庫地址
拉去遠(yuǎn)程分支 git fetch origin dev(dev為遠(yuǎn)程倉庫的分支名)
把分支上內(nèi)容全部拉去到本地 git pull origin dev(遠(yuǎn)程分支名字)
查看本地分支:$?git?branch
查看遠(yuǎn)程分支:$?git?branch -r
創(chuàng)建本地分支:$?git?branch [name] ----注意新分支創(chuàng)建后不會自動切換為當(dāng)前分支
切換分支:$?git?checkout [name]
創(chuàng)建新分支并立即切換到新分支:$?git?checkout -b [name]
刪除分支:$?git?branch -d [name] ---- -d選項只能刪除已經(jīng)參與了合并的分支谎仲,對于未有合并的分支是無法刪除的糖权。如果想強(qiáng)制刪除一個分支匾竿,可以使用-D選項
合并分支:$?git?merge [name] ----將名稱為[name]的分支與當(dāng)前分支合并
創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程):$?git push?origin [name]
刪除遠(yuǎn)程分支:$?git push?origin :heads/[name]
我從master分支創(chuàng)建了一個issue5560分支俐镐,做了一些修改后秒梳,使用git push?origin master提交辫诅,但是顯示的結(jié)果卻是'Everything up-to-date'凭戴,發(fā)生問題的原因是git push?origin master 在沒有track遠(yuǎn)程分支的本地分支中默認(rèn)提交的master分支,因為master分支默認(rèn)指向了origin master 分支炕矮,這里要使用git push?origin issue5560:master 就可以把issue5560推送到遠(yuǎn)程的master分支了么夫。
??? 如果想把本地的某個分支test提交到遠(yuǎn)程倉庫者冤,并作為遠(yuǎn)程倉庫的master分支,或者作為另外一個名叫test的分支档痪,那么可以這么做譬嚣。
$?git push?origin test:master???????? // 提交本地test分支作為遠(yuǎn)程的master分支?//好像只寫這一句,遠(yuǎn)程的github就會自動創(chuàng)建一個test分支
$?git push?origin test:test????????????? // 提交本地test分支作為遠(yuǎn)程的test分支
如果想刪除遠(yuǎn)程的分支呢钞它?類似于上面,如果:左邊的分支為空殊鞭,那么將刪除:右邊的遠(yuǎn)程的分支遭垛。
$?git push?origin :test????????????? // 剛提交到遠(yuǎn)程的test將被刪除,但是本地還會保存的操灿,不用擔(dān)心
3)版本(tag)操作相關(guān)命令
查看版本:$?git?tag
創(chuàng)建版本:$?git?tag [name]
刪除版本:$?git?tag -d [name]
查看遠(yuǎn)程版本:$?git?tag -r
創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程):$?git push?origin [name]
刪除遠(yuǎn)程版本:$?git push?origin :refs/tags/[name]
4) 子模塊(submodule)相關(guān)操作命令
添加子模塊:$?git?submodule add [url] [path]
如:$?git?submodule add?git://github.com/soberh/ui-libs.git?src/main/webapp/ui-libs
初始化子模塊:$?git?submodule init ----只在首次檢出倉庫時運(yùn)行一次就行
更新子模塊:$?git?submodule update ----每次更新或切換分支后都需要運(yùn)行一下
刪除子模塊:(分4步走哦)
1)$?git?rm --cached [path]
2) 編輯“.gitmodules”文件锯仪,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
3) 編輯“.git/config”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
4) 手動刪除子模塊殘留的目錄
5)忽略一些文件趾盐、文件夾不提交
在倉庫根目錄下創(chuàng)建名稱為“.gitignore”的文件庶喜,寫入不需要的文件夾名或文件,每個元素占一行即可救鲤,如
target
bin
*.db
切換到目標(biāo)分支
合并單個文件:
git checkout --patch 原分支? 文件路徑? ? 合并分支的某個文件到新分支
合并文件夾:
git checkout? 原分支? 文件夾
git reset –hard HEAD ^撤回到上一個版本
git reset –hard HEAD~100?? 撤回到第100個版本
git reset –hard?版本號