首頁 開發工具 Git 最最詳細的Git 操作指令來了!

最最詳細的Git 操作指令來了!

Oct 25, 2021 pm 03:47 PM
git

今天本欄位介紹Git 操作指令,有需要的朋友看看,歡迎留言討論。

一、新程式碼庫

在目前目錄新建一個Git程式碼庫
git init
登入後複製
新建一個目錄,將其初始化為Git程式碼庫
git init [project-name]
登入後複製
下載一個專案和它的整個程式碼歷史
git clone [url]
登入後複製

二、設定

Git的設定檔為.gitconfig,它可以在使用者主目錄下(全域設定),也可以在專案目錄下(專案設定)。

显示当前的Git配置
git config --list
登入後複製
编辑Git配置文件
git config -e [--global]
登入後複製
设置提交代码时的用户信息
git config [--global] user.name "[name]"git config [--global] user.email "[email address]"
登入後複製

三、增加/删除文件

添加指定文件到暂存区
git add [file1] [file2] ...
登入後複製
添加指定目录到暂存区,包括子目录
git add [dir]
登入後複製
添加当前目录的所有文件到暂存区
git add .
登入後複製
添加每个变化前,都会要求确认
对于同一个文件的多处变化,可以实现分次提交
git add -p
登入後複製
删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2] ...
登入後複製
停止追踪指定文件,但该文件会保留在工作区
git rm --cached [file]
登入後複製
改名文件,并且将这个改名放入暂存区
git mv [file-original] [file-renamed]
登入後複製

四、代码提交

提交暂存区到仓库区
git commit -m [message]
登入後複製
提交暂存区的指定文件到仓库区
git commit [file1] [file2] ... -m [message]
登入後複製
提交工作区自上次commit之后的变化,直接到仓库区
git commit -a
登入後複製
提交时显示所有diff信息
git commit -v
登入後複製
使用一次新的commit,替代上一次提交
如果代码没有任何新变化,则用来改写上一次commit的提交信息
git commit --amend -m [message]
登入後複製
重做上一次commit,并包括指定文件的新变化
git commit --amend [file1] [file2] ...
登入後複製

五、分支

列出所有本地分支
git branch
登入後複製
列出所有远程分支
git branch -r
登入後複製
列出所有本地分支和远程分支
git branch -a
登入後複製
新建一个分支,但依然停留在当前分支
git branch [branch-name]
登入後複製
新建一个分支,并切换到该分支
git checkout -b [branch]
登入後複製
新建一个分支,指向指定commit
git branch [branch] [commit]
登入後複製
新建一个分支,与指定的远程分支建立追踪关系
git branch --track [branch] [remote-branch]
登入後複製
切换到指定分支,并更新工作区
git checkout [branch-name]
登入後複製
切换到上一个分支
git checkout -
登入後複製
建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch]
登入後複製
合并指定分支到当前分支
git merge [branch]
登入後複製
选择一个commit,合并进当前分支
git cherry-pick [commit]
登入後複製
删除分支
git branch -d [branch-name]
登入後複製
删除远程分支
git push origin --delete [branch-name]git branch -dr [remote/branch]
登入後複製

六、标签

列出所有tag
git tag
登入後複製
新建一个tag在当前commit
git tag [tag]
登入後複製
新建一个tag在指定commit
git tag [tag] [commit]
登入後複製
删除本地tag
git tag -d [tag]
登入後複製
删除远程tag
git push origin :refs/tags/[tagName]
登入後複製
查看tag信息
git show [tag]
登入後複製
提交指定tag
git push [remote] [tag]
登入後複製
提交所有tag
git push [remote] --tags
登入後複製
新建一个分支,指向某个tag
git checkout -b [branch] [tag]
登入後複製

七、查看信息

显示有变更的文件
git status
登入後複製
显示当前分支的版本历史
git log
登入後複製
显示commit历史,以及每次commit发生变更的文件
git log --stat
登入後複製
搜索提交历史,根据关键词
git log -S [keyword]
登入後複製
显示某个commit之后的所有变动,每个commit占据一行
git log [tag] HEAD --pretty=format:%s
登入後複製
显示某个commit之后的所有变动,其”提交说明”必须符合搜索条件
git log [tag] HEAD --grep feature
登入後複製
显示某个文件的版本历史,包括文件改名
git log --follow [file]git whatchanged [file]
登入後複製
显示指定文件相关的每一次diff
git log -p [file]
登入後複製
显示过去5次提交
git log -5 --pretty --oneline
登入後複製
显示所有提交过的用户,按提交次数排序
git shortlog -sn
登入後複製
显示指定文件是什么人在什么时间修改过
git blame [file]
登入後複製
显示暂存区和工作区的差异
git diff
登入後複製
显示暂存区和上一个commit的差异
git diff --cached [file]
登入後複製
显示工作区与当前分支最新commit之间的差异
git diff HEAD
登入後複製
显示两次提交之间的差异
git diff [first-branch]...[second-branch]
登入後複製
显示今天你写了多少行代码
git diff --shortstat "@{0 day ago}"
登入後複製
显示某次提交的元数据和内容变化
git show [commit]
登入後複製
显示某次提交发生变化的文件
git show --name-only [commit]
登入後複製
显示某次提交时,某个文件的内容
git show [commit]:[filename]
登入後複製
显示当前分支的最近几次提交
git reflog
登入後複製

八、远程同步

下载远程仓库的所有变动
git fetch [remote]
登入後複製
显示所有远程仓库
git remote -v
登入後複製
显示某个远程仓库的信息
git remote show [remote]
登入後複製
增加一个新的远程仓库,并命名
git remote add [shortname] [url]
登入後複製
取回远程仓库的变化,并与本地分支合并
git pull [remote] [branch]
登入後複製
上传本地指定分支到远程仓库
git push [remote] [branch]
登入後複製
强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
登入後複製
推送所有分支到远程仓库
git push [remote] --all
登入後複製

九、撤销

恢复暂存区的指定文件到工作区
git checkout [file]
登入後複製
恢复某个commit的指定文件到暂存区和工作区
git checkout [commit] [file]
登入後複製
恢复暂存区的所有文件到工作区
git checkout .
登入後複製
重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset [file]
登入後複製
重置暂存区与工作区,与上一次commit保持一致
git reset --hard
登入後複製
重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset [commit]
登入後複製
重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard [commit]
登入後複製
重置当前HEAD为指定commit,但保持暂存区和工作区不变
git reset --keep [commit]
登入後複製
新建一个commit,用来撤销指定commit
后者的所有变化都将被前者抵消,并且应用到当前分支
git revert [commit]
登入後複製
暂时将未提交的变化移除,稍后再移入
git stash
git stash pop
登入後複製

十、其他

生成一个可供发布的压缩包
git archive
登入後複製

推荐学习:《Git教程》                            

以上是最最詳細的Git 操作指令來了!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Go語言中用於浮點數運算的庫有哪些? Go語言中用於浮點數運算的庫有哪些? Apr 02, 2025 pm 02:06 PM

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

h5項目怎麼運行 h5項目怎麼運行 Apr 06, 2025 pm 12:21 PM

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

Beego ORM中如何指定模型關聯的數據庫? Beego ORM中如何指定模型關聯的數據庫? Apr 02, 2025 pm 03:54 PM

在BeegoORM框架下,如何指定模型關聯的數據庫?許多Beego項目需要同時操作多個數據庫。當使用Beego...

Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Apr 02, 2025 pm 04:12 PM

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? 在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? Apr 02, 2025 pm 04:54 PM

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

H5頁面製作是否需要持續維護 H5頁面製作是否需要持續維護 Apr 05, 2025 pm 11:27 PM

H5頁面需要持續維護,這是因為代碼漏洞、瀏覽器兼容性、性能優化、安全更新和用戶體驗提升等因素。有效維護的方法包括建立完善的測試體系、使用版本控制工具、定期監控頁面性能、收集用戶反饋和製定維護計劃。

使用 sql.Open 時,DSN 傳空為什麼不報錯? 使用 sql.Open 時,DSN 傳空為什麼不報錯? Apr 02, 2025 pm 12:54 PM

使用sql.Open時,DSN傳空為什麼不報錯?在Go語言中,sql.Open...

See all articles