/* 初始化git倉庫:git init */
/* 添加文件到git倉庫 */
分兩步:
第一步:追蹤文件:git add 或者git add .铁坎,注意多次使用蜂奸,添加多個文件。
第二步:提交記錄:git commit -m"提交記錄"硬萍,完成扩所。
/* 查看工作區(qū)的狀態(tài):git status */
如果git status告訴你有文件被修改過,用git diff可以查看修改的內(nèi)容朴乖。
/* 版本回退 */
git reset --hard commit_id可以讓我們在版本的歷史之間穿梭祖屏。
回退到之前版本,用git log查看提交歷史。
從歷史版本回退到未來版本峻贮,用git reflog來查看命令歷史缓屠。
/* 撤銷修改 */
如果不小心改亂了某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改后期丰,用git checkout --file.
如果不但改亂了 工作區(qū)某個文件的內(nèi)容群叶,還添加到了暫存區(qū),想丟棄修改咐汞。
分兩步:
第一步:git reset head file盖呼,
第二步:git checkout --file.
/* 刪除文件:git rm(盡量別用) */
/* 構(gòu)建遠程倉庫 */
1.創(chuàng)建SSH Key(如果用戶目錄下沒有.ssh目錄,或者有了.ssh目錄但是沒有id_rsa和id_rsa.pub化撕,其中id_rsa是私鑰几晤,is_rsa是公鑰(這個可以隨便告訴別人)) ssh -keygen -t rsa? -C “yo uremail@example.com”
/* 保存密碼 */
eval “$(ssh-agent -s)”
ssh-add ~/.ssh/id_rsa
/* 驗證key */
ssh -T git@github.com
2.登錄git.oschina.com 打開ssh公鑰頁面,然后在key廣本框里粘貼id_rsa.pub的內(nèi)容
/* 關(guān)聯(lián)遠程庫 */
第一步:在本地的倉庫下運行命令
git remote add origin https://git.oschina.net/wuhongxing/gcd.git
第二步:把所有的本地庫的內(nèi)容推到遠程庫上
git push -u origin master(第一次)? 之后每次可以git push origin master
/* 從遠程庫克隆 */
要克隆一個倉庫植阴,首先必須知道倉庫的地址蟹瘾,然后使用git clone命令克隆。
Git支持多種協(xié)議掠手,包括https憾朴,但通過ssh支持的原生git協(xié)議速度最快。
git clone https://git.oschina.net/wuhongxing/gcd.git
/* 分支管理 */
Git鼓勵大量使用分支:
查看分支:git branch
查看所有分支(包括遠程分支):git branch -a
創(chuàng)建分支:git branch
切換分支:git checkout
創(chuàng)建+切換分支:git checkout -b <branch-name>
合并某分支到當(dāng)前分支:git merge <branch-name>
合并某分支到當(dāng)前分支(普通模式):git merge --no-ff -m "提交記錄" <branch-name>
取消合并:git merge -abort
刪除分支:git branch -d <branch-name>
刪除遠程分支:git push origin :<branch-name>(origin后面的空格不能少)
/* bug分支 */
git stash把當(dāng)前工作現(xiàn)場“儲藏”起來喷鸽,等以后恢復(fù)現(xiàn)場后繼續(xù)工作
git stash list可以查看剛剛儲藏的工作現(xiàn)場
git stash apply恢復(fù)众雷,但是不刪除stash的內(nèi)容,用git stash drop來刪除
git stash pop恢復(fù)的同時刪除stash的內(nèi)容
/* feature分支 */
開發(fā)一個新的feature做祝,最好新建一個分支
如果要丟棄一個沒有被合并過的分支砾省,可以通過git branch -d <name>強行刪除
/* 多人合作 */
git remote或者git remote -v
從本地推送分支,使用git push origin branch-name混槐,如果推送失敗,選用git pull抓取遠程的新提交
在本地創(chuàng)建和遠程分支對應(yīng)的分支git checkout -b branch-name origin/branch-name
建立本地分支和遠程分支的關(guān)聯(lián)git branch —set-upstream branch-name origin/branch-name
從遠程抓取分支,使用git pull编兄,如果有沖突,要先處理沖突
/* 最后比較好玩的自定義log */
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"