設(shè)置全局信息
git config --global user.name "chentong"
git config --global user.email "chentong01@gmail.com"
生成私鑰
ssh-keygen -t rsa -b 4096 -C "chentong01@gmail.com"
查看公鑰
cat ~/.ssh/id_rsa.pub
拷貝公鑰至剪切板(mac)
clip < ~/.ssh/id_rsa.pub
正常創(chuàng)建git項目流程
mkdir appdir //創(chuàng)建文件夾
cd appdir
git init //git項目初始化
touch README.md //新建readme文檔
git add README.md //git add 文件
git commit -m "first commit" //本地提交
git remote add origin git@github.com:yinlingchaoliu/githubAppWeex.git
// 倉庫增加遠(yuǎn)程鏈接
git push -u origin master //推送至遠(yuǎn)程倉庫
將非git項目本地代碼 提交到新的遠(yuǎn)程倉庫
cd appdir
git init //git項目初始化
git add *
git commit -m "first comit"
git remote rm origin //刪除舊的遠(yuǎn)程鏈接
git remote add origin git@github.com:yinlingchaoliu/githubAppWeex.git
//增加新的遠(yuǎn)程鏈接
git push --set-upstream origin master //推送至遠(yuǎn)程
克隆下載項目
git clone git@github.com:yinlingchaoliu/githubAppWeex.git
分支命令
查看分支
git branch
查看分支(遠(yuǎn)程+本地)
git branch --all
創(chuàng)建特性分支(feature_name 分支名)
git checkout -b feature_name
切換分支
git checkout feature_name
合并分支
git merge feature_name
刪除分支
git branch -d feature_name
推送到指定分支
git push -u origin feature_name
查看項目狀態(tài)
git status (任何情況隨時要git status)
tag標(biāo)簽
顯示所有tag
git tag
打標(biāo)簽
git tag v1.0.0
git tag v1.0.0 -m "1.0.0版本" 增加附注
git tag v1.0.0 9fbc3d0 補(bǔ)打標(biāo)簽
查看標(biāo)簽信息
git show v1.0.0
推送標(biāo)簽
git push origin v1.0.0 上傳標(biāo)簽
git push origin –tags 所有標(biāo)簽推送上去
刪除標(biāo)簽
git push origin --delete v1.0.0
獲取指定tag代碼
git checkout tag
創(chuàng)建分支基于指定tag
git checkout -b branch tag
遠(yuǎn)程項目管理
查看遠(yuǎn)程項目
git remote -v
刪除項目遠(yuǎn)程地址
git remote rm origin
添加遠(yuǎn)程項目
git remote add origin git@github.com:yinlingchaoliu/githubAppWeex.git
異常處理
git reset --hard HEAD 表示所有都撤銷都以前狀態(tài)
git reset --soft HEAD 撤銷commit
git branch --set-upstream dev origin/dev 與遠(yuǎn)程分支建立鏈接
git branch --set-upstream-to=origin/dev
git push --set-upstream origin master //推送至遠(yuǎn)程
.gitignore 配置文件
*.[oa] 忽略.a .o 結(jié)尾
*~ 忽略~ 結(jié)尾
# '#' 開頭是注釋或者當(dāng)前行配置失效
# 忽略所有 .a 結(jié)尾的文件
*.a
#!在模式前加上驚嘆號(!)取反
# lib.a 除外
!lib.a
#匹配模式最后跟反斜杠(/)說明要忽略的是目錄。
# 僅僅忽略項目根目錄下的 TODO 文件,不包括subdir/TODO
/TODO
# 忽略 build/ 目錄下的所有文件
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
git配置
$ cd ~
$ vi .gitconfig
//配置文件內(nèi)容
[user]
name = 陳桐
email = chentong01@hexindai.com
password = hexin@123
[branch]
autosetuprebase = always
[core]
autocrlf = input
excludesfile = /Users/chentong/.gitignore_global
全局.gitignore配置,每個項目都生效
cd ~
vi .gitignore_global
*~
.DS_Store
.externalNativeBuild
local.properties
.gradle/
.idea/
/captures
build