git
分布式的版本管理系統(tǒng)
git init
可以把當(dāng)前目錄初始化為一個(gè)git倉(cāng)庫(kù)坦仍,當(dāng)初始化完成之后鳍烁,在目錄下就有一個(gè)叫.git
的隱藏目錄,這個(gè)目錄咱們一般不會(huì)去多操作它繁扎,這個(gè)目錄一旦刪除幔荒,那就相當(dāng)于當(dāng)前目錄就是一個(gè)普通的目錄,而不再是一個(gè)git倉(cāng)庫(kù)锻离。
初次運(yùn)行g(shù)it的時(shí)候可能需要配置全局的用戶名和郵箱:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
只要全局配置了之后铺峭,在你的用戶根目錄下墓怀,就有一個(gè).gitconfig
的文件汽纠,直接修改這個(gè)文件和命令行修改,結(jié)果一樣傀履。
公鑰配置
在任意位置打開gitbash虱朵,輸入$ ssh-keygen
莉炉,只需要通過這個(gè)命令回答問題的方式,就可以生成密鑰對(duì),會(huì)新增一個(gè).ssh文件夾碴犬。 讀法: ssh-key gen => generator
"密鑰對(duì)" 保存位置 =>用戶目錄/.ssh/
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Leo/.ssh/id_rsa): 這里一定是寫帶路徑的名字/Users/Leo/.ssh/id_rsa_coding
在ssh目錄下就會(huì)出現(xiàn)這樣的
id_rsa_coding id_rsa_coding.pub 公鑰絮宁,用于放在coding上的
可以添加公鑰到git平臺(tái)
新建一個(gè) (這里沒有點(diǎn))config(這里沒有擴(kuò)展名) 文件, 這個(gè)文件關(guān)聯(lián)服務(wù)器和密鑰對(duì)服协,要配置多個(gè)平臺(tái)就在這個(gè)文件里繼續(xù)新增一條配置绍昂,不用新建config文件。
Host git.dev.tencent.com(這里的地址是你的git地址)
User Leo (這里的名字隨便寫)
PreferredAuthentications publickey (注意一個(gè)字母都不能少偿荷,而且區(qū)分大小寫)
IdentityFile ~/.ssh/id_rsa_coding (這個(gè)就是你要使用哪一個(gè)密鑰對(duì), windows上也是全路徑)
git基本流程
git init: 初始化一個(gè)git倉(cāng)庫(kù)窘游,如果做錯(cuò)了,顯示隱藏文件跳纳,刪除.git目錄
git status: 查看狀態(tài)
git add 文件名: 添加某個(gè)文件
git add .(-A): 添加所有修改
git checkout 文件名 在add之前回退
git reset --hard 在add之后回退
git commit -m '寫你的消息'
git log 查看提交歷史 按字母 q(uit)退出
git reset --hard 版本號(hào) 在commit之后回退到指定的版本
git diff(erence) 可以查看沒add的不同
git remote add origin (git@git.dev.tencent.com:leochow/renzaoge.git 倉(cāng)庫(kù)地址)
git clone: 克隆遠(yuǎn)程倉(cāng)庫(kù)到本地
git branch 查看本地分支
git branch -r 查看遠(yuǎn)程分支
git branch -D 分支名 刪除某個(gè)分支
git checkout 分支名: 切換到已有的分支
git checkout -b 分支名: 新建一個(gè)分支忍饰,并且切換到該分支
git push origin 遠(yuǎn)程分支名: 如果遠(yuǎn)程已經(jīng)存在同名分支,則會(huì)有沖突或者合并寺庄,如果沒有艾蓝,就會(huì)創(chuàng)建一個(gè)遠(yuǎn)程分支,并且和當(dāng)前分支是關(guān)聯(lián)的
pull request(pr), 新建 合并請(qǐng)求步驟
rebase 流程
pre-1: 在基準(zhǔn)分支(dev)上接取最新的代碼 git pull origin dev
pre-2: 切換到自己的分支上 git checkout Leo/home
- git rebase dev
- 解決沖突
- git add -A
- git rebase --continue
- 重復(fù)2斗塘,3赢织,4
- 至到reabase完成
- 有可能本地自己的分支和遠(yuǎn)程分支還有沖突,這時(shí)候需要git pull …… 之后逛拱,解決沖突再push