首先git是什么就詳細介紹了收捣,用過git都知道它比svn的方便
安裝Git
Windows平臺安裝Git,下載地址:https://git-scm.com
安裝成功后缀辩,桌面右鍵,出現(xiàn)如下圖標表示安裝成功
here,here
初次使用的用戶
-
用戶信息
- 第一個要配置的是你個人的用戶名稱和電子郵件地址弱睦。這兩條配置很重要百姓,每次 Git 提交時都會引用這兩條信息,說明是誰提交了更新况木,所以會隨更新內(nèi)容一起被永久納入歷史記錄:
$ git config --global user.name "username" $ git config --global user.email "email@example.com"
-
為了方便以后使用可以設置SSH公鑰
$cd ~/.ssh //切換到相應目錄瓣戚,安裝位置 $ls id_rsa id_rsa.pub known_hosts //如果是初次,ls里面是沒有這幾個文件的. //.pub 文件是你的公鑰端圈,另一個則是私鑰。 如果找不到這樣的文件(或者根本沒有 .ssh 目錄)子库,你可以通過運行 ssh-keygen 程序來創(chuàng)建它們 $ssh-keygen //連續(xù)回車3次 $ cat ~/.ssh/id_rsa.pub //用于查看公鑰
image.png
- 創(chuàng)建登錄git賬號
- 網(wǎng)址:https://github.com/
- 設置公鑰如下
image.png
將上面的公鑰復制粘貼
image.png
-
開始干正事
-
git上創(chuàng)建一個線上創(chuàng)庫
image.png
-
關鍵來了
//cd到創(chuàng)建的文件夾下
錯誤提示技解決
image.png
出現(xiàn)這種錯誤是因為沒有在github賬號添加SSH key
解決方法
$ ssh-keygen -t rsa -C "username" //連續(xù)回車
//如果執(zhí)行成功
$ cat ~/.ssh/id_rsa.pub //用于查看生成的公鑰
//將公鑰保存到 GitHub 中即可
下面重點舱权、重點、重點開始進入使用階段
- git使用教程網(wǎng)上已經(jīng)很豐富了仑嗅,可以自行查閱宴倍,這里推薦Git教程 - 廖雪峰的官方網(wǎng)站
-
Git忽略規(guī)則.gitignore梳理
初學者可先忽略此教程
- 這里主要介紹工作中可能遇到問題
項目團隊不大,幾人開發(fā)仓技,應該使用的都是同一分支鸵贬,開發(fā)者在開發(fā)不同模塊,沒有修改共同文件時脖捻,這個時候即使不做commit,拉去代碼也是成功的阔逼,建議先提交再拉去
拉去出現(xiàn)沖突,此時需要我們先手動解決沖突地沮,再提交推送嗜浮,新推薦一個軟件Visual Studio Code前端開發(fā)利器,很好的支持Git相關操作摩疑,小烏龜也不錯危融,都挺輕量級工具
命令行
$ git diff
diff --cc gitTest/a.md
index 69367ae,62e065d..0000000
--- a/gitTest/a.md
+++ b/gitTest/a.md
@@@ -1,1 -1,2 +1,6 @@@
++<<<<<<< HEAD
+A first edit + 1+1
++=======
+ A first edit
+ K first edit
++>>>>>>> 18be8efb5fc2ab2ec6c65bdd9fb01edf3d48cd72
沖突文件a.md,vi 命令修改也行
<<<<<<< HEAD
A first edit + 1+1
=======
A first edit
K first edit
>>>>>>> 18be8efb5fc2ab2ec6c65bdd9fb01edf3d48cd72
//修改后內(nèi)容如下
$ cat a.md
A first edit + 1+1
K first edit
//此時沖突已解決,提交自己的代碼雷袋,add吉殃、commit、push
- 多人開發(fā)使用分支楷怒,常見問題(分支合并)
//創(chuàng)建并且換到dev分支
$ git checkout -b dev
//查看當前分支
$ git branch
* dev //* 表示當前分支
master
在dev分支修改a.md文件
$ cat a.md
A first edit + 1+1
K first edit
A dev first edit //這里是添加的一行
//提交并推
這里提交到了我們自己分支蛋勺,真正發(fā)版的文件還是master
分支中的文件,所以我們把dev
分支的工作成果合并到master
分支上
//先切換到master分支
$ git chechout master
//查看當前分支
$ git branch
dev
* master
//可以查看devmaster分支狀態(tài)鸠删,發(fā)現(xiàn)是沒有修改的迫卢,因為我們修改的是dev
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
//合并分支
$ git merge dev
Updating 52d9df0..fd715db
Fast-forward
gitTest/a.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
//查看合并后的a.md
$ cat a.md
A first edit + 1+1
K first edit
A dev first edit //此時master文件已經(jīng)被修改
//后面我們可以刪除dev分支或者繼續(xù)切換到dev分支上繼續(xù)玩耍
$ git branch -d dev //刪除分支命令
Deleted branch dev (was b17d20e).
- 另一種場景,K同事在A同事合并之前提交代碼到
master
分支
//先切換到master分支冶共,拉去代碼,并解決沖突
//再接著必須add 每界、commit沖突文件捅僵,否則無法merge
$ git merge dev
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
//開始合并
$ git merge dev
Auto-merging gitTest/a.md
CONFLICT (content): Merge conflict in gitTest/a.md //合并出現(xiàn)沖突,那就解決
Automatic merge failed; fix conflicts and then commit the result.
//之后重復上面提交眨层,最后push ,master分支已經(jīng)是最新的了
既然master
最新的了庙楚,dev
分支也是要更新的,切換到dev
分支重復上面工作
期間可能會遇到其他問題趴樱,請在評論區(qū)留言馒闷,相互討論酪捡,一些使用小技巧需要多注意下,可以提高開發(fā)效率
希望對你有所幫助