日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git仓库的基本用法

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git仓库的基本用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

git是一個免費的、開源的分布式版本控制系統,可以快速高效地處理從小型到大型的項目。git很容易學習,而且它的占用資源很小,性能也非常好。它超越了subversion、cvs、perforce和clearcase等scm工具,具有廉價的本地分支、方便的暫存區域和多個工作流等特性。[git 官網]

分布式相比于集中式的最大區別在于開發者可以提交到本地,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。Git的功能特性[git-百度百科]:

  • 克隆完整的Git倉庫
  • 創建分支,修改代碼。
  • 分支上提交代碼。
  • 合并分支。
  • 服務器主分支合并fetch。
  • 生成補丁patch。
  • 二、安裝

    tortoiseGit是一個開放的git版本控制系統的源客戶端,該軟件功能和git一樣。git是命令行操作模式,tortoiseGit界面化操作模式,不用記git相關命令就可以直接操作。當然安裝git后也可以采用git GUI進行操作。下載鏈接如下:

    git:?https://git-scm.com/downloads

    tortoisegit:?https://tortoisegit.org/download/

    三、啟動Git

    安裝好git后,可以在代碼工程文件夾進行鼠標右鍵,選擇Git GUI here 或者Git Bash here分別采用GUI 和 Bash命令窗口打開Git.

    例如:

    四、常用命令

    4.1 創建git代碼倉庫 init

    git init # 在當前目錄新建一個Git代碼庫git init [project-name] # 新建一個目錄,將其初始化為Git代碼庫

    4.2 添加配置文件config

    Git 自帶一個?git config?的工具來幫助設置控制 Git 外觀和行為的配置變量。 這些變量存儲在三個不同的位置:

  • /etc/gitconfig?文件: 包含系統上每一個用戶及他們倉庫的通用配置。 如果使用帶有?--system?選項的?git config?時,它會從此文件讀寫配置變量。

  • ~/.gitconfig?或?~/.config/git/config?文件:只針對當前用戶。 可以傳遞?--global?選項讓 Git 讀寫此文件。

  • 當前使用倉庫的 Git 目錄中的?config?文件(就是?.git/config):針對該倉庫。

  • 每一個級別覆蓋上一級別的配置,所以?.git/config?的配置變量會覆蓋?/etc/gitconfig?中的配置變量。在 Windows 系統中,Git 會查找?$HOME?目錄下(一般情況下是?C:\Users\$USER)的?.gitconfig?文件。 Git 同樣也會尋找?/etc/gitconfig?文件,但只限于 MSys 的根目錄下,即安裝 Git 時所選的目標位置。在用戶主目錄下默認為全局配置,也可以在項目目錄下作為項目配置。非必須。

    git config [--global] user.name "[name]" # 設置提交代碼時的用戶信息 e.g. git config --global user.name "jianwang16"git config [--global] user.email "[email address]"# 設置提交代碼時的email e.g. git config --global user.email "jainwang16@foxmail.com"

    4.3 添加或刪除暫存區代碼add rm

    git add [file1] [file2] ... # 添加指定文件到暫存區 e.g. git add a.c b.c git add [dir] # 添加指定目錄到暫存區,包括子目錄 e.g git add pro/codegit add . # 添加當前目錄的所有文件到暫存區git rm [file1] [file2] ... # 刪除工作區文件,并且將這次刪除放入暫存區 e.g. git rm a.c b.cgit rm --cached [file] # 停止跟蹤某文件 e.g. git rm --cached a.cgit mv [file-original] [file-renamed] # 文件改名,并且將這個改名放入暫存區 e.g. git mv a.c amodify.c

    4.4 提交代碼commit

    git commit -m [message] # 提交暫存區到倉庫區 e.g. git commit -m "20180808 v1 新增文件file1"git commit [file1] [file2] ... -m [message] # 提交暫存區的指定文件到倉庫區 e.g. git commit a.c b.c -m "20180808 V2 新增文件a.c b.c"git commit -a # 提交所有直接到倉庫區-a = all git commit -v # 提交時顯示所有diff信息git commit --amend -m [message] # 使用一次新的commit,替代上一次提交

    4.5 創建分支branch

    git branch # 列出所有本地分支git branch -r # 列出所有遠程分支git branch -a # 列出所有本地分支和遠程分支git branch [branch-name] # 新建一個分支,但依然停留在當前分支git checkout -b [branch] # 新建一個分支,并切換到該分支git branch [branch] [commit] # 新建一個分支,指向指定commitgit branch --track [branch] [remote-branch] # 新建一個分支,與指定的遠程分支建立追蹤關系git branch -d [branch-name] # 刪除分支git push origin --delete [branch-name] # 刪除遠程分支 git branch -dr [remote/branch] # 刪除遠程分支

    4.6 切換分支checkout

    git checkout [branch-name] # 切換到指定分支,并更新工作區git checkout - # 切換到上一個分支

    4.7 合并分支merge

    git merge [branch] # 合并指定分支到當前分支git cherry-pick [commit] # 選擇一個commit,合并進當前分支

    4.8 標簽操作tag

    git tag # 列出所有taggit tag [tag] # 新建一個tag在當前commitgit tag [tag] [commit] # 新建一個tag在指定commitgit tag -d [tag] # 刪除本地taggit push origin :refs/tags/[tagName] # 刪除遠程taggit show [tag] # 查看tag信息git push [remote] [tag] # 提交指定taggit push [remote] --tags # 提交所有taggit checkout -b [branch] [tag] # 新建一個分支,指向某個tag

    4.9 查看Git信息

    git status # 顯示有變更的文件git log # 顯示當前分支的版本歷史git log -5 --pretty --oneline # 顯示過去5次提交git shortlog -sn # 顯示所有提交過的用戶git blame [file] # 顯示指定文件是什么人在什么時間修改過git diff # 顯示暫存區和工作區的代碼差異git diff --cached [file] # 顯示暫存區和上一個commit的差異git diff HEAD # 顯示工作區與當前分支最新commit之間的差異git diff [first-branch]...[second-branch] # 顯示兩次提交之間的差異

    4.10 同步

    git fetch [remote] # 下載遠程倉庫git pull [remote] [branch]# 取回遠程倉庫的變化,并與本地分支合并git push [remote] [branch] # 上傳本地指定分支到遠程倉庫git push [remote] --force # 強行推送當前分支到遠程倉庫,即使有沖突 git push [remote] --all # 推送所有分支到遠程倉庫

    4.11 撤銷提交

    git reset [file] # 撤銷修改暫存區的指定文件,與上一次commit保持一致,但工作區不變git reset --hard # 撤銷修改重置暫存區與工作區,與上一次commit保持一致

    4.12當前操作暫存

    git stash # 暫時將未提交的變化移除,稍后再移入 git stash pop # 取出暫存的工程

    4.13 拉取遠程到本地分支

    git pull origin master:master git pull <遠程主機名> <遠程分支名>:<本地分支名> 如拉取遠程的master分支到本地wy分支: git pull origin master:wy 提交 push

    官網已經提供了很豐富的資料,此處記錄,以便查看。

    總結

    以上是生活随笔為你收集整理的git仓库的基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。