您好,登錄后才能下訂單哦!
這篇文章主要講解了“git中的命令怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“git中的命令怎么使用”吧!
本文使用的是win7平臺。 Git可以在Linux、Unix、Mac和Windows這幾大平臺上安裝了,可以根據(jù)自己的操作系統(tǒng)去官網(wǎng)下載。
介紹命令之前先來張圖吧,所有的命令都是圍繞張圖的
Workspace: 工作區(qū),就是你平時存放項目代碼的地方
Index / Stage: 暫存區(qū),用于臨時存放文件的改動,事實上它只是一個文件,保存即將提交到文件列表信息。
Repository: 本地倉庫區(qū)(或版本庫),就是安全存放數(shù)據(jù)的位置,這里面有我們提交到所有版本的數(shù)據(jù)。其中HEAD指向最新放入倉庫的版本。
Remote: 遠(yuǎn)程倉庫,托管代碼的服務(wù)器。 弄清楚上面四個概念,我們就開始實操吧。
通過 git init 命令創(chuàng)建Git可以管理的倉庫(本地庫初始化)
Administrator@XCRBHXD05IEZEVS MINGW64 /d
$ mkdir gitstudy
Administrator@XCRBHXD05IEZEVS MINGW64 /d
$ cd gitstudy/
Administrator@XCRBHXD05IEZEVS MINGW64 /d/gitstudy
$ git init
Initialized empty Git repository in D:/gitstudy/.git/
執(zhí)行完這個命令我們可以看到文件下面會多一個.git的文件夾,以后在這個文件夾下(工作區(qū))的都可以被git管理了。
git add 命令把文件添加到暫存區(qū)。 下面我們創(chuàng)建(echo >文件名字)一個demo.txt文件
$ echo > demo.txt
此時的demo.txt文件是帶個藍(lán)色?的,當(dāng)我們執(zhí)行g(shù)it add - demo.txt后
那如果這個目錄下面有幾百個文件都要加到暫存區(qū)怎么辦? 此時可以使用git add . 這個命令可以把當(dāng)前目錄下所有文件加入暫存區(qū)。
git status 查看顯示工作區(qū)和暫存區(qū)的狀態(tài)。
$ git status
git commit -m"提交信息描述" 命令把文件添加到本地倉庫。
$ git commit -m"第一次提交"
[master (root-commit) 22f0a2b] 第一次提交
1 file changed, 1 insertion(+)
create mode 100644 demo.txt
提交后demo.txt顏色是不是變綠了。
git commit -am"文件描述" 【am】 就是 【add modify】 兩個命令的合并。比如我們修改了兩個文件demo.txt和demo1.txt。這時候我們可以直接使用git commit -am命令
git commit -am"第三次提交"
如果新增了文件,必須使用分開的命令,不能用合并命令。
git add .
git commit -m 'update'
使用git checkout -- filename(文件名)注意中間有--
$ git checkout -- demo.txt
回退所有的文件修改使用git checkout .
git checkout .
使用 git reset HEAD filename(指定文件名)
git reset HEAD demo.txt
回退所有文件修改 git reset HEAD
git reset HEAD
在使用本命令后,本地的修改并不會消失,而是回到了上面 未使用git add 緩存代碼,繼續(xù)使用用git checkout -- filename,就可以放棄本地修改。
git reset --hard HEAD^ 回退到上一次commit的狀態(tài)(這個命令需謹(jǐn)慎執(zhí)行)。HEAD^(代表上一次)或者通過git reset --hard <commitid>(是版本號 可以根據(jù)git log查看,每次commit都會生成一個)
git reset --hard HEAD^
git reset --mixed HEAD^ (--mixed也可以省略),保留工作區(qū),并且清空暫存區(qū)。就是回到上一次git add 之前。
git reset HEAD^
git reset --soft HEAD^重置HEAD到指定的版本,不會修改暫存區(qū)和暫存區(qū)就是回到上一次git commit 之前,適用于合并commit節(jié)點。
git reset --soft HEAD^
git revert <commitid> 會回退到之前的那次提交,會產(chǎn)生一個新的commit,將這次回退作為一次修改記錄提交,這樣的好處是不修改歷史提交記錄。
git revert e241441d8a85b2d89
git push -f 可以在本地執(zhí)行以上操作后,然后強(qiáng)行推送到遠(yuǎn)程倉庫
git push -f
git rm <文件名> 這個必須是commit 之后的文件
git rm demo.txt
git rm -f <文件名> 這個執(zhí)行add 未執(zhí)行 commit可以刪除
git rm -f 4.txt
以上都是在本地倉庫進(jìn)行操作的,提交的代碼別人也是看不到的,如果寫著代碼硬盤壞了咋辦?那是不是所有的代碼都沒了。所以寫完了代碼趕緊推送到服務(wù)器上去。
用命令git remote add origin git@
server-name:path/repo-name.git;關(guān)聯(lián)遠(yuǎn)程倉庫
關(guān)聯(lián)之前肯定要在遠(yuǎn)程創(chuàng)建倉庫
首先要到https://github.com/全球最大同性jiao友網(wǎng)站上注冊一個賬號。已有賬號的就忽略了。
接下來就是新建一個遠(yuǎn)程倉庫了。
git remote add origin git@github.com:workit1/studygit.git
關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容。
git push -u origin master
以后,每次本地提交后可以使用命令git push origin master推送最新修改到遠(yuǎn)程倉庫。
前面我們了解先有本地倉庫,再有遠(yuǎn)程庫的時候,如何關(guān)聯(lián)遠(yuǎn)程庫。但是一般實際開發(fā)中我們是先有遠(yuǎn)程倉庫的,然后從遠(yuǎn)程庫克隆。
git clone https://github.com/workit1/gitstudy.git
git checkout -b <創(chuàng)建分支名> 表示創(chuàng)建并切換分支
Administrator@XCRBHXD05IEZEVS MINGW64 /d/gitstudy (master)
$ git checkout -b feature_a
Switched to a new branch 'feature_a'
基于master分支創(chuàng)建了feature_a分支并且切換到了feature_a分支。
git checkout <name> 或者 git switch <name> 切換分支
git checkout master
git branch -a 查看所有分支,包含遠(yuǎn)程分支
git branch 查看本地所有分支
合并分支
git merge master
當(dāng)有沖突的時候這里會個正在合并的狀態(tài)
取消合并,此時你如果不想合并了,可以使用git merge --abort取消。
git merge --abort
刪除分支
刪除本地分支git branch -d <name>
git branch -d feature_a
刪除遠(yuǎn)程分支git branch -D <name>
實際項目中如果我們需要開發(fā)一個功能完整的流程是什么樣的呢? 多數(shù)公司模式應(yīng)該下面這樣的流程吧。 1.先基于主干分支 拉出一個功能分支(feature_xx)進(jìn)行開發(fā)。 2.開發(fā)完成后測試基于這個功能分支進(jìn)行測試。 3.測試完成后,開發(fā)把功能分支合并到主干分支。 合并代碼操作如下:
先切換到主干分支(release),主干分支git pull 拉下遠(yuǎn)程分支最新代碼(可能有同事提交了新的代碼)
切回到功能分支 把本地主干最新代碼合(git merge)并到當(dāng)前功能分支,如果合并有沖突就解決沖突后重新提交。
切換到主干分支執(zhí)行g(shù)it merge 功能分支。(這一步實際工作中一般人是不能這么操作的),代碼必須要先發(fā)起一個merge request 經(jīng)過代碼review才能進(jìn)行合并到主干分支的。
合并完主干分支后,功能分支就可以刪除了。
感謝各位的閱讀,以上就是“git中的命令怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對git中的命令怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。