git日常工作中常使用到的指令


git工具的常用指令,之前已經不止看過一次,看一遍忘一遍,忘一遍看一遍!!! 俗話說,好記興不如爛筆頭,那就把它們記下來吧。 本文只記錄一下我們經常會使用到的git指令,不深入擴展與研究它背后后了什么事情。記住這些,平常工作/學習就基本上夠用了。



git的配置與初始化

當我們通過指令配置git時,其實是把指定的配置內容寫入到了配置文件中. git的配置文件分三個級別:

  • 系統配置:etc/gitconfig文件, 包含系統上每一個用戶及他們倉庫的通用配置,如果使用帶有 --system 選項的 git config 時,它會從此文件讀寫配置變量。
  • 當前用戶的全局配置:~/.gitconfig 或 ~/.config/git/config 文件:只針對當前用戶。可以傳遞 --global 選項讓 Git 讀寫此文件。
  • 當前倉庫的配置: 配置文件位於當前倉庫的.git/config中,它里面的配置內容只對當前的git倉庫生效。

現在使用命令行對git進行常規的配置:

# 配置用戶名與郵箱
git config --global user.name "xiaoming"
git config --global user.email china@163.com
# 配置git中使用的編輯器
git config --global core.editor vim

上面使用命令行進行了git的global屬性的配置,這時候打開~/.gitconig文件,它們是這樣的:

[user]
	name = yinheyi
	email = chinayinheyi@163.com
[core]
	editor = vim

提交修改到git倉庫的過程

第一步:新建一個git本地倉庫

當在本地手動生成一個git倉庫時,進入你要創建倉庫的目錄,執行以下命令就可以搞定. 對於clone一個已經存在的遠程倉庫情況,會在本地自動生成一個對應的git倉庫,不需要新建.

git init

第二步:添加至暫存區

  • 跟蹤新建的文件或把編輯的文件放到緩存區內
git add 文件名
  • 刪除新建的未跟蹤文件或目錄
# 刪除給定的文件(-f 表示force的意思)
git clean -f 文件名
# 如果要刪除目錄,需要加上額外的-d參數, 這樣即可以刪除目錄也可以刪除文件了
git clean -df 文件名或目錄名
# 刪除全部文件或目錄時,不需要指定文件名或目錄名
git clean -d -f
# 如果想進行交互地執行刪除操作,使用i參數代替f參數
git clean -d -i
  • 取消對已經跟蹤文件的修改操作
git checkout -- 修改的文件名
  • 取消跟蹤或取消添加到暫存區
git reset HEAD 文件名

第三步:提交到git倉庫

  • 提交時,單獨輸入注釋信息
git commit
  • 提交時,在輸入指令的同時添加注釋信息
git commit -m "要注釋的信息。"
  • 添加暫存區與提交過程同時進行
git commit -a -m "注釋信息"

遠程倉庫

查看遠程倉庫

  • 查看擁有的全部遠程倉庫的列表:
git remote
git remote -v
  • 查看某一個遠程倉庫的具體信息:
git remote show <遠程倉庫的縮寫名>

添加/刪除/重命名遠程倉庫

  • 添加遠程倉庫
git remote add <遠程倉庫的縮寫名>  <遠程倉庫的url>
  • 移除一個遠程倉庫
git remote remove <遠程倉庫的縮寫名>
  • 重命名遠程倉庫
git remote rename <舊名字> <新名字>

拉取/推送遠程倉庫

  • 拉取遠程倉庫的內容
git fetch <倉庫的名字>
  • 拉取遠程倉庫的同時並嘗試合並當前的分支
git pull <倉庫的名字>
  • 把本地倉庫的快照推送到遠程倉庫上
git push <倉庫的名字>

本地分支管理

說明: 本地分支的名字就是分支名,遠程分支的名字是 <倉庫名/分支名>.

查看分支

  • 查看本地分支
git branch
git branch --list
bit branch -v
  • 查看本地分支以及與之綁定的遠程分支
git branch -vv

分支的新建/刪除/重命名

  • 新建分支
git branch 新分支名
  • 刪除已經合並的分支,如果沒有合並,刪除會失敗
git branch -d 分支名
  • 刪除一個分支,即使沒有合並,也可以刪除成功
git branch -D 分支名
  • 重命名分支
git branch -m <原分支名> <新分支名>
git branch --move <原分支名> <新分支名>

分支的切換/合並/變基

  • 切換到一個已經存在的分支
git checkout <要切換到的分支名>
  • 切換到一個不存在的分支(新建或切換)
git checkout -b <新分支名>
  • 把其它分支合並到當前分支
git merge <其它分支>
  • 對當前的分支進行變基操作
git rebash <要變到的基分支名字>

涉及遠程分支相關的管理

新建/刪除遠程分支

  • 新建遠程分支,就是把本地分支推送到遠程分支上
git push <遠程倉庫名縮寫名> <要推送的本地分支名>
  • 刪除遠程倉庫的分支
git push <遠程倉庫的縮寫名> --delete <要刪除的遠程分支名>

跟蹤/解除跟蹤 遠程分支

  • 新建一個本地分支並跟蹤遠程分支(遠程分支名表示為:<倉庫名>/分支名,例如origin/master)
git checkout -b <新建的本地分支名> <遠程分支名>
  • 如果你想新建的本地分支名與遠程分支名相同的話,可以使用以下捷徑命令, 前提是本地不存在與遠程分支相同的分支名.
git checkout --trace <遠程分支名>
git checkout <**去掉倉庫名前綴**的遠程分支名>

## 對上面的兩個命令舉個例子更容易明白
git checkout --trace origin/test
git checkout test
  • 為已經存在的當前本地分支跟蹤添加一個遠程跟蹤分支
git branch -u <遠程分支名>
git branch --set-upstream-to=<遠程分支名>
  • 為當前分支解除跟蹤遠程分支
git branch --unset-upstream

參考資料: git在線手冊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM