Git使用詳解

文章內容參考:廖雪峰Git教程

Git命令:

git init  //把當前目錄變成Git可以 管理的倉庫
git add <file>  //把文件添加到倉庫
git commit -m <message> //帶說明的提交,說明信息最好具有實際意義
git status  //隨時掌握工作區(qū)的狀態(tài)
git diff  //查看修改的內容
git log  //可以查看提交歷史,以便確定要回退到哪個版本
git log --pretty=oneline  //查看提交歷史的簡要信息
git reset //回退版本 
git reset --hard HEAD^  //回退到上一個版本
git reset --hard HEAD^^  //回退到上上個版本
git reset --hard HEAD~100  //回退到前100個版本
git reset --hard 1094a  //回退到指定版本號
git reflog  //記錄你的每一次命令,以便確定要回到未來的哪個版本
git checkout -- file  //丟棄工作區(qū)的修改
git reset HEAD <file>  //可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)
git rm  //用于刪除一個文件
git remote add origin  //關聯(lián)一個遠程庫
git push -u origin master  //第一次推送master分支的所有內容
git push origin master  //推送最新修改
git clone <遠程倉庫地址>  //克隆一個庫到本地庫
git branch <分支名稱>  //創(chuàng)建分支
git checkout <分支名稱>  //切換分支
git checkout -b <分支名稱>  //創(chuàng)建并切換分支
git branch  //查看當前分支
git merge  //合并指定分支到當前分支
git switch  //切換分支
git switch -c <分支名稱>  //創(chuàng)建并切換分支
git branch -d <分支名稱>  //刪除分支
git log --graph  //查看分支合并圖
git merge --no-ff -m <描述> <分支名稱>  //合并分支,--no-ff參數(shù),表示禁用Fast forward
git stash  //把當前工作現(xiàn)場“儲藏”起來,等以后恢復現(xiàn)場后繼續(xù)工作
git stash pop  //回到工作現(xiàn)場
git cherry-pick <bug修復完提交的id>  //把bug提交的修改“復制”到當前分支,避免重復勞動
git branch -D <分支名稱>  //丟棄一個沒有被合并過的分支,強行刪除
git remote  //查看遠程庫的信息
git remote -v  //顯示更詳細的信息
git push origin branch-name  //從本地推送分支
git pull  //抓取遠程的新提交
git checkout -b branch-name origin/branch-name  //在本地創(chuàng)建和遠程分支對應的分支,本地和遠程分支的名稱最好一致
git branch --set-upstream branch-name origin/branch-name  //建立本地分支和遠程分支的關聯(lián)
git rebase  //把分叉的提交歷史“整理”成一條直線,看上去更直觀
git tag <name>  //就可以打一個新標簽
git tag v0.9 f52c633  //要對某次add merge提交打標簽,且它對應的commit id是f52c633
git show <tagname>  //查看標簽信息
git tag -a <tagname> -m "blablabla..."  //可以指定標簽信息

Git 命令使用:

默認使用visual studio code

git clone --使用git clone從遠程倉庫拉取代碼

git clone git@github.com:nangongque/doumijia-react-native.git
/** Cloning into 'doumijia-react-native'...
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
remote: Enumerating objects: 94, done.
remote: Counting objects: 100% (94/94), done.
remote: Compressing objects: 100% (78/78), done.
remote: Total 94 (delta 2), reused 91 (delta 2), pack-reused 0R
Receiving objects: 100% (94/94), 232.52 KiB | 163.00 KiB/s, done.
Resolving deltas: 100% (2/2), done.**/

git add --把文件添加到倉庫

/** 修改README.md文件如下:
豆米家
2020.9.15更新,由于項目中使用的豆瓣api經(jīng)常變動,導致接口有時不可用,有問題可以及時聯(lián)系我的郵箱,謝謝。
**/
/**保存后進行添加**/
 git add README.md

git commit --提交

/** 針對add后修改的文件進行提交**/
git commit -m 'first change README.md'
/** 
[master 20e8cc3] first change README.md
 1 file changed, 2 insertions(+), 1 deletion(-)
**/

git status --隨時掌握工作區(qū)的狀態(tài)

/**時刻掌握倉庫當前的狀態(tài) **/
git status
/**
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
**/

git diff --查看修改的內容

git diff 
/**
diff --git a/README.md b/README.md
index 552a71e..139e58e 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
 豆米家
-2020.9.15更新,由于項目中使用的豆瓣api經(jīng)常變動,導致接口有時不可用,有問題可以及時聯(lián)系我的郵箱,謝謝。
\ No newline at end of file
+2020.9.15更新,由于項目中使用的豆瓣api經(jīng)常變動,導致接口有時不可用,有問題可以及時聯(lián)系我的郵箱,謝謝。
+米西米西,畫布垃圾
\ No newline at end of file
**/

git log --查看提交歷史,以便確定要回退到哪個版本

git log
/**
commit 20e8cc32eba612e88c1209c8206af90d236b9d3b (HEAD -> master, origin/master, origin/HEAD)
Author: murong-yuxuan <350****21@qq.com>
Date:   Tue Sep 15 22:11:49 2020 +0800

    first change README.md

commit 429d3cee52b38ec8846299704f7a108f4348a36f
Author: 李*坡 <189****1995@163.com>
Date:   Tue Sep 15 12:39:50 2020 +0800

    Initial commit

commit 1c33f7c2f470cc5bbb7060b237379b6882e663ff
Author: nangongque <48037565+nangongque@users.noreply.github.com>
Date:   Tue Sep 15 11:47:56 2020 +0800

    Initial commit
**/
git log --pretty=onelin //查看提交歷史的簡要信息
/**
20e8cc32eba612e88c1209c8206af90d236b9d3b (HEAD -> master, origin/master, origin/HEAD) first change README.md
429d3cee52b38ec8846299704f7a108f4348a36f Initial commit
1c33f7c2f470cc5bbb7060b237379b6882e663ff Initial commit
**/

git push origin master --推送最新修改

git push origin master
/**
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:nangongque/doumijia-react-native.git
   20e8cc3..a145af8  master -> master
**/

git reset --hard HEAD^ --回退到上一個版本

git reset --hard HEAD^
/** README.md文件被還原到上一個版本的內容**/

git reflog -- 記錄你的每一次命令,以便確定要回到未來的哪個版本

git reflog
/**
20e8cc3 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
a145af8 (origin/master, origin/HEAD) HEAD@{1}: commit: first change commit
20e8cc3 (HEAD -> master) HEAD@{2}: commit: first change README.md
429d3ce HEAD@{3}: clone: from git@github.com:nangongque/doumijia-react-native.git
**/

git checkout -- file --丟棄工作區(qū)的修改

git checkout -- .\README.md
/** 上一次修改的代碼將被撤銷**/

git branch --創(chuàng)建分支

git branch test1 

git checkout --切換分支

git checkout test1
/**Switched to branch 'test1'**/

git push origin --推送分支到遠程倉庫

git push origin test1:test1
/**
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'test1' on GitHub by visiting:
remote:      https://github.com/nangongque/doumijia-react-native/pull/new/test1
remote:
To github.com:nangongque/doumijia-react-native.git
 * [new branch]      test1 -> test1
**/

git switch --切換分支

git branch
/**
  master
* test1
**/
 git switch master
/**
Switched to branch 'master'
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)
**/
git branch
/**
* master
  test1
**/

git stash --把當前工作現(xiàn)場“儲藏”起來,等以后恢復現(xiàn)場后繼續(xù)工作

git stash
/**
Saved working directory and index state WIP on master: 20e8cc3 first change README.md
**/
/**會把工作區(qū)中修改的代碼暫時隱藏起來**/

git stash pop --回到工作現(xiàn)場

git stash pop
/**
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (f09780a198fda8a2f4b36d8d0498c52daef5eab1)
**/
/**先前隱藏的代碼又出來了**/

git tag --打一個新標簽

git show --查看標簽信息

git tag v0.1
git show v0.1
/**
Author: murong-yuxuan <350****21@qq.com>
Date:   Tue Sep 15 22:11:49 2020 +0800

    first change README.md

diff --git a/README.md b/README.md
index 49e1184..552a71e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
-# doumijia-react-native
\ No newline at end of file
+豆米家
+2020.9.15更新,由于項目中使用的豆瓣api經(jīng)常變動,導致接口有時不可用,有問題可以及時聯(lián)系我的郵箱,謝謝。
\ No newline at end of file
**/

未完待續(xù)....

其他開發(fā)工具下使用的git命令后續(xù)補上

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容