国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - Git 常用命令清單(整理且詳細)

Git 常用命令清單(整理且詳細)

2020-08-15 20:04阮一峰 編程技術

git我每天幾乎都在使用,但是很多命令還是記不住,下面小編給大家分享了Git 常用命令清單,感興趣的朋友一起看看吧

git工作區,暫存區,版本庫之間的關系:

我們建立的項目文件夾就是工作區,在初始化git(git init)版本庫之后會生成一個 .git文件,可以將該文件理解成git的版本庫repository,.git文件里面還有很多文件其中有一個index文件就是緩存區也叫stage,git還自動生成一個分支master,及指向該分支的指針head。

(.命名開頭的文件是不可見文件,如果想要顯示文件,需要設置:打開計算機->組織->文件夾和搜索選項->查看->高級設置->顯示隱藏的文件、文件夾、驅動器->確定,設置之后就可見了。)

git status 查看workspace的工作狀態,看文件有沒有被git追蹤,會提示通過git add <file> 把文件添加到緩存區。如果添加到緩存區,這時的跟新只在wokspace中,通過git commit -m "" (-m后面是commit的描述),這時的跟新已經從stage保存到repository區中。這樣文件就成功的添加到倉庫中了。

如果文件被修改,跟新只在workspace中,不會到緩存區,必須通過git add,git commit命令,到緩存區再到repository中。(注意:只有到緩存區后才能到repository中)

撤銷跟新:

跟新可能存在的3個地方:workspace,stage,repository,如何撤銷跟新

1.撤銷workspace中的跟新

通過 git checkout -- <file>來撤銷。如:在index.html文件中添加<div>99999</div>,執行git checkout -- index.html,剛添加的<div>99999</div>會立即消失

2.撤銷stage中的跟新

通過 git reset HEAD <file> 把緩存區的跟新移除。上一步的例子中沒有添加到緩存區,現在重新添加<div>99999</div>,并git add index.html,git reset HEAD index.html。如果想撤銷workspace中的跟新,執行上一步的命令git checkout -- index.html

3.撤銷repository中的跟新

撤銷之前,先通過git log 命令查看一下commit提交的歷史記錄.

撤銷提交的兩種方式:使用HEAD 指針和commit id

當前版本使用"HEAD^",再前一個使用HEAD ^^,回退到更早的版本,使用HEAD~n,即 git reset --hard "HEAD ^" 或 git reset --ee741efghjkoi986544th,再執行git log后發現commit就改變了。注意此時:workspace中的index.html文件也發生改變了。回到了撤退后的版本。

恢復被撤銷的提交:

通過git reflog 查看。它會提示這個倉庫所有分支所有跟新的記錄包括撤銷的記錄。

git reset --hard ee74145 或者git reset --hard HEAD@{4},再通過git log 查看。注意此時:workspace中的index.html文件也發生改變了。回到了撤退前的版本。

我每天使用 Git ,但是很多命令記不住。

一般來說,日常使用只要記住下圖6個命令,就可以了。但是熟練使用,恐怕要記住60~100個命令。

Git 常用命令清單(整理且詳細)

下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下。

  • Workspace:工作區
  • Index / Stage:暫存區
  • Repository:倉庫區(或本地倉庫)
  • Remote:遠程倉庫

一、新建代碼庫

?
1
2
3
4
5
6
# 在當前目錄新建一個Git代碼庫
$ git init
# 新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]
# 下載一個項目和它的整個代碼歷史
$ git clone [url]

二、配置

?
1
2
3
4
5
6
7
8
Git的設置文件為.gitconfig,它可以在用戶主目錄下(全局配置),也可以在項目目錄下(項目配置)。
# 顯示當前的Git配置
$ git config --list
# 編輯Git配置文件
$ git config -e [--global]
# 設置提交代碼時的用戶信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

三、增加/刪除文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 添加指定文件到暫存區
$ 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]

四、代碼提交

?
1
2
3
4
5
6
7
8
9
10
11
12
13
# 提交暫存區到倉庫區
$ 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] ...

五、分支

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 列出所有本地分支
$ 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]

六、標簽

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 列出所有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]

七、查看信息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 顯示有變更的文件
$ 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

八、遠程同步

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下載遠程倉庫的所有變動
$ 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

九、撤銷

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 恢復暫存區的指定文件到工作區
$ 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

十、其他

?
1
2
# 生成一個可供發布的壓縮包
$ git archive

總結

以上所述是小編給大家介紹的 Git 常用命令清單,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91在线资源| 久久美女 | 欧美一级片在线观看 | 亚洲国产成人久久 | 精品国产成人 | 久久综合亚洲 | 免费精品 | 久久国产精品久久 | 久久精品香蕉 | 亚洲国产精品一区二区久久 | 九九天堂 | 一级片免费视频 | 久久精品亚洲精品 | 精品免费久久久久久久苍 | 成人在线欧美 | 国产片在线看 | 自拍视频在线观看 | 国产成人在线一区二区 | 日韩成人 | 欧美国产一区二区 | 特级西西人体4444xxxx | 日韩av一区二区在线观看 | 天堂√在线观看一区二区 | 久久一二三四 | 一区二区日韩 | 99pao成人国产永久免费视频 | 欧美日韩精品在线 | 日日干天天干 | 色香阁99久久精品久久久 | 国产一区二区三区在线看 | 中文字幕亚洲欧美日韩在线不卡 | 国产美女网站视频 | 奇米一区二区三区 | 久久久久久久久久久久久久免费看 | 在线视频中文字幕 | 成人免费av| 在线观看免费视频黄 | 日本中文在线 | 国产一区中文字幕 | 色综网| 亚洲精品成人悠悠色影视 |