(1) 新建一個文件夾,做測試
(2)將此目錄變為Git可管理的倉庫git init
(3)目錄下會多一個.git的文件,使用ls命令查看不到,因為它是默認隱藏的,可以使用ls -ah
(4)新建一個readme.txt的文件,並且輸入一些內容echo > "xxxx" >readme.txt
(5)添加文件git add readme.txt
(6)配置一下git的信息git config --global user.email "郵箱"
git config --global user.name "用戶名"
(7)提交git commit -m "說明文字"
(8)查看git的日志git log
或者git log --pretty=oneline
只顯示簡要的信息
(9)回撤版本git reset --hard HEAD^
,回撤幾次就是HEAD^^^^中的^
幾次
(10)查看版本號git reflog
(11)回撤到對應的版本號:git reset --hard 版本號
(12)刪除已經提交的文件git rm 文件名
(1)首先需要創建SSH Key,ssh-keygen -t rsa -C "[email protected]",然後一路回車下去
(2)在.SSH目錄下會有兩個文件,一個是id_rsa,另外一個是id_rsa.pub,對應的一個是私鑰,一個是公鑰
(3)將公鑰裡的內容添加到你的GitHub賬號下
(4)新建一個倉庫,這裡命名為githubTest
它會有對應的提示信息
(5)按上述提示執行命令,關聯倉庫git remote add origin [email protected]:xxxx/xxxxx.git
,將本地文件push上去git push -u origin master
第一次push加上-u參數,以後再push就直接push就可以了
(6)在GitHub上就會看到push上去的內容了
(7)克隆倉庫,git clone [email protected]:xxxx/xxxxx.git
,這是通過SSH的方式克隆的,還有https的方式
文件克隆結果
(1)創建分支並切換到創建的分支:git checkout -b dev
相當於git branch dev
git checkout dev
(2)切換分支git checkout xxx
(3)查看分支git branch
*指向當前分支
(4)合並分支測試(沒有沖突),在dev分支下,readme.txt中增加文字git add
然後git commit
切換到主分支:git checkout master
,查看內容還是之前的內容
然後合並dev分支:git merge dev
查看內容已經是最新的了
現在可以刪除dev分支了:git branch -d dev
(5)沖突測試:
1. 新建一個分支develop,在分支下在readme.txt最後一行加入如下
2. 然後git add
git commit
3. 切換主分支git checkout master
4. 在readme.txt中最後一行加入如下,同樣git add
git commit
5. 然後merge develop分支git merge develop
,會發現提示有沖突
6. 在readme.txt中會標出沖突的內容,手動修改,合並
會發現內容正常
7. 查看合並的圖git log --graph --pretty=oneline
(6)強行刪除分支git branch -D <name>
(1)帶有說明的標簽,用-a指定標簽名,-m指定說明文字,後面指定commit id,如果沒有指定就是最新commit的git tag -a v0.1 -m "version 0.1 released" 3628164
(2)推送某個標簽到遠程,使用命令git push origin <tagname>
(3)本地刪除標簽git tag -d xxxx
(4)如果已經push到遠程倉庫中了,需要先刪除本地git tag -d xxx
,然後刪除遠程的git push origin :refs/tags/xxx
(5)推送全部未推送過的本地標簽git push origin --tags
(1)在GitHub上,可以任意Fork開源倉庫;
(2)自己擁有Fork後的倉庫的讀寫權限;
(3)可以推送pull request給官方倉庫來貢獻代碼。
(1)讓Git顯示顏色git config --global color.ui true
(2)配置別名
git config --global alias.co checkoutgit config --global alias.ci commitgit config --global alias.br branch
之後就可以用co代替checkout,ci代替commit,br代替branch了
http://xxxxxx/Linuxjc/1134086.html TechArticle