git初始化
配置全局用戶信息(分布式版本控制)
$ git config --global user.name “用戶名”
$ git config --global user.email “郵箱”
設置默認的編輯器
$ git config --global core.editor "編輯器運行程序的路徑"
查看git的配置信息
$ git config --list
查看git的命令手冊
$ git help
Git倉庫(repository)
初始化版本庫:git init
添加文件到版本庫
$git add 文件名
$git commit -m "提交的說明"
查看git倉庫狀態(tài)
$git status
添加遠程倉庫
$git remote add origin http地址
第一次提交的時候會默認創(chuàng)建master分支(pwd 展示當前目錄信息,mkdir 創(chuàng)建文件夾)
推送到遠端
$git push
檢出項目到本地(默認把分支已經(jīng)和遠端關聯(lián)上)
$git clone http地址
回到過去
將版本庫中內(nèi)容覆蓋到暫存區(qū)(工作區(qū)不會變化,如果要使工作區(qū)變化)
$git reset head
將版本庫中內(nèi)容重置(緩存杨箭、版本庫寞焙、本地都會變化)
$git reset --hard hash碼
清空本地文件
$git rm 文件名
標簽管理(建立里程碑)
查看所有標簽: $git tag
創(chuàng)建標簽:$git tag name
指定提交信息:git tag -a name -m "comment"
刪除標簽:git tag -d name (刪除標簽名為)
標簽發(fā)布:git push origin name
分支管理
git branch name 創(chuàng)建name的分支
git checkout name 切換分支
git branch 查看分支,查看當前在哪個分支上
切換到master分支上:git checkout master
*代表你所在那個分支上
合并分支代碼到master(需要先把分支切換到master分支上):git merge 分支名
刪除分支(合并分支后,分支就沒有作用):git branch -d 分支名
工作流
Git 有三種狀態(tài)捣郊,你的文件可能處于其中之一:已提交(committed)辽狈、已修改(modified)和已暫存(staged)。 已提交表示數(shù)據(jù)已經(jīng)安全的保存在本地數(shù)據(jù)庫中呛牲。 已修改表示修改了文件刮萌,但還沒保存到數(shù)據(jù)庫中。 已暫存表示對一個已修改文件的當前版本做了標記娘扩,使之包含在下次提交的快照中着茸。
由此引入 Git 項目的三個工作區(qū)域的概念:Git 倉庫、工作目錄以及暫存區(qū)域琐旁。
創(chuàng)建GitHUb遠程倉庫
ssh-keygen -t rsa -C "注冊的郵箱"
ssh -T git@github.com 判斷本地倉庫和遠程倉庫是否連通
git remote add origin git@github.com "添加遠程倉庫"
git push -u origin master "第一次連接遠程倉庫推送"(默認把本地master和遠程master關聯(lián))
git pull origin <分支名> "把遠程分支拉取回來到本地涮阔,同時把本地代碼和遠程代碼合并
origin 一般是源,認為是遠程倉庫
總結(jié)
工作流: 工作區(qū)——》暫存區(qū)——》版本庫
初始化 git init ——》git add ——》gitcommit
遠程倉庫:Git remote add ——>git pull(拉去最新的代碼)——》git push ——>git clone
分支管理:git branch ——>git checkout
關于多人合作的經(jīng)驗
多用客戶端和工具灰殴,少用命令行敬特,除非在Linux服務器上直接開發(fā)
每次提交前,diff自己的代碼牺陶,以免提交錯誤的代碼
下班回家前整理好自己的工作區(qū)伟阔。
并行的項目,使用分支開發(fā)
遇到?jīng)_突時掰伸,搞明白沖突的原因减俏,千萬不要隨意丟棄別人的代碼
產(chǎn)品發(fā)布后,記得打Tag碱工,免得不知道線上的版本娃承,方便將來拉分支修復BUG
推送前使用git pull合并遠程變化的代碼