一學就會的git命令

2021-02-16 Python程式設計師

作者:FishStudy520       連結:

https://segmentfault.com/a/1190000038752672


導讀

使用git 已不知好幾年,最近想著把常用的一些git 命令做個總結,本文主要寫的是git常用的命令。


幾個常用的命令

mkdir folder_name  // 創建文件夾 [folder_name: 文件夾名稱,舉個慄子:git-demo]
cd  folder_name    // 進入文件夾
touch file_name    // 創建一個文件 [file_name:文件名稱,舉個慄子:index.js]
vim file_name      // 編輯一個文件 [舉個慄子:vim index.js]
rm -rf file_name   // 刪除文件或者文件夾 [rm -rf file_name]
ls       // 顯示工作目錄
clear    // 清除屏幕

獲取git 倉庫

1.第一種方式,將本地項目轉換成git 倉庫, 生成一個.git文件;

mkdir git-demo //創建一個文件
cd git-demo
git init  // 創建一個名為 .git 的子目錄

2.第二種方式,拉取(克隆)遠程已存在的git倉庫;

git clone <url>  // url 倉庫地址
git clone https://github.com/FishStudy520/git-demo.git

git config (配置用戶信息)

配置用戶信息(用戶名和郵箱);

git config user.name 'your name'     // 配置用戶名
git config user.email  'your email'  //配置用戶郵箱

查看配置信息 (顯示配置信息);

全局配置用戶只需要加 --global;

git config --global user.name 'your name' // 全局配置用戶名

git help (查看文檔)
查看常見的命令;

查看git全部的命令;

查看git命令某個文檔, 舉個慄子:

git status (查看狀態)

查看狀態

主要用於查看工作區與保存區的狀態;文件狀態如以下三種:

Untracked files: 未跟蹤的文件,新創建的文件 (未跟蹤的文件);

Changes to be committed:保存已修改的文件,該文件運行在git add 的版本歷史記錄中,但還沒有commit ;

Changes not staged for commit: 保存已修改的文件;

未跟蹤的文件(Untracked)和已修改的文件(Modified)通過git add .提交到暫存區區,使用git reset HEAD <file> 還原到git add .時的狀態;已修改的文件(Modified)使用git checkout .將以跟蹤所有已修改的文件,還原到修改前的狀態(Unmodifed);以跟蹤未修改的文件(Unodified)通過本地倉庫切換出新分支所得;

git add(添加到暫存區)

將當前目錄下的所有文件添加到暫存區(包含修改的文件以及新增文件);

將已經監控的文件添加到暫存區(不包含新增的文件);

git commit(提交本地倉庫)Git commit將工作區的內容提交到本地倉庫,每次提交生成一個commit-id,在版本回退起了重要的位置。

將暫存區已修改的文件提交到本地倉庫,註:已版本控制的文件;

git commit -a -m 'messgae'

如果我們最近一次的提交信息寫錯了,可以使用下面命令修改;

git 分支查看本地倉庫下的分支,標記「*」的是當前工作區分支;

查看所有的分支(本地倉庫以及遠程倉庫分支),-a 是 --all的簡寫;

git branch <branch_name> //branch_name: 新分支名稱

切換分支,比如你現在在master分支上,切換到develop分支;

git checkout develop // 切換到develop分支

git branch -d  <branch_name>  // branch_name:需要刪除的分支名
// 舉個慄子:刪除develop 分支
git branch -d develop
// 強制刪除某個分支,分支未合併,如果想刪除,就使用下面命令;
git branch -D develop

git branch --show-current

git checkout (檢出)git checkout主要的作用是切換分支或者還原工作區文件的變更。

git checkout <branch_name> // branch_name:分支名稱
git checkout develop //切換到develop 分支

git checkout -b <branch_name> //  branch_name:新增分支名稱
git checkout -b develop   // 創建develop 分支並切換到develop分支上

git checkout -f <branch_name> // 忽略修改切換到 branch_name 上

git merge(合併)git merge的作用就是將指定的分支合併到當前分支;

git merge <branch_name> // branch_name: 分支名稱

git log(提交記錄)

參數
--oneline: git log 的簡寫,輸出7個commit hash 的前7個字符,以及提交說明;

git log -p        //  查看每次提交改變的差異
git log -p <file> // 查看指定文件的提交記錄

--stat:查看每次提交的簡略信息,可以快速查看每次提交的差異,比-p簡潔;

--prettry:這個參數用於自定義輸出格式信息;比如:oneline[單行],format[定製時間格式]

git log --prettry=oneline

-n: n代表限制輸出的數量,最近的n條提交信息;

--graph:查看在日誌旁以 ASCII 圖形顯示分支與合併歷史;

git diff(查看差異)查看當前工作區與保存區文件修改了哪些內容(不包含新文件);

git diff HEAD
git diff commit-id // 與commit-id版本比較差異,commit-id:對應提交的版本號

git diff master // 與master 分支比較差異

git diff master...develop // 對比master分支與develop 分支的差異

查看哪些文件改動了,有多少,可以使用--stat參數;

git tag(打標籤)

git tag <tag_name>  // tag_name: tag名稱
// 比如:查看v0.0.1 標記
git tag v0.0.1

git ls-remote --tags origin

git checkout -b <branch_name> <tag_name> // branch_name:新分支名,tag_name:tag名

git 遠端倉庫

git remote add <short_name> <url>  // short_name: 簡短的名稱,url:遠程倉庫地址

// 舉個慄子:
git remote add  fishStudy520  https://github.com/FishStudy520/git-demo.git

從遠程倉庫拉取和抓取到本地倉庫,但未合併(同步遠程倉庫數據);

git fetch <remote> //remote:遠程地址

從遠程倉庫拉取和抓取到本地倉庫,並且合併數據(同步遠程倉庫數據);

git pull origin master // 拉去遠程倉庫數據

git push origin --delete <branch_name> // branch_name: 遠端分支名

git push origin master // 推送到遠程倉庫的master分支

 git remote rename old_name new_name 
 // 舉個慄子:
 git remote rename fishStudy520 fish001

git remote remove fishStudy520 //移除遠程倉庫 fishStudy520

git pull 與 git fetch 的區別:

git pull = git fetch + git merge

貯藏與清理執行貯藏操作,是將修改暫時存儲到堆棧中
場景:當你在項目上修改一些內容,而現在臨時線上有個緊急bug 需要修復,但是你不想這麼一會就創建一次提交,這時使用stash,將修改保存。等Bug 修改完後,再次切回原分支,從堆棧中恢復剛剛貯藏的內容。

git stash save <message> // message:備註信息(可選參數下)
or
git stash //不添加備註信息

查看貯藏的內容變更,默認顯示第一個,如果查看其他的貯藏,在stash${num},num代表哪個貯藏;

git show stash      //默認第一個,索引為0,
git show stash@{1}  // 查看第二次貯藏的內容有哪些

應用某個貯藏,但不會在堆棧列表中刪除,這裡的索引從0開始;註:0最新的一次保存,1上一次貯藏,以此類推;

git stash apply // 默認使用最近一次的貯藏,相當於 git stash apply stash${0} 
git stash apply stash${1}  // 使用第二個貯藏

git stash pop stash@{2} // 使用第3個貯藏,並且刪除從緩存中刪除

git stash drop stash@{2} // 丟棄列表中的第3次貯藏

總結

PyTorch 中文版官方教程來了。

PyTorch 是近年來較為火爆的深度學習框架,然而其中文版官方教程久久不來。近日,一款完整的 PyTorch 中文版官方教程出爐,讀者朋友可以更好的學習了解 PyTorch 的相關細節了。教程作者來自 pytorchchina.com。

教程網站:http://pytorch123.com

如果不想自己下載,請通過下面方式獲取pdf資料:

相關焦點

  • Git 常用命令及使用
    Git 常用命令使用1)、本地庫初始化 git init2)、設置籤名作用:區分不同開發人員的身份。說明:這裡設置的籤名和登錄遠程庫(代碼託管中心)的帳戶沒有關係。a)、項目級別籤名:git config user.name [AAA]git config user.email [郵箱地址]籤名信息位置:cat .git/configb)、系統級別籤名:git config --globaluser.name [AAA]git config --global user.email
  • Git: 聊聊Rebase命令
    先切換會origin分支,通過pull指令將origjn分支上的最新改動拉取下來。然後在用git checkout mywork切換會mywork分支,到這裡就能用git rebase orgin來進行變基了。
  • Git命令的用法小結
    git命令的基本數據流Git架構倉庫一個git倉庫包含工作目錄,與.git目錄。也可以通過命令行設置,如$ git config --global user.email 郵箱機制$ git config --global user.name 用戶名幫助(help)有多種方式獲取git的整體幫助,或者某個命令的幫助。
  • Git常用命令總結及其用法說明
    以下是小編在工作中總結的關於git命令的一些使用方法,僅供參考。git commit -m 'update .gitignore'2、git忽略某個指定的文件(不從版本庫中刪除)執行命令如下:git update-index --assume-unchanged config.conf
  • git在項目中的常用命令
    其中.git文件夾中包含了兩個部分,一個是暫存區(Index或者Stage),顧名思義就是暫時存放文件的地方,通常使用add命令將工作區的文件添加到暫存區裡;本地倉庫:.git文件夾裡還包括git自動創建的master分支,並且將HEAD指針指向master分支。
  • 熟悉Git使用的一些實操練習命令
    學廝,用廝,恨廝,被廝盤,直到熟練使用,用它提高效率,甚至用它構建DevOps棧。關於Git文檔,有官方的文檔(中文版)、其他一些文檔,還有我總結的gitlabFAQ(github:/bollwarm/gitlabFAQ)提到一些信息,以及我發的很多相關文章都是很好的學習材料。但是有時候可能要的是不需要深思熟慮、不需要深究細節的信手粘來的"傻瓜"式實操文檔。
  • Git分支原理命令圖文解析
    一旦提交更新,就會在master分支上提交。,我們的head指針就會指向child分支了。一旦使用了checkout命令,我們還會發現,不僅head指針會指向新的分支,而且當前工作目錄中的文件也會換成了新分支對應的文件了。 此外,我們還可以使用git checkout -b [name]命令,它會新建一個分支,並自動將當前的工作目錄切換到該分支上。
  • Git命令解析 - init、add、commit
    1.git init此命令初始化一個新本地倉庫,它在工作目錄下生成一個名為.git的隱藏文件夾。此時Git的區域狀態如下:使用git update-index 命令可以修改暫存區,也就是.git/index文件。
  • Git 常用命令清單筆記
    git pull origin next # 遠程分支是與當前分支合併上面一條命令等同於下面兩條命令git fetch origingit merge origin/next如果遠程主機刪除了某個分支,默認情況下,git pull 不會在拉取遠程分支的時候,刪除對應的本地分支。
  • Python 命令行之旅:使用 docopt 實現 git 命令
    作者:HelloGitHub-Prodesire一、前言 在前面兩篇介紹 docopt 的文章中,我們全面了解了 docopt 的能力。按照慣例,我們要像使用 argparse 一樣使用 docopt 來實現 git 命令。
  • Git新手使用命令集合-初級
    哈哈當然,對於使用命令操作來講,一般只要記住幾個就可以了,如果要熟練使用,那麼至少得60~~100+吧!不然也不能算熟練吧!所以要全部一下記住,常人來講,還是有一些難度吧!那麼,如果命令行操作還有難度的朋友們注意了,本文就是你的福音,我這裡也主要寫給各種會使用到命令行操作GIT的小猿們。
  • Git命令解析 - merge、rebase
    如下圖:branch命令可以輕鬆創建一個新分支,就像這樣:$ git branch new_branch這一命令實際是為當前提交對象添加了一個新的指針。這種分支形式比大多數版本控制系統更為輕量,無論是創建還是切換都幾乎可以在瞬間完成。
  • 幾個常用的 Git 高級命令
    高級命令.htmlGit 是一款開源優秀的版本管理工具,它最初由 Linus Torvalds 等人開發,用於管理 Linux Kernel 的版本研發。相關的書籍和教程網上琳琅滿目,它們多數都詳細的介紹其基本的使用和命令。本人根據自己的經驗,整理出幾個較為高級而常用的命令。推薦資料 Git Book。https://git-scm.com/book/en/v2Git blameGit blame 可以查詢每一行代碼的 commit ID、提交者和提交日期。
  • Git命令的動畫展示,讓我們學習Git事半功倍
    Git幾乎是每個程式設計師的標配,當然有時候也是噩夢,因為如果不是對他的各種命令非常熟悉的話,各種繞腦的命令會把我們弄暈,因為很多時候我們並不知道這個命令內部到底是怎麼樣的,如果每一個命令都有相對應的動畫,我們是不是理解起來更容易一些呢?
  • Git版本控制常用命令
    Git常用命令集git使用命令1、查看git配置信息git config --list2、查看git用戶名git config user.name3、查看郵箱配置git config user.email4、全局配置用戶名git config --global user.name "nameVal"5、全局配置郵箱git config --global user.email
  • Git命令總結,總結收藏
    git init # 初始化本地git倉庫(創建新倉庫) git config --global user.name "xxx" # 配置用戶名 git config --global user.email "xxx@xxx.com" # 配置郵件 git config --global color.ui true # git status
  • 30 分鐘 git 命令入門到放棄
    git 現在的火爆程度非同一般,它被廣泛地用在大型開源項目,團隊開發,以及獨立開發者,甚至學生之中。初學者非常容易被各種命令,參數嚇哭。但實際上剛上手你並不需要了解所有命令的用途。你可以從掌握一些簡單,強大的命令開始,逐步去學習。(這就是這篇文章要講的)。好了,上來!
  • 【Git】616- git命令的進階和複習(帶動圖效果)
    小姐姐用動畫圖解Git個人比較推薦第二個Git學習網站猴子都能懂的git,圖文結合,簡單明了,本文將介紹一些常用 Git 指令,作為一個學習總結git rebasegit mergegit resetgit revertgit cherry-pickgit fetchgit
  • 常用Git 命令清單
    clone [url]# 添加$ git add ./# 提交$ git commit -m 「提交」# 上傳$ git push# 下拉更新$ git pull02配置和查看信息# 顯示當前的Git配置$ git config --list# 編輯Git配置文件
  • 您必須知道的 Git 分支開發規範,附 Git 常用命令大全!
    我們都知道,阿里有 Java 規範,Redis 規範,而 Git 規範幾乎從未被聊起,所以,今天我就說一說 Git 的日常分支開發規範。先說分支命名規範。分支管理命令。tag$ git checkout -b [branch] [tag]查看一些信息的常用命令。