git常用命令

  • 全局用戶信息配置:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

注意:git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置

  • 初始化git倉庫:
$ git init

例:目錄不含中文名

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
  • 添加文件到工作區:可添加多個
$ git add <filename>

例:

$ git add readme.txt
$ git add help.txt
...
  • 提交到git倉庫:
$ git commit -m <message>

例:-m後面輸入的是本次提交的說明

$ git commit -m "添加了兩個文件."
  • 查看提交的歷史記錄:
# 查看commit歷史記錄(不包括reset和已刪除的commit記錄)
$ git log

# 簡化輸出信息    
$ git log --pretty=oneline

# 查看所有commit的歷史記錄(包括已刪除的commit和reset的記錄)
$ git reflog
  • 版本回退:
# 根據commit id回退到具體版本(id可以只寫前幾位)
$ git reset --hard commit_id

# 退回到上一版本
$ git reset --hard HEAD^

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

# 退回到當前版本之前的指定個數版本
$ git reset --hard HEAD~100
  • 查看工作區狀態:
$ git status
  • 文件對比:
# 查看工作區文件和版本庫裏面最新版本的區別
$ git diff HEAD -- <filename>
  • 撤銷修改:
git checkout -- <filename>
  • 刪除工作區文件:與add使用方法相同
$ git rm <filename>
  • 添加遠程倉庫:
git remote add origin git@server-name:path/repo-name.git
  • 推送到遠程倉庫:
# 第一次推送 加上 -u 
$ git push -u origin master

# 後續推送
$ git push origin master
  • 克隆遠程倉庫:
$ git clone git@server-name:path/repo-name.git
  • 分支管理:
#查看分支 當前分支前有*號
$ git branch

# 創建分支
$ git branch <name>

#切換分支
$ git checkout <name>

# 創建並切換分支
$ git checkout -b <name>

# 合併分支到當前分支	
$ git merge <name>	#刪除分支後,會丟掉分支信息
# 禁用Fast forward模式會產生一個新的commit
	--no-ff:表示禁用Fast forward
	-m:添加說明
$ git merge --no-ff -m "merge with no-ff" <name>  #刪除分支後不會丟失分支信息

# 刪除分支
$ git branch -d <name>

#強行刪除未合併分支
git branch -D <name>
  • 修改管理:
# 存儲所有未提交的修改
$ git stash

#查看stash
$ git stash list

# 恢復未提交修改
$ git stash apply

# 刪除stash
$ git stash drop

#恢復未提交修改並刪除stash 效果同apply+drop 
$ git stash pop

多人協作相關:

# 查看遠程倉庫信息
$ git remote		#簡單信息
$ git remote -v		#詳細信息

# 推送到遠程倉庫
	name:分支名稱 
		master:主分支
		dev:開發分支
$ git push origin <name>

# 創建遠程倉庫的dev分支到本地	
$ git checkout -b dev origin/dev

# 指定本地dev分支與遠程倉庫dev分支的鏈接
$ git branch --set-upstream-to=origin/dev dev
  • 變基:
# 開始rebase
$ git rebase

# 衝突解決完後繼續rebase
$ git rebase --continue

# 停止rebase,回到rebase開始前的狀態
$ git rebase --abort
  • 標籤管理:
# 查看標籤
$ git tag

# 查看帶說明的標籤
$ git show <name>

# 添加標籤
$ git tag <name>

# 添加帶說明標籤
$ git tag -a <name> -m "xxx"

# 添加歷史標籤
$ git log --pretty=oneline --abbrev-commit	# 獲取歷史提交記錄
$ git tag <name> commit_id	#爲歷史提交添加標籤

# 添加帶說明的歷史標籤
$ git tag -a <name> -m "xxx" commit_id
  • 忽略特殊文件:

    在Git工作區的根目錄下創建一個特殊的.gitignore文件

    常見忽略文件:傳送門

    文件文件原則:
           忽略操作系統自動生成的文件:比如縮略圖等
           忽略編譯生成的中間文件、可執行文件等:如Java編譯產生的.class文件
           忽略帶有敏感信息的配置文件:比如存放口令的配置文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章