一、GIT基礎
1、初始化一個Git倉庫,使用git init命令。
2、添加文件到Git倉庫,分兩步:
使用命令git add <file>,注意,可反復多次使用,添加多個文件;
使用命令git commit -m <message>,完成。
3、要隨時掌握工作區的狀態,使用git status命令。
如果git status告訴你有文件被修改過,用git diff可以查看修改內容。
4、版本管理
HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本
Git是如何跟蹤修改的,每次修改,如果不用git add到暫存區,那就不會加入到commit中。
5、回退
場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD <file>,就回到了場景1,第二步按場景1操作。
6、刪除
命令git rm用于刪除一個文件。如果一個文件已經被提交到版本庫,那么你永遠不用擔心誤刪,但是要小心,你只能恢復文件到最新版本,你會丟失最近一次提交后你修改的內容
7、遠程倉庫
1)創建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
2)登陸GitHub,打開“Account settings”,“SSH Keys”頁面:
然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容
3)你已經在本地創建了一個Git倉庫后,又想在GitHub創建一個Git倉庫,并且讓這兩個倉庫進行遠程同步,這樣,GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作,真是一舉多得。
首先,登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫:
根據GitHub的提示,在本地的learngit倉庫下運行命令:
$ git remote add origin git@github.com:michaelliao/learngit.git
關聯后,使用命令git push -u origin master第一次推送master分支的所有內容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
****這種方法不行的話,可以本地新建目錄,從遠程克隆git clone git@gitlab.*.com.cn:mk/test.git,修改本地代碼如t1,修改git add t1、提交git commit -m altertest2,再拉git pull,最后推到遠程倉庫git push。
二、IDEA中的GIT使用
1、用命令克隆
找到路徑,右鍵git bash,在命令窗口
git clone git@gitlab.***.com.cn:air/airtest.git
2、使用Idea打開剛才clone的項目,在Settings->Version Control->Git中配置Git
3、配置忽略的屬性文件,在Settings->Version Control->Ignored Files中配置
4、選中要提交的文件右鍵提交
提交后就由紅色變綠色了
5、提交到遠程倉庫
提交成功后顯示就空了
遠程如果沒有的話,可以在項目那右鍵
在遠程倉庫看到就成功了
6、其他說明
每一步操作都可以在Version Control工具中的Console里看到對應的命令
創建分支,標簽,切換分支等等一系列Git的操作
log查看
刪除本地文件后 Git從遠程倉庫重新獲取
刪除本地文件后,想從遠程倉庫中從新Pull最新版文件。
Git提示:up-to-date,但未得到刪除的文件
原因:1、當前本地庫處于另一個分支中,需將本分支發Head重置至master.
git checkout master
git reset --hard
2、git 強行pull并覆蓋本地文件
git fetch --all?
git reset --hard origin/master
git pull
查參考:初次學習的Git的童鞋可以到此網站學習:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
官網教程:https://git-scm.com/book/zh/v2
IDEA中的GIT使用:https://my.oschina.net/u/2608182/blog/745178
http://www.lxweimin.com/p/b02df380e170
https://blog.csdn.net/huangfan322/article/details/53220060
https://blog.csdn.net/autfish/article/details/52513465
https://blog.csdn.net/ffscript/article/details/74450821