這篇文章為大家帶來了git的基本使用相關知識,其中包括git的基本操作,分支操作以及更改提交的操作等等,希望對大家有幫助。
#設定SSH Key 使得裝置可以有權限存取帳號裡面的程式碼倉庫
$ ssh-keygen -t rsa -C "your_email@example.com"
"your_email@example.com"
設定為自己GitHub帳號的註冊信箱$ cat ~/.ssh/id_rsa.pub
ssh-rsa 公開金鑰的內容your_email@example.com
ssh-rsa
也拷貝下來$ ssh -T git@github.com Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa': Hi abc! You've successfully authenticated, but GitHub does not provide shell access.
$ git clone git@github.com:hirocastest/Hello-World.git
2.2 git add 將檔案加入暫存區
$ git add 文件夹/文件
2.3 git commit 儲存倉庫的歷史記錄
$ git commit -m "记录一行提交信息"
指令,GitHub 上的倉庫就會被更新<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git push</pre><div class="contentsignin">登入後複製</div></div>
2.5 git init 初始化倉庫
方法建立倉庫,不需要執行init
操作。如果要把本地文件設定為倉庫,那麼就需要進行init 操作<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ mkdir git-tutorial
$ cd git-tutorial
$ git init</pre><div class="contentsignin">登入後複製</div></div>
2.6 git status 查看倉庫狀態
$ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
2.7 git log 查看提交日誌
git log 指令可以查看以往倉庫提交的日誌。包括什麼人在什麼時候進行了提交或合併<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git log
commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD)
Author: ywm <ywm_up@qq.com>
Date: Sun Feb 28 17:17:00 2021 +0800</pre><div class="contentsignin">登入後複製</div></div>
只想現實提交資訊的第一行,可以在
命令後加上-- pretty=short
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git log --pretty=short</pre><div class="contentsignin">登入後複製</div></div>
2.8 git diff 查看更改前後的差別
查看目前工作書與暫存區的差別<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git diff</pre><div class="contentsignin">登入後複製</div></div>
3.1 git branch 顯示分支一覽表
$ git branch * master
3.2 git checkout 建立、切換分支
$ git checkout -b feature-A
實際上,上面那條指令,等價於下面兩條指令
$ git branch feature-A $ git checkout feature-A
切換回分支mian
$ git checkout main
切換回上一個分支
$ git checkout -
#3.3 git merge 合併分支
$ git merge --no-ff feature
隨後編輯器會啟動,用於輸入合併提交的資訊
3.4 git log --graph 以圖示的形式查看分支
$ git log --graph
$ git reset --hard 目标时间点的hash值
查看目前倉庫的操作日誌,可以找到回溯歷史之前的雜湊值。只要不進行 git 的 GC(垃圾回收),就可以透過日誌隨意調取近期的歷史狀態。即使開發者錯誤執行了 git 操作,基本上也可以用 git reflog 指令恢復到原先的狀態。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git reflog</pre><div class="contentsignin">登入後複製</div></div>
上面列印的是最近的操作,下面列印的是最舊的操作
#4.2 消除衝突
合併操作的時候,容易出現衝突,這時候需要$ git commit --amend
4.3 git rebase -i 壓縮歷史
git rebase -i HEAD~2
可以選定檔期按分支中包含 HEAD 在內的兩個最新歷史記錄為對象,並在編輯器中開啟
在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
推送至 master 分支
$ git push -u origin master
-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦
除了 master 分支之外,还可以推送到其他分支
$ git checkout -b feature-D $ git push -u origin feature-D
$ git clone git仓库地址
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
推荐学习:《Git教程》
以上是如何二十分鐘搞懂git的基礎使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!