git的常用功能(管理github仓库)
1、克隆github的倉庫到本機機器
?
?
?
方式一:https方式:缺點:每次推送都要輸入用戶名和密碼,
進入github網站,使用https方式,復制倉庫地址,克隆遠程倉庫shiyanlou到本地機器
git clone 【倉庫地址】?
強烈推薦方式二:ssh方式:優點:推送時不需要輸入用戶名和密碼
bash終端執行 ssh-keygen 命令按幾次回車生成公私鑰,公私鑰存放在家目錄下的隱藏目錄 .ssh 中的兩個文件中:
將?~/.ssh/id_rsa.pub?文件中的公鑰內容復制出來。這個文件在用戶文件的.ssh位置
?
2、git init 將當前目錄變成一個倉庫
進入shiyanlou文件夾,執行git init, test就變成了倉庫,多出了一個隱藏目錄.git
git init?
5、git remote -v 查看本地倉庫所關聯的遠程倉庫信息
由于現在沒關聯github上的倉庫,所以什么不顯示。
git remote -v?
6、git remote? 將本地的shiyanlou倉庫關聯到github的倉庫
命令:
git remote add origin(可修改) 遠程倉庫地址?
6、git status 查看整個倉庫的狀態:
git status創建個test.txt,內容為hello world, 再執行git status, 提示
?
上圖提示有test.txt文件未被跟蹤
?
7、git add跟蹤文件?
使用git add [文件名]命令, 來跟蹤test.txt,即將test.txt文件放入暫存區中,以備提交。
下圖顯示未提交(commit)
?
git add .可以將工作區中所有的文件都放入暫存區中
?
8、git diff 查看跟蹤文件的修改情況
git diff,它可以用來查看工作區被跟蹤的文件的修改詳情,下面是修改test.txt文件,執行git diff,會出現綠色提示,即修改的部分
git diff --cached 查看暫存區的全部修改,即查看多個跟蹤文件的修改情況
?
9、撤銷暫存區的文件
如果撤銷暫存區的單個文件,就執行 git reset -- [文件名] 或者 git rm --cached [文件名] 命令即可:
把命令寫成 git reset -- 即可把暫存區的全部修改撤銷。
?
10、git commit提交到版本庫
執行?git commit -m '提交的標注'?命令生成一個新的提交,一個必須的選項?-m?用來提供該提交的備注:
提交后,暫存區的修改被清空
?
11、查看提交記錄
執行?git log?查看提交記錄,圈中的十六進制序列號就是提交版本號,這是很重要的信息,每個提交都有自己單獨的版本號,就像公民身份證號一樣:輸入q退出:
觀察上圖的提交信息,提交版本是按時間倒序排列的,也就是最近的提交排在最上面,你可能需要查看時間正序排列的信息,那么可以使用?git log --reverse?命令。
?
12、git branch -avv,它用來查看全部分支信息:
上圖有三行信息,依次說明: ?
第一行,開頭的星號表示當前所在分支,綠色的 master 是分支名,之所以是綠色,也是因為它是當前所在分支。后面第二項是版本號,第三項中括號里面藍色的字,表示此分支跟蹤的遠程分支的名字,當然啦,這也是克隆遠程倉庫到本地時的默認設置 -- 創建 master 分支并自動跟蹤遠程同名分支;冒號后面黑色文字表示本地分支領先其跟蹤的遠程分支一個提交。最后一項是提交時填寫的備注信息。
?第二行,是 Git 指針信息,它指向遠程倉庫的 master 分支,這行信息暫不重要。 ?
第三行,遠程分支信息,詳見第一行的解釋。
?
14、撤銷提交
執行 git reset --soft HEAD^ 撤銷最近的一次提交,將修改還原到暫存區。--soft 表示軟退回,對應的還有 --hard 硬退回,后面會講到,HEAD^ 表示撤銷一次提交,HEAD^^ 表示撤銷兩次提交,撤銷 n 次可以簡寫為 HEAD~n。軟退回一個提交后執行 git branch -avv 命令查看分支信息:
本地倉庫跟遠程倉庫版本號一致了,都為66307c8
?
13、git push推送到遠程倉庫
將本地新增的提交推送到 GitHub 遠程倉庫中, 下圖我是通過ssh進行推送的,所以不需要輸入用戶名和密碼,如果是https方式,需要輸入用戶名和密碼才能推送到github上
命令是?git push origin master,后面不需要任何選項和參數,此命令會把本地倉庫 master 分支上的新增提交推送到遠程倉庫的同名分支上,因為當前所在的分支就是 master,而且上文提到,它已經跟蹤了遠程倉庫的同名分支:
?
推送成功后執行 git branch -avv 查看分支情況:
進入github網站,查看版本號一致
?
?
可以看到本地倉庫的 master 分支的版本號已經發生了變化,變成了前一次提交的版本號,中括號里也有提示信息,本地分支 master 落后其跟蹤的遠程分支 origin/master 一個提交。
執行 git status 查看倉庫狀態,果然上一個提交中的修改全部扔回了暫存區:
?
15、強制推送到遠程倉庫
本地倉庫落后遠程倉庫一個版本,這時如果修改test.txt文件,然后在git add test.txt
由于落后一個版本,所以推送失敗,只能使用強制推送git push -f
?
16.版本回退
git reflog?命令,
它會記錄本地倉庫所有分支的每一次版本變化。實際上只要本地倉庫不被刪除,隨你怎么折騰,都能回退到任何地方。reflog?記錄只存在于本地倉庫中,本地倉庫刪除后,記錄消失。執行此命令如下圖所示:
執行?git reset --hard HEAD@{2}?命令,其中?HEAD@{2}?就是上圖第 3 行第 2 列所示,這個命令的意思是回到當前分支最近兩次提交版本變化前:
?
回退到指定的版本號
?
總結
以上是生活随笔為你收集整理的git的常用功能(管理github仓库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git配置和框架图
- 下一篇: linux如何使用vim显示行号语法高亮