1. git-分布式版本控制系統
2. linux 安裝git: yum install git
3. 在合適的位置建立版本庫,即倉庫 repository :mkdir learngit
;cd learngit
4. 將這個目錄變為git管理的倉庫:git init
5. 在這個檔案下就會出現乙個.git的檔案。這個檔案是隱藏的,可以用用命令ls –ah來檢視隱藏檔案
6. 我們建乙個檔案加到git版本庫中:首先建乙個檔案readme.txt隨便寫幾句話(不要用微軟的office或者記事本,因為它們都是二進位制的,git並不能識別你做了什麼改動,可以用notepad++或者vim);然後將readme.txt加到**庫中:git addreadme.txt;然後提交:git commit –m「******」引數m是為提交增加說明的,養成良好的習慣,一定要寫。
7. 在提交過程中,可能會出現pleasetell me who you are. 按照提示加乙個name和email即可:git config --global user.email 「
」 , git config --global user.name 「yourname」
8. 另外,git add 可以同時增加多個檔案,之後一下子提交即可
9. 修改readme.txt檔案。然後執行git status命令來檢視當前庫的狀態:git這時會告訴我們readme.txt已經被修改了。使用git diff readme.txt來檢視具體的修改內容。然後git addreadme.txt,最後在commit即可
10. 檢視歷史提交記錄:git log
11. 如果檢視的歷史記錄很多,可以篩選一下:git log –pretty=oneline
14. git reflog 是檢視每天命令的commitid
15. 根據commit id即可回到所要到的版本:git reset --hard ******(版本號)
16. .git版本庫中有暫存區(stage)與分支(master):git add是將**提到了stage,git commit是將**儲存到當前分支。
17. 撤銷修改:更改檔案後,發現更改錯誤,想回到原先版本:git checkout -- ******x
:若還沒add就會回到與版本庫里一樣;若已經新增到暫存區,就會回到新增到暫存區的狀態。總之,就是讓這個檔案回到最近一次 git commit 或者git add的狀態
18. git reset head ****** 可以把暫存區的修改撤銷掉,重新放回工作區
19. 誤將工作區中檔案刪除掉(檔案已經在分支了),恢復檔案到工作區:git check – ******x
20. 工作區的檔案刪除(檔案已經在分支了),然後就需要將分支中的也刪除:git rm ******;然後在commit
21. 將你自己的git倉庫與github連線:首先要有乙個github賬號;在使用者主目錄下建立sshkey:ssh-keygen –t rsa –c 「[email protected]」,然後即可在/root/.ssh/下看到兩個檔案:id_rsa私鑰,id_rsa.pub公鑰,將公鑰複製到github設定中的ssh中新增乙個ssh即可。
22. github上新建乙個倉庫:createa new repo,按步驟建立即可
23. 本地庫與github上的同步:git remoteadd origin
;git push -u originmaster。git push時須輸入github的使用者名稱和密碼。其中origin是git上預設的遠端庫名字
24. 從遠端庫新建乙個庫先建庫,然後轉殖到本地:git clone [email protected]:lelelelelez/gitskills.git
當然也支援https協議
25. 建立乙個分支dev:git branch dev;切換到這個分支:git checkout dev;合併成乙個命令:建立+切換:git checkout –b dev
26. 檢視當前分支:git branch 然後當前所在分支前面有個*
27. 在分支上正常提交之後,想要合併到主幹master上首先要切回到主幹:git checkout master;然後gitmerge dev就會合併了
28. 可以刪除分支:git branch –d dev
29. 當分支與master發生衝突時,不能合併,要首先解決衝突。
30. 在合併分支時,禁用fast forward模式:git merge --no-ff–m 「…merge no fastforward」
31. 補充一下windows版本中的git:git add會出現warning:lf will be replaced by crlf.原因是windows中的換行符為crlf,而linux下的換行符為lf,所以解決方法是:rm –rf.git;git config –global core.autocrlf false//禁用自動轉換;然後在gitinit,之後就可以正常使用啦。
33. 強行刪除乙個分支:git branch –d ******
34. 檢視遠端庫的命令:git remote;檢視遠端庫的詳細資訊:git remote –v
35. commit id 是一長串字元,不方便記憶和使用,因此可以選擇為每次commit打標籤:切換到要打標籤的分支:git tag v1.0;檢視所有標籤:git tag;展示指定標籤的內容:git show v1.0
36. 刪除某個標籤:git tag –d v1.0
37. 將某個標籤推送到遠端:git push origin v1.0;一次性推送全部尚未推送到遠端的本地標籤:git push origin --tags
38. 刪除遠端庫中的標籤:首先將本地庫的刪除:git tag –d v1.0;然後在刪除遠端庫:git push origin :refs/tags/v1.0
39. github有不錯的庫你想放在自己的github進行修改和檢視:首先fork,然後clone位址在本地庫里git clone:git clone [email protected]:lelelelelez/bootstrap.gitone 即可
Git學習筆記
git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...
git 學習筆記
1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...
Git 學習筆記
顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...