git 常用命令

github創建倉庫到本地使用

前期準備

// 註冊github賬號
// 地址:https://github.com/

// 配置密匙
// 地址:https://jingyan.baidu.com/article/414eccf6a330926b431f0ac6.html

// 創建倉庫git-test
// git/https 切換到git模式(避免每次重複密匙驗證)

// 確保已經安裝git bash,並打開   

創建本地倉庫

// 在本地創建文件夾
mkdir git-test
// 複製代碼,如以下示例,粘貼到git bash運行
echo "# git-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:webjimmylau/git-test.git
git push -u origin master

創建分支

// 最好統一先在github上創建分支
// 然後纔在本地git pull分支

git命令

文件夾

clear                                         // 清空代碼
pwd                                           // 顯示當前目錄
mkdir fileName                                // 創建文件夾
cd fileName                                   // 進入文件夾
git init                                      // 把這個目錄變成git可以管理的倉庫

文件

echo xxx >> text.txt                          // 創建文件並更改或直接更改文件內容
rm text.txt                                   // 刪除文件
cat text.txt                                  // 查看文件內容
git diff text.txt                             // 查看文件修改的內容
git diff HEAD -- text.txt                     // 查看工作區和版本庫裏面最新版本的區別
git reset HEAD .                              // 撤銷件到暫存區
git checkout -- text.txt                      // 撤銷修改文件內容 或 撤銷刪除文件

分支

git branch                                    // 查看分支 *代表當前分支
git branch dev                                // 創建分支
git branch -d dev                             // 刪除分支
git branch -D dev                             // 強行刪除分支
git checkout dev                              // 切換分支
git checkout -b dev                           // 創建並切換分支
git checkout -b dev origin/dev                // 創建並拉取遠程分支dev並切換分支
git merge dev                                 // 在當前分支上合併dev內容
git merge –no-ff  -m 'xxx' dev                // 合併分支,禁用‘Fast forward’模式,刪除後還能保留分支信息

版本查看

git reflog                                    // 查看全部版本(包括回滾後看不到的版本、誤操作等)
git log                                       // 詳細查看分支提交歷史(當前版本的祖先版本)
git log --pretty=oneline                      // 簡單查看分支提交歷史(去除作者和日期)
git log --pretty=oneline --abbrev-commit      // 查看精簡分支提交歷史(縮小版本號長度)
git log --graph                               // 查看分支刪除信息

版本回滾

git reset --hard HEAD^                        // 回滾到上一個版本
git reset --hard HEAD~100                     // 回滾到上100個版本
git reset --hard scd51f                       // 回滾到某版本

拉取提交

git clone git-test(url)                       // 克隆git-test項目
git remote add origin git-test(url)           // 關聯一個遠程庫
git pull origin master                        // 拉取成功 然後手動處理衝突
git branch --set-upstream master              // 解決分支衝突 
git push -u origin master                     // 把本地master分支和遠程master分支關聯起來
                                              // 並把本地master分支的最新修改推送到github上
git push origin master                        // 把本地master分支的最新修改推送到github上
git push origin :dev                          // 在遠程分支上刪除dev分支
git remote                                    // 查看遠程庫的信息 如:origin
git remote -v                                 // 查看遠程庫的詳細信息 如:origin

隱藏現場

git stash                                     // 將當前的工作現場隱藏起來
git stash list                                // 查看隱藏的工作現場
git stash apply                               // 恢復工作現場
git stash drop                                // 刪除隱藏的一條工作現場記錄
git stash pop                                 // 恢復並刪除

提交到本地

git status                                    // 查看是否還有文件未提交
git add text.txt                              // 添加文件到暫存區
git commit -m 'xxx'                           // 把暫存區的文件提交到倉庫

git命令使用方法

1、創建/修改/提交

cd D:                                         // 進入D盤
mkdir www                                     // 創建文件夾www
cd www                                        // 進入文件夾www
mkdir git-test                                // 創建文件夾git-test
cd git-test                                   // 進入文件夾git-test
pwd                                           // 顯示當前目錄
git init                                      // 把這個目錄變成git可以管理的倉庫
echo 111 >> readme.txt                        // 創建readme.txt文件 並添加內容111
git add readme.txt                            // 添加readme.txt文件到暫存區裏面去
git commit -m "add file"                      // 把暫存區的文件提交到倉庫
git status                                    // 查看是否還有文件未提交
echo 222 >> readme.txt                        // 創建readme.txt文件並更改或直接更改readme.txt文件內容
git status                                    // 查看是否還有文件未提交
git diff readme.txt                           // 查看readme.txt修改了什麼內容
git add readme.txt                            // 添加readme.txt文件到暫存區裏面去
git commit -m "change file"                   // 把暫存區裏面的內容提交到倉庫

2、版本回退

echo 333 >> readme.txt                
git add readme.txt                
git commit -m "change file"
git log                                       // 查看版本歷史記錄
git log --pretty=oneline                      // 查看精簡版本歷史記錄
git reset --hard HEAD^                        // 退回到上一個版本    ^上一個 ^^上兩個 ~100上100個
cat readme.txt                                // 查看readme.txt內容
git log                                       // 查看版本歷史記錄,被覆蓋的最新版本333已經看不到,按q退出查詢
git reflog                                    // 可以看到333內容的版本信息和對應的版本號
git reset --hard xxxxxx                       // 恢復到333內容的版本
cat readme.txt                                // 查看readme.txt內容

3、理解工作區與暫存區的區別

echo 444 >> readme.txt                        // 修改文件
echo test >> test.txt                         // 新增文件
git add readme.txt                            // 添加文件到暫存區
git add test.txt                              // 添加文件到暫存區
git commit -m "add files"                     // 把暫存區的文件提交到倉庫

4、撤銷修改

echo 555 >> readme.txt                        // 修改文件
cat readme.txt                                // 查看文件
git checkout -- readme.txt                    // 把文件在工作區做的修改全部撤銷
git 666 >> readme.txt                         // 修改文件
git add readme.txt                            // 添加文件到暫存區
echo 777 >> readme.txt                        // 修改文件
cat readme.txt                                // 查看文件
git checkout -- readme.txt                    // 把文件暫存區的修改保留,把工作區爲修改全部撤銷
cat readme.txt                                // 666還有,777不見了

5、刪除文件

echo b >> b.txt                               // 新建文件
git add b.txt                                 // 添加文件到暫存區
git commit -m "change file"                   // 提交暫存區的文件到倉庫
rm b.txt                                      // 刪除文件
git status                                    // 查看文件狀態
git checkout -- b.txt                         // 撤銷刪除文件

6、遠程倉庫

// 如何添加遠程庫
git remote add origin git-test(url)
git push -u origin master                     // 把本地master分支和遠程master分支關聯起來
                                              // 並把本地master分支的最新修改推送到github上
git push origin master                        // 把本地master分支的最新修改推送到github上

// 如何從遠程克隆
git clone git-test(url)

7、創建與合併分支

git branch                                    // 查看分支 *代表當前分支
git branch dev                                // 創建分支
git checkout dev                              // 切換分支
git checkout -b dev                           // 創建並切換分支
cat readme.txt
echo 777 >> readme.txt
cat readme.txt
git add readme.txt
git commit -m 'xxx'
git checkout master
cat readme.txt                                // 只有之前的內容666
git merge dev                                 // 在當前分支上合併dev內容
cat readme.txt                                // master上多了內容777
git branch -d dev                             // 刪除dev分支

// 如何解決衝突
git merge fenzhi1                             // 刪除衝突,再提交

// 分支管理策略 
git merge –no-ff  -m 'text' dev               // 合併分支,禁用‘Fast forward’模式,刪除後還能保留分支信息
git branch -d dev            
git log --graph --pretty=oneline --abbrev-commit    // 查詢被刪除的分支信息

8、bug分支

git status                                    // 有看到新增和修改的文件
git stash                                     // 將當前的工作現場隱藏起來
git status                                    // 隱藏之後,查看狀態,是乾淨的
git checkout -b issue-404                     // 創建和切換分支到issue-404
git add readme.txt                            // 把文件添加到暫存區
git commit -m 'fix some bug'                  // 把暫存區的文件提交到倉庫
git checkout master                           // 切換分支到master
git merge --no-ff -m 'merge issue-404' issue-404    // 合併issue-404分支
cat readme.txt                                // 當前master分支可以看到issue-404分支的內容,完全一致
git branch -d issue-404                       // 在master分支上刪除issue-404臨時分支
git checkout dev                              // 切換到dev分支
git status                                    // 查看狀態,還是乾淨的
git stash list                                // 查看隱藏的工作現場
git stash apply                               // 恢復工作現場
git stash drop                                // 刪除隱藏的一條工作現場記錄
git stash pop                                 // 恢復並刪除

9、多人協作

git clone git-test(url)                       // 克隆git-test項目
git pull origin master                        // 拉取master分支
git push origin master                        // 推送master分支
git pull origin dev                           // 拉取失敗
git branch --set-upstream dev                 // 解決分支衝突
git pull origin dev                           // 拉取成功 然後手動處理衝突
git push origin dev                           // 推送dev分支

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章