Git命令使用寶典教程

2021-08-04 09:55:42 字數 4138 閱讀 8872

----------git使用--------------

1: git clone [email protected]:back/coolly-nice.git

2: cd coolly-nice/

3: git branch userrecommend   (建立乙個分支,和在git上一樣建的名字)

4: git checkout userrecommend  (切到剛建立的分支)

5: git pull origin master   — -合併主幹**到本地

6: git push origin userrecommend  - -分支推到自己對應的遠端庫分支

7: git add leyagjun.php

8: git commit -m 『mycodeci』

git status 檢視狀態(看下是否有檔案被修改)

git blame leyangjun.php  檢視檔案被修改過的紀錄(能後 "git show 分支id"  檢視日誌就行) 

切換分支:

1:git branch leyanjunchecktoken

2:git checkout leyanjunchecktoken

3:git pull origin master

4:git pull origin leyanjunchecktoken

5:git push origin leyanjunchecktoken

二:版本回退和日誌檢視

git log --pretty=oneline 等同於 git log 提交日誌(列出的日誌格式不一樣)

git log -p 7aee80cd2afe3202143f379ec671917bc86f9771 版本日誌

git show 7aee80cd2afe3202143f379ec671917bc86f9771    

git reset --hard head^   回退到上乙個版本

git reset --hard 3628164 回退到指定的版本

git reflog     記錄你的每一次命令(可以找到版本id commit id號)

三:工作區和暫存區

git diff head -- readme.txt   檢視工作去和版本庫裡面最新版本的區別

git checkout -- readme.txt    檔案在工作區的修改全部撤銷,沒有--表示切換分支(分兩種情況):

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

git reset head readme.txt   把暫存區的修改回退到工作區head表示最新的版本(reset也可以回退版本)

git checkout —- readme.txt  將工作區修改的內容撤回(可以不用--也行)

刪除檔案->在對應刪除版本庫中的檔案

rm test.txt -> git rm test.txt —> git commit -m 「remove test.txt」  刪除版本庫中的檔案,記得要提交

刪錯了想恢復檔案:

git checkout —- test.txt   因為版本庫里還有能後拉回來,但是刪除後能後還提交了就拉不回來了

四:遠端倉庫

1:可以免費註冊個github賬號進行託管 我的[

a:新增遠端倉庫:

要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git;

關聯後,使用命令git push -u origin master第一次推送master分支的所有內容;

此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;

b:從遠端倉庫轉殖:

git clone [email protected]:leyangjun/gitskills.git

五:分支管理

a 建立分支與合併分支:

git branch   檢視分支

git checkout -b leyagjun  等同於 git branch leyangjun + git checkout leyangjun

git merge test      合併指定的分支到當前分支

git branch -d test  刪除指定分支

b 解決衝突:

當主分支的**與本地開發分支的某個檔案修改衝突時,會出現合併衝突

git merge test

衝突的解決方法:vim chongtu.txt  編輯衝突的內容能後儲存+add+commit

git log --graph --pretty=oneline --abbrev-commit   分支合併情況

合併分支第二種方式:

git merge --no-ff -m "merge with no-ff" dev   (請注意--no-ff引數,表示禁用fast forward模式)

git log --graph --pretty=oneline --abbrev-commit    檢視合併情況

git branch -d test-branch   丟棄乙個沒有被合併過的分支,強行刪除

c 多人協作:

git remote        檢視遠端庫的資訊

git remote -v     顯示遠端庫更詳細的資訊

git push origin master/本地分支   把該分支上的所有本地提交推送到遠端庫

正常流程:

1:git clone [email protected]:leyangjun/learngit.git

d 標籤管理

git tag v1.0   切到需要打標籤的分支上,tag命令打標籤

git tag v1.0   檢視標籤

git tag        檢視所有標籤

git log --pretty=oneline --abbrev-commit   檢視歷史提交的commit id,能後大分支(第二種方法打標籤)

git tag v0.6 943432     上面方法找到對應的commit id能後打標籤

git tag -d v0.1        刪除標籤

git push origin v1.0   將標籤推送到遠端

git push origin —-tags 推送所有標籤到遠端

如果標籤已經推送到遠端,要刪除的方法:

git tag -d v0.9      先本地刪除標籤

git push origin :refs/tags/v0.9   能後刪除遠端標籤

e 自定義git

git config —-global color.ui true    讓git顯示顏色

忽略特殊檔案:

忽略某些檔案時,需要編寫 .gitignore 檔案

有時候一些特殊的檔案被過濾了,會提示提交不了

配置別名:

比如你覺得git status這個單詞不好記, 你就可以跟進自己的設定定義別名

git config --global alias.st status      這時候 git st = git status

git config --global alias.co checkout

git config --global alias.ci commit

git config --global alias.br branch

git config --global alias.unstage 'reset head'   撤銷的別名    

配置檔案:

cat .git/config

切換到線上某個分支:

git checkout -b leyangjun_test origin/leyangjun_test

重新命名:

git branch -m oldbranchname newbranchname

git回滾:

git reset --hard ca7b87335c42eb45449bc2bc48553610f91db327

git push -f origin master 

git命令教程

git命令教程 安裝git後,在開始選單裡找到 git git bash 輸入下面命令。因為git是分布式版本控制系統,所以,每個機器都必須自報家門 你的名字和email位址。git config global user.name your name git config global user.e...

git命令教程

git init 初始化本地git倉庫 git clone 轉殖乙份 到本地倉庫 git pull 把遠端庫的 更新到工作台 git add 把本地的修改加到stage中 git commit m here 把stage中的修改提交到本地庫 git push 把本地庫的修改提交到遠端庫中 git b...

QNX Neutrino 命令手冊,「使用寶典」!

因為qnx開發除錯需要一些qnx neutrino操作,所以進一步熟悉一下qnx操作,發現qnx官網上有完整的命令手冊,真是如獲至寶,官網文件 如下,找其中的 qnx neutrino utilities reference 自己學習總結的經驗是,如果之前沒有接觸過linux,unix系統的,建議先...