git 工作常用

2021-10-03 13:52:16 字數 3424 閱讀 9199

mkdir //資料夾名稱

git init //生成.git

git add 檔名

git commit -m "注釋"

git log

git log --pretty=oneline

git reset --hard heas^ //回到上乙個版本

git reset --hard 1094a //1094a是id號

git reflog //記錄的每條命令

git status //檢視狀態

//第一次修改 ->

git add -> 第二次修改 ->

git commit

gitdiff head -- readme.txt //第二次修改不會被提交

//第一次修改 ->

git add -> 第二次修改 ->

git add ->

git commit

gitdiff head -- readme.txt //第二次修改被提交了

撤銷修改

git checkout -- readme.txt //意思就是,把readme.txt檔案在工作區的修改全部撤銷

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

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

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

注意:git checkout -- file命令中的--很重要,沒有--,就變成了「切換到另乙個分支」的命令

git

rm test.txt //刪除檔案

git commit -m '' //提交一下

git checkout -- test.txt //誤刪的可以恢復最新版本

git checkout -b dev   //建立dev分支並且切換到dev

//下兩句同git checkout -b dev

git branch dev

git checkout dev

//git branch //檢視所有分支

git merge dev //合併dev分割槽到master上

git merge --no-ff -m "merge with no-ff" dev //合併分支表示禁用fast forward

//合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

git branch -d dev //刪除dev分支

git checkout master //完成工作後切換到master

//幾步

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

建立+切換分支:git checkout -b

合併某分支到當前分支:git merge

刪除分支:git branch -d

衝突git status //檢視衝突檔案

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

bug分支

git stash //可以把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作

確定要在哪個分支上修復bug,假定需要在master分支上修復,就從master建立臨時分支

git stash list //檢視儲藏現場

//恢復現場

//另一種方式是用git stash pop,恢復的同時把stash內容也刪了

feature分支

//銷毀沒有(不能)合併的分支

git branch -d feature-vulcan //銷毀分支的時候提示沒有提交不能銷毀

git branch -d feature-vulcan // -d 強制刪除

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

//顯示了可以抓取和推送的origin的位址。如果沒有推送許可權,就看不到push的位址

推送分支

//就是把該分支上的所有本地提交推送到遠端庫。推送時,要指定本地分支,這樣,git就會把該分支推送到遠端庫對應的遠端分支上

git push origin master

git push origin dev

//master分支是主分支,因此要時刻與遠端同步;

//dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠端同步;

//bug分支只用於在本地修復bug,就沒必要推到遠端了,除非老闆要看看你每週到底修復了幾個bug;

//feature分支是否推到遠端,取決於你是否和你的小夥伴合作在上面開發。

git clone [email protected]:michaelliao/learngit.git

//建立遠端origin的dev分支到本地

git checkout -b dev origin/dev

//另乙個人對同樣的檔案作了修改

git push origin dev //推送失敗

git pull //也失敗了,原因是沒有指定本地dev分支與遠端origin/dev分支的鏈結,根據提示,設定dev和origin/dev的鏈結

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

//再pull,git pull成功,但是合併有衝突,需要手動解決,解決後,提交,再push

多人協作的工作模式通常

//首先,可以試圖用git push origin

推送自己的修改;

//如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併;

//如果合併有衝突,則解決衝突,並在本地提交;

//沒有衝突或者解決掉衝突後,再用git push origin

推送就能成功!

rebase

git rebase //rebase操作的特點:把分叉的提交歷史「整理」成一條直線,看上去更直觀。缺點是本地的分叉提交已經被修改過了。

忽略特殊檔案

.gitignore檔案 //把要忽略的檔名填進去,git就會自動忽略這些檔案

//status變成st

git config --global alias.st status

git config --global alias.unstage 'reset head'

//reset head'變成unstage

工作常用git命令

git clone gitssh位址git config user.name 您的中文名 git config user.email 公司郵箱 將遠端分支全部獲取到本地 git fetch origin拉取遠端被跟蹤分支並衍合git pull r檢視本地分支git branch檢視遠端分支git b...

常用GIT工作流程

git clone url 建立本地倉庫 git checkout origin dev b dev 拉取遠端dev分支到本地dev分支 git checkout b ningliu 新建自己的本地分支ningliu ningliu是我的名字 git push set upstream origin...

工作中常用git命令

1.commit push 已經更新到遠端倉庫 對於已經把 push到線上倉庫,你回退本地 其實也想同時回退線上 回滾到某個指定的版本,線上,線下 保持一致.你要用到下面的命令 git revert revert 之後你的本地 會回滾到指定的歷史版本,這時你再 git push 既可以把線上的 更新...