git常用命令

git 命令學(xué)習(xí) ?

1.創(chuàng)建一個本地版本庫

$mkdir gittutorcn(創(chuàng)建文件夾)

$cd gittutorcn(進(jìn)入目錄)

$git init(初始化git)

$git remote add origin 遠(yuǎn)程倉庫鏈接地址(將本地倉庫和遠(yuǎn)程倉庫關(guān)聯(lián))

2.克隆庫

$ git clone https://git.oschina.net/xxxxx/xxxx.git(git連接)

3.添加到版本庫

git add filename(文件名)

git add . ?(添加當(dāng)前目前所有文件到版本庫)

4.提交代碼? git commit

$git commit -m "這里是log日志"

$git commit -a -m "這里是log日志" ?#有文件修改的話,提交要帶 -a參數(shù)

5.查看日志

$ git log?

$ git show 顯示最近一次修改文件的詳細(xì)信息

$ git whatchanged 查看詳細(xì)日志記錄(包含每次修改的的文件記錄)

6.版本回退

(1)回退到某一版本并且放棄所有的修改

$ git reset --hard <commitId> (沒有填寫id,回退的當(dāng)前版本)

(2)回退到某一版本但保存自該版本起的修改

$ git reset commitId(提交的ID)

?(3)其他回退命令:

$ git reset --hard HEAD^? ? ? ? 回退到上個版本

$ git reset --hard HEAD~3? ? ? ? 回退到前3次提交之前,以此類推,回退到n次提交之前

$ git reset --hard commit_id? ? 退到/進(jìn)到 指定commit的記錄

強推到遠(yuǎn)程:

$ git push origin HEAD --force

或者

$?git push -f

7. 分支管理

(1)創(chuàng)建并轉(zhuǎn)移到新建分支上

$ git checkout -b tmpBranch [start_point]

其中 start_point 是一個可選參數(shù),指定新建分支 tmpBranch 是基于哪個節(jié)點,默認(rèn)為當(dāng)前所在分支的節(jié)點。

(2)刪除版本庫中的某個分支

使用 git branch -d 命令就可以了,例如:

$ git branch -d tmpBranch(分支名稱)?(刪除的分支還沒有被 merge 到其他分支,會刪除失敗)

使用?git branch -D?這個命令不會去判斷分支的merge狀態(tài),例如:

$ git branch -D tmpBranch(分支名稱) (強制刪除)

通常建議使用 -d 參數(shù)來刪除分支,以防無意的信息丟失。

(3)切換分支

$ git checkout tmpBranch(分支名稱)

(4)查看分支差異

$ git diff master^ tmpBranch( master^ 和 tmpBranch 的版本的差異情況)

(5)分支合并 合并兩個分支:git merge

將 tmpBranch 分支上的工作合并到 master 分支中。現(xiàn)在轉(zhuǎn)移我們當(dāng)前的工作分支到 master,并且將 tmpBranch 分支上的工作合并進(jìn)來。

$ git checkout master

$ git merge -m "Merge from tmpBranch" tmpBranch

(6)撤銷合并

逆轉(zhuǎn)與恢復(fù):git reset

git reset --hard commit_id(撤銷到某個提交版本)

(7)新建遠(yuǎn)程分支

1.先新建本地分支 git checkout -b newBranch(分支名稱)

2.推送本地分支到遠(yuǎn)程服務(wù)器

$ git push origin newBranch(本地分支名稱 此處不能留空格):newBranch(遠(yuǎn)程分支名稱)

(8)刪除遠(yuǎn)程分支??

推送一個空分支到遠(yuǎn)程分支,其實就相當(dāng)于刪除遠(yuǎn)程分支

$ git push origin(空格表示空分支):newBranch(遠(yuǎn)程分支名稱)

$ git push origin --delete ?<BranchName>

(9)檢出遠(yuǎn)程分支

$ git checkout -b function1(本地分支名稱) origin/function1(遠(yuǎn)程分支名稱)

(9)查看分支

$ git branch -a ?查看所有分支(包含遠(yuǎn)程分支)

$ git branch -r 查看遠(yuǎn)程分支

$ git branch -查看b分支

8.標(biāo)簽管理

(1)設(shè)置標(biāo)簽

$ git tag -a v1.2.4 -m "tag日志" ?<commitId>

(2)刪除標(biāo)簽

$ git tag -d v1.2.4

(3)查看標(biāo)簽信息

$ git show v0.1.2 #tagname

(4)提交tag到遠(yuǎn)程服務(wù)器

$ git push ?origin?v0.1.2 # 將v0.1.2標(biāo)簽提交到git服務(wù)器

$ git push --tags # 將本地所有標(biāo)簽一次性提交到git服務(wù)器

(5)刪除遠(yuǎn)程tag

$ git push origin --delete tag <tagname>

9.文件改動記錄管理

git diff

可以查看本地的改動,即git status看到的文件的具體改動

git diff commit-id1 commit-id2 --stat

這個指令可以看兩個版本之間有哪些文件改動

git diff branch1 branch2 --stat

這個指令可以看兩個分支之間有哪些文件差異

git diff tag1 tag2 --stat

這個指令可以看兩個tag之間有哪些文件差異或者改動

git log? file

可以看到一個文件的改動,以commit的形式展現(xiàn)

git log -p file

可以看到具體一個文件的歷史改動記錄

10.生成指定commit的補丁

git format常用命令

git format-patch -3?//從當(dāng)前分支最新提交點往下共生成3個補丁

git format-patch -1 指定commit號?//生成指定commit號的補丁

會根據(jù)命令的數(shù)字,生成相應(yīng)數(shù)量的補丁文件在當(dāng)前項目目錄下面


其他常用命令

ctrl+Z 表示退出 顯示

reset 清屏

cat 1.txt(文件名)查看文件 cat命令

echo adada>1.txt 創(chuàng)建并寫入文件

git diff 查看版本的差異信息

git status 查看狀態(tài)


問題答疑:

1.git fetch和git pull的區(qū)別:

1.git fetch:相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會自動merge

2.git pull:相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地

上述命令其實相當(dāng)于git fetch 和 git merge

在實際使用中,git fetch更安全一些

因為在merge前,我們可以查看更新情況,然后再決定是否合并

1.git reset和git revert的區(qū)別:

1.git reset:版本回退,版本日志回滾,清除提交日志,帶--hard參數(shù)的話,放棄所有修改,反之,保留自版本起所有修改

2.git revert:撤銷某次提交,版本日志不回滾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下。 Workspace:工作區(qū) Index / Sta...
    晴天4327閱讀 246評論 1 2
  • git基本操作與規(guī)范流程 git是個非常好用的版本工具,不但可以在linux下環(huán)境使用,還可以在windows下使...
    goodjcs閱讀 375評論 0 0
  • 專有名詞 名稱解釋workspace工作區(qū)index(或stage)暫存區(qū)repository倉庫區(qū)(或本地倉庫)...
    小小小_大大大閱讀 846評論 0 0
  • 今日份雞湯:努力從來不嫌晚,只要你堅定開始就可以啦~ 進(jìn)入正題: 1、Git clone(遠(yuǎn)程項目clone到本地...
    wyn_做自己閱讀 3,707評論 0 0
  • 基本命令 初始化一個Git倉庫,使用git init命令。 1. 使用命令git add,注意,可反復(fù)多次使用,添...
    你慧快樂閱讀 313評論 0 1

友情鏈接更多精彩內(nèi)容