中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Git學習

發布時間:2020-03-12 09:29:37 來源:網絡 閱讀:238 作者:Yuanmes 欄目:系統運維

一、安裝配置Git(系統:Windows 10 64位)
1.移步Git官網下載安裝。
2.每個倉庫的Git配置文件為.git/config文件,當前用戶的Git配置文件為用戶主目錄下的.gitconfig文件。運行"Git->Bash",可進行以下配置:(--global表示這些命令在這臺電腦的所有Git倉庫下都有用,不加則只針對當前倉庫起作用)

$ git config --global user.name <"your name"> #指定用戶名
$ git config --global user.email <"email@example.com"> #指定email地址
$ git config --global color.ui true # 讓Git適當地顯示不同的顏色

3.忽略文件
需要忽略的文件一般是放在Git工作目錄且不能提交的文件,包括操作系統自動生成的文件,編譯生成的中間文件、可執行文件等,自己的帶有敏感信息的配置文件等。
此時要在Git工作區的根目錄下創建一個.gitignore文件,然后把要忽略的文件名填進去,Git就會自動忽略這些文件。GitHub已經為我們準備了各種配置文件,只需要組合一下就可以編寫.gitignore文件。

$ vim .gitignore # 創建.gitignore文件(類Linux)
$ git add -f <file_name> # 強制添加已忽略的文件
$ git check-ignore -v <file_name> # 檢查.gitignore對該文件的忽略規則

4.配置別名

$ git config --global alias.<alias> <command_name>
$ git config --global alias.<alias> <'command_phrase'> 

設置完之后可以直接使用 git <alias> 操作。
刪除別名可以通過修改配置文件的[alias]字段。


二、創建版本庫(Repository)
1.創建一個空目錄來存放版本庫:

$ mkdir <catalog_name>
$ cd <catalog_name>

2.使用Git初始化版本庫

$ git init

3.把文件添加到版本庫中(首先確保該文件在版本庫所在的目錄下)

$ git add <file1_name>
$ git add <file2_name> <file3_name> # 把要提交的所有修改放到暫存區(Stage/Index)
$ git <catalog_name>/* .<type> # 添加指定目錄下所有(指定類型)的文件
$ git add --all # 添加當前目錄下所有文件
...
$ git commit -m <"message"> # 一次性把暫存區的所有修改提交到分支

三、版本管理

$ git status # 查看工作區當前的狀態
$ git diff # 查看具體修改的內容
$ git reset --hard <commit_id> # 根據前幾位版本號回退到指定版本,其中HEAD表示當前版本
$ git log # 查看提交歷史,以便確定要回退到哪個版本
$ git reflog # 查看命令歷史,以便確定要回到未來的哪個版本
$ git checkout -- <file_name> # 撤銷工作區的修改;把誤刪的文件恢復到最新版本(用版本庫的版本替換工作區的版本)
$ git reset HEAD <file_name> # 撤銷暫存區的修改
$ git rm <file_name> # 從版本庫中刪除該文件

四、使用Github管理Git遠程倉庫
1.創建SSH密鑰:

$ ssh-keygen -t rsa -C <"email@example.com">

生成的私鑰和公鑰分別保存在用戶主目錄里的.ssh目錄的id_rsa和id_rsa.pub兩個文件中。
2.登陸GitHub,Settings->Add SSH Key->在Key文本框里粘貼id_rsa.pub文件的內容->Add Key。 由于Git支持SSH協議,這樣GitHub可以通過你的公鑰確認只有你自己才能推送并識別出你推送的提交確實是你推送的。
3.Create a new repo->填寫Repository name->Create repository,創建一個新的Git倉庫。

$ git remote add origin git@github.com:<github_account>/<repository_name>.git #  將本地庫與遠程庫關聯起來(使用ssh支持的git協議,速度較快)
$ git remote add origin https://github.com/<github_account>/<repository_name>.git #  將本地庫與遠程庫關聯起來(使用https協議)
$ git push [-u] origin master # 把本地庫的所有內容推送到遠程庫上(-u表示第一次推送,遠程倉庫的默認名稱為origin)
$ git clone git@github.com:<github_account>/<repository_name>.git # 克隆一份遠程庫到本地

4.多人協作的工作模式

$ git remote [-v] # 查看遠程庫信息(-v顯示可以抓取和推送的origin地址)
$ git checkout -b <branch_name> origin/<branch_name> <branch_name> # 在本地創建和遠程分支對應的分支
$ git branch --set-upstream-to=origin/<branch_name> # 建立本地分支和遠程分支的關聯
$ git push origin <branch_name> # 從本地推送分支(若推送失敗,則需先抓取遠程的新提交)
$ git pull # 抓取遠程庫中的最新提交(進行合并,若有沖突先解決沖突再重新推送)

5.參與開源項目
開源項目倉庫->"Fork"即克隆到自己賬號下->“git clone”克隆到本地->修改推送到自己的遠程庫->發起pull requset等待開源項目庫接受


五、分支管理

$ git branch # 查看分支
$ git branch <branch_name> # 創建分支
$ git checkout <branch_name> / git switch <branch_name> # 切換分支
$ git checkout -b <branch_name> / git switch -c <branch_name> # 創建并切換分支
$ git merge [--no-ff -m <"message">] <branch_name> # 合并某分支到當前分支(--no-ff表示禁用Fast forward模式,在這種模式下刪除分支會丟掉分支信息,禁用后從分支歷史上可以看出分支信息)
$ git branch -d <branch_name> # 刪除分支(若該分支未被合并會報錯)
$ git branch -D <branch_name> # 強制刪除分支
$ git log --graph [ --pretty=oneline --abbrev-commit] # 查看分支合并圖
$ git stash # 保存當前工作現場
$ git stash list # 查看保存的工作現場列表
$ git stash apply [stash@{<stash_id>}] # 恢復工作現場但不刪除stash內容(默認恢復0號stash,也可根據stash_id恢復指定的stash)
$ git stash drop # 刪除stash內容
$ git stash pop # 恢復工作現場并刪除stash內容
$ git cherry-pick <commit_id> # 復制特定的提交到當前分支
$ git rebase # 把本地未push的分叉提交歷史整理成直線

當Git無法自動合并分支時,就必須先解決沖突,即把Git合并失敗的文件手動修改為希望提交的內容,再提交,合并完成。


六、標簽管理

$ git tag # 查看所有標簽
$ git tag [-a] <tag_name> [-m <"message">] [commit_id] # 加標簽(默認打在當前分支的最新提交上,也可根據commit_id打標簽,-a指定標簽名,-m指定說明文字)
$ git show <tag_name> #  查看標簽信息
$ git tag -d <tag_name> # 刪除標簽
$ git push origin <tag_name> # 推送一個本地標簽
$ git push origin --tags # 推送全部未推送過的本地標簽
$ git push origin :refs/tags/<tag_name> # 刪除一個遠程標簽

最后附學習源泉傳送門:Git官網 廖雪峰老師的Git教程

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

札达县| 长汀县| 紫金县| 禄劝| 华亭县| 磐石市| 苍山县| 东阿县| 高唐县| 利辛县| 务川| 阳新县| 长兴县| 堆龙德庆县| 曲水县| 南丹县| 富裕县| 汶川县| 绩溪县| 桑日县| 张家川| 内江市| 吐鲁番市| 石狮市| 休宁县| 茶陵县| 枝江市| 烟台市| 阿尔山市| 讷河市| 海淀区| 沙湾县| 武穴市| 图片| 乃东县| 青田县| 娱乐| 获嘉县| 河北区| 北海市| 新闻|