git init ? ?把目錄變?yōu)閭}(cāng)庫(kù)
git add readme.txt ? 把文件添加到git倉(cāng)庫(kù)
git commit -m "here is commit description" ? 把文件提交到倉(cāng)庫(kù) -m后面描述
git status 查看倉(cāng)庫(kù)狀況(哪里有改動(dòng)等)
git diff 查看改動(dòng)
git add readme.txt 提交修改(進(jìn)入緩存區(qū),然后提交commit)()
版本退回
git log -- pretty=oneline(顯示一行)顯示commit日志
git reset -- hard HEAD^? 回到上個(gè)版本,^^上上個(gè)版本 号涯,第100個(gè)版本HEAD~100?
git reset -- hard3628164 ?回到某個(gè)版本,3628...是版本號(hào)前幾位脓规,不必寫(xiě)齊
git reflog ? 查看命令歷史,以便確定要回到未來(lái)的哪個(gè)版本
修改相關(guān)
git diff HEAD -- readme.txt 查看工作區(qū)和版本庫(kù)里面最新版本的區(qū)別
git checkout -- readme.txt 丟棄工作區(qū)的文件的修改
git reset HEAD readme.txt (假設(shè)add到了stage)险领,把stage的修改撤銷掉(unstage)侨舆,重新放回工作區(qū)(將當(dāng)前版本覆蓋stage)(如果需要然后在git check out---撤銷本地修改)
刪除還原
checkout用于本地從stage恢復(fù),reset用于stage從master恢復(fù)
1.在工作區(qū)(checkout readme.txt)
方法:直接checkout -- readme.txt撤銷操作
2.在暫存區(qū)(git rm readme4.txt)刪除本地和stage中的
方法:先reset HEAD退回操作區(qū)绢陌,再checkout撤銷操作
3.在版本區(qū)
方法:只能版本回退
遠(yuǎn)程倉(cāng)庫(kù)
ssh-keygen -t rsa -C"youremail@example.com" 創(chuàng)建SSH Key?
github -個(gè)人設(shè)置-ssh-new-將公鑰id_rsa.pub添加進(jìn)去
在github上新建倉(cāng)庫(kù)
git remote add origin git@github.com:yourgithubname/reponame.git(將新建的倉(cāng)庫(kù)與本地倉(cāng)庫(kù)關(guān)聯(lián))
git remote set-url origin newURL 切換remote
git push -u origin master(首次加U)
git push origin master(推送到遠(yuǎn)程)
git pull origin master(從遠(yuǎn)程更新)
要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫(kù)挨下,使用命令git remote add origin git@server-name:path/repo-name.git
關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容脐湾;
此后臭笆,每次本地提交后,只要有必要沥割,就可以使用命令git push origin master推送最新修改耗啦;
git branch -a查看所有分支(包括遠(yuǎn)程)
從遠(yuǎn)程庫(kù)克隆
git clone git@github.com:yourgihubname/reponame.git
創(chuàng)建與合并分支
Git鼓勵(lì)大量使用分支:
查看分支:git branch
創(chuàng)建分支:git branch xxx
切換分支:git checkout xxx
創(chuàng)建+切換分支:git checkout -b xxx(效果等于上面兩句)
合并某分支到當(dāng)前分支:git merge branchname
刪除分支:git branch -d branchname
拉取分支到本地:git checkout -b local-branchname origin/remote_branchname
推送:git push origin local_branch:remote_branchxietu
拉仍淦小:git pull
拉取分支到本地:git fetch 然后git checkout -b localBranch?origin/A
拉取分支到本地2(跟蹤分支机杜,有直接關(guān)系,可直接push衅谷?):git checkout --track origin/A
拉取分支到本地3:(已有dev分支 git checkout -b dev椒拗,使之關(guān)聯(lián)遠(yuǎn)程分支)git branch --set-upstream? dev origin/A
沖突解決
要解決沖突再提交
$ git log --graph --pretty=oneline --abbrev-commit 看分支合并圖
git branch -d feature1 看分支合并圖
遇到的問(wèn)題
1、不能commit,no changes added to commit
解決方法
1.到根目錄下:git add .蚀苛;("."是必須要的)
2.git commit -m "some word"
3.git push -u origin master