Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...
Git的純命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤銷更新,分支的創建/切換/更新/提交/合并,代碼沖突
這篇是接著上篇分布式版本庫——Windows下Git的環境部署以及在GitHub上開源自己的項目講的,上篇主要是說用GUI來圖形化界面操作,但是一般我們程序員也不會這么干,用命令又輕松又愉悅,所以,這里我就再開了一篇來專門說一下純命令是怎么去操作的,但是要注意哦,其實廖雪峰老師的網站就是非常贊的學習資源哦!
- 廖雪峰老師:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
我們還是先從安裝開始吧,我上篇Ubuntu的配置博客也說了安裝,這里我就三個平臺一起講吧!
一.Install
安裝其實都是最簡單的方法了
-
Windows
windows的安裝只要去下載一個協助工具就可以了,下載地址
- https://git-for-windows.github.io/
安裝之后,我們在桌面右鍵有一個Git Bash Here
- Ubuntu
linux的安裝就是一條命令的事情了,我的這篇博客里也有講Android源碼淺析(二)——Ubuntu Root,Git,VMware Tools,安裝輸入法,主題美化,Dock,安裝JDK和配置環境
在終端輸入 sudo apt-get install git
如果你是#的root權限的話,可以不用加sudo
-
X OS
mac的系統安裝雖說也是一條命令,但是他需要借助輔助的工具,當然,你也可以直接安裝XCode,它就集成了Git,不過需要配置一番,我們作為android開發人員,這個xcode其實看個人興趣吧,我們用另一種方式安裝
http://brew.sh/
只要下載安裝Homebrew,mac的終端就可以搜索安裝軟件了
輸入
sudo brew install git等待安裝成功,檢查是否安裝成功的方式也很簡單,只要輸入
git version查看他的版本就可以了
二.Clone
Clone就是從github上下載項目,我們在Github上新建一個項目,叫做GitTest吧!如果這一步不會操作的話,請移步:分布式版本庫——Windows下Git的環境部署以及在GitHub上開源自己的項目
我們把這個鏈接給記住了
https://github.com/LiuGuiLinAndroid/GitTest.git這里,我先在D盤新建一個git的文件夾,然后進入這個目錄,直接右鍵打開Git Bash,然后輸入
git clone https://github.com/LiuGuiLinAndroid/GitTest.git就可以下載下來代碼了
我們進入這個文件夾里面可以看到他只有一個文件README.md,我們輸入
vim README.md去訪問他
這里vim是一個編輯的命令,我們推出這個vim環境只要輸入
q!就可以了
三.Commit
提交代碼,我們先介紹一下Git的工作模式,其實吧,Git這么出名也是跟他的模式有關,而我們的章節,也是跟著他的模式走的
// add->commit->push先是add,也就是把你要提交的代碼先提交到緩存區,然后commit提交到本地的倉庫,最后再push推送到遠程倉庫,也就是github上,這里,我們先對剛才那個README.md文件進行修改吧,我們編輯一下,加上一點文字
我們保存之后,剛才的綠色文件就變成了感嘆號,說明已經有修改了,這點和SVN一樣,我們回到命令行,這里,我們有一個很方便的命令
git status來查看當前的狀態
這里就提示你這個文件已經是紅色的,改動了,需要提交嗎?
所以,我們就輸入
git add README.md也就是添加到緩存區
他什么都沒提示說明add成功了,這個時候我們再次查看一下狀態,你就會發現
狀態是綠色的了,Ok,這個時候我們就需要commit了,輸入
git commit README.md然后他會顯示這樣一個信息,這里是要你寫一些說明,我就寫了first commit
這里輸入
x保存退出
然后我們再次查看一下狀態
果不其然,這里顯示你有一個commit,需要push,也就是推送
四.Push
既然他友好的提示我們可以push,那我們就直接推送吧,只要輸入
git push即可,然后他會提示你輸入賬號和密碼
我們輸完之后,稍微等待一會兒,他們也自然會done的
到這里,我們的git的push就OK了,我們去github上看一下就明白了
五.Pull
這個就很好理解了,開原作者對自己的項目進行了一次修改,有新的東西了,我們就去更新一下, 也就去把代碼拉下來,這樣,我們在github上修改一下
現在的樣子就是這樣的了
這個很明顯和我本地的不一樣,所以我們就需要去pusll,輸入
git pull好的,下拉成功
我們可以用vim命令去查看一下
可以看到,代碼也是拉了下來
六.版本回退
寫代碼寫著寫著發現自己入坑了,怎么辦,而且代碼還提交了,在隊友還沒有pull之前,趕緊版本回退,那該怎么做呢?我們可以這樣,首先,我們輸入
git log來查看我們提交代碼的記錄
這里我們可以看到,我們第一次是系統初始化的,第二次也就是我們認為的提交,第三次,也就是我們pull的時候在github上提交的,我現在演示一下怎么退回到first commit
但是我們要注意,上圖中,log日志黃色的一長串ID,這就是我們要注意的東西,我們只有通過這個ID才能版本回退,所以,這里我先拷貝一下first commit的ID:
a0c401fcda58304938767820f35d6b4bcaad28db好的,我們開始了,版本回退的命令是
git reset --hard a0c401fcda58304938767820f35d6b4bcaad28db好的
他提示已經回退到first commit了,我們驗證一下,只要看一下README.md里面的信息就可以,我們用vim命令去看
這里果不其然是顯示第一次提交,說明我們已經成功的版本回退了,版本回退有風險,操作需謹慎哈!
如果你說要再回到原來的狀態,也是可以的,按照上面的方法再走一遍流程即可,不過要注意的是,這次想要獲取到的ID就不是輸入git log了,這里又出來一個新的命令了
記錄的是所有的log,接下來,你就知道怎么去操作了
不過,這里也牽引出我們的撤銷操作出出來了
七.撤銷更新
前面已經說了這么多,這部分其實就是寫命令,所有就不實際演示了
//如果你寫代碼寫錯了之后想撤銷的話,也就是還原文件初始狀態 、git checkout --文件名 //如果你已經add了代碼到緩存區 git reset HEAD 文件名 //但是如果你已經commit了,就需要版本回退了 git reset --hard 版本號 //要是你推送到了遠程倉庫,比如github .....你就很痛苦了八.分支的創建和切換
我們都知道,默認是有一個主分支master分支,但是我們有時候如果需要測試某些功能或者怎么樣的時候,需要創建一個分支,當覺得分支的代碼可以了就合并到主分支,這樣的好處也是保證主分支的一個干凈性和安全性,好的,我們具體來看一下怎么操作的:
- 查看分支
- 創建分支
- 切換分支
這樣就可以了,還有另一種比較方便的方法就是
- 創建并且切換分支
這張圖,我們可以看到,我們先是查看了自己所在的分支,位于主分支,然后我創建了一個分支叫hello,接著我切換到hello這個分支,再次查看自己所在的分支,就是hello了,然后再切換回主分支,再用創建并切換的命令創建了android這個分支,然后查看分支,我們就位于android這個分支了
九.分支的更新和提交
分支的push和pull,其實和主分支的操作還是有些許區別的,就是命令
- 分支push
看,他可以提交,顯示要我們賬號密碼
這里,我們已經把android這個分支推送上去了,而hello這個分支沒有,所以我們輸入
git brnch -a查看所以的分支
這里,白色的是本地分支,綠色的,是你所在的分支,紅色的,是遠程的分支
- 分支pull
OK,這個是可以的
十.分支合并
這里,我們可以看到,我們所在的分支是android
我們對README.md進行修改
然后add commit
現在我們android分支已經修改了,但是主master分支病沒有,我們覺得android分支這段代碼可以用了,需要合并到主分支,那我們該怎么做呢?
我們這里可以看到,我們先是切換到了主分支,然后輸入
git merge 分支名去合并代碼,現在,我們查看一下
好的,這樣,代碼就合并成功了
十一.代碼沖突
這個代碼沖突,在SVN中也是精彩會碰到,還是自己對版本控制這一塊的不熟練,一般出現沖突Git的話是兩種情況
- 在你push推代碼的時候發生代碼沖突
- 合并分支的時候發生代碼沖突
比如你在分支中寫的代碼,主分支也有類似的,就極有可能發生沖突,我們來測試一下,我們不演示了,我講個大概的思路,當出現沖突的時候,命令行會告訴我們哪個文件合并出錯,找到這個文件的時候
vim 文件名你可以看到有個特殊的箭頭包裹著一段代碼,那就是兩個代碼塊不一樣的地方,你需要自己手動修復
然后,需要重新提交,但是再commit的時候
git commit -i -m '更新說明' 文件名這樣提交后就可以直接push了
好了,小伙伴們,Git的使用是否已經學會了
我的群,通往Android的神奇之旅 :555974449,歡迎大家進來交流技術!
總結
以上是生活随笔為你收集整理的Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python2 与 Python3 的常
- 下一篇: 计算机c盘如何扩大,C盘太小怎么办?教你