git命令整理

2021-09-25 12:10:03 字數 3675 閱讀 5757

**git

.gitignore用法

gitbook

功能命令

建立目錄:

$ mkdir learngit

進入目錄:

$ cd learngit

檢視位置:

$ pwd

初始化倉庫

$git init

配置使用者:

$ git config --global user.name 「your name」

$ git config --global user.email "[email protected]"

新增檔案:

$ git add [file]

$ git add .

提交檔案:

$ git commit -m [message]

檢視狀態:

$ git status

檢視差異:

$ git diff

檢視日誌:

$ git log --pretty=oneline

$ git log --graph --pretty=oneline --abbrev-commit

丟棄工作區的修改:

$ git checkout – file

撤銷暫存區的修改:

$ git reset head [file]

版本回退:

$ git reset --hard head^ (head^^,^可以加很多個,head為當前版本)

$ git reset --hard 1094a

檢視命令歷史:

$ git reflog

建立ssh key:

$ ssh-keygen -t rsa -c "[email protected]"

本地建立和遠端分支對應的分支

git checkout -b branch-name origin/branch-name

關聯本地倉庫:

$ git remote add origin [email protected]:yourname/name.git

推送到遠端庫:

$ git push -u origin master //(只在第一次加 -u)

轉殖倉庫:

$ git clone [email protected]:yourname/name.git

檢視分支:

$ git branch

建立分支:

$ git branch [name]

切換分支:

$ git checkout [name]

建立+切換分支:

$ git checkout -b [name]

合併某分支到當前分支:

$ git merge [name]

刪除分支:

$ git branch -d [name]

強行刪除:

$ git branch -d [name]

分支合併圖:

$ git log --graph

禁用fast forward模式:

$ git merge --no-ff -m 「…」 dev //merge時會生成乙個新的commit

工作現場「儲藏」:

$ git status

$ git stash list

恢復不刪除:

恢復並刪除:

$ git stash pop

變基:$ git rebase

建立本地dev分支:

$ git checkout -b dev origin/dev

$ git pull

建立標籤:

$ git tag [name]

$ git tag v0.9 f52c633

$ git tag -a v0.1 -m 「version 0.1 released」 1094adb

檢視標籤:

$ git tag

檢視標籤資訊:

$ git show [tagname]

推送乙個本地標籤;

$ git push origin [tagname]

推送全部未推送過:

$ git push origin --tags

刪除乙個本地標籤;

$ git tag -d [tagname]

刪除乙個遠端標籤:

$ git push origin :refs/tags/[tagname]

配置別名:

$ git config --global alias.st status

git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit"
解決方案:git config --global core.autocrlf false

不同作業系統所使用的換行符是不一樣的,三大主流作業系統的換行符:

—uinx/linux採用換行符lf表示下一行(lf:linefeed,中文意思是換行);

—dos和windows採用回車+換行crlf表示下一行(crlf:carriagereturn linefeed,中文意思是回車換行);

—mac os採用回車cr表示下一行(cr:carriagereturn,中文意思是回車)。

在git中,可以通過以下命令來顯示當前你的git中採取哪種對待換行符的方式

----$ git config core.autocrlf
此命令會有三個輸出,「true」,「false」或者「input」

—input:add時git會把crlf轉換為lf,而check時仍舊為lf,所以windows作業系統不建議設定此值。

解決辦法:

將core.autocrlf設為false即可解決這個問題,不過如果你和你的夥伴只工作於windows平台或者linux平台,那麼沒問題,

不過如果是存在跨平台的現象的話,還是需要考慮一下。但當 core autocrlf為true時,還有乙個需要慎重的地方,

當你上傳乙個二進位制檔案,git可能會將二進位制檔案誤以為是文字檔案,從而也會修改你的二進位制檔案,從而產生隱患。

ps:附上修改autocrlf的命令,以改為true為例:

$ git config --global core.autocrlf true #true的位置放你想使autocrlf成為的結果,true,false或者input

當新建的雲庫有readme或者其他檔案時,會認為本地的倉庫和遠端並不相干,拒絕本地推送時

git branch --set-upstream-to=origin/

devgit pull origin master --allow-unrelated-histories

–soft:回退(恢復)1個區。保留工作區和暫存區的內容,只讓版本庫中的內容復位。

–mixed(預設):回退(恢復)2個區。只保留工作區的內容,將暫存區 和 版本庫中的內容更改和reset目標節點一致。

–hard:回退(恢復)3個區。直接將 工作區、暫存區和版本庫都重置成目標reset節點的內容。

git命令整理

git svn區別 svn是集中式版本控制系統,版本庫是集中放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從 伺服器 得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到 伺服器。集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快 git是分布式版本控制...

Git命令整理

回退上一版本 git reset hard head head is now at ea34578 add distributed 檢視分支 git branch 建立分支 git branch 切換分支 git checkout 建立 切換分支 git checkout b 合併某分支到當前分支 ...

git命令整理

git init 建立本地倉庫 git status 檢視狀態 git add 將檔案提交到暫存區 或者也可以 git add 檔案名字 git commit m aaa 將暫存區的檔案提交到倉庫 引號裡面的東西隨便寫他只是方便記憶的 git log 檢視歷史記錄 git reflog 檢視操作命令...