背景:
1.電腦安裝了Git
2.註冊了Github的賬號
3.將本地的Git和github賬號綁定
git config --global user.name "用戶名" git config --global user.email "郵箱地址"
4.生成了本地的SSHKey並與github相配置(博客)
ssh-keygen -t rsa -C [email protected]
使用本地Git Bash管理項目:
1.點擊github首頁的 New repository 按鈕創建空項目
2.在項目根目錄打開 Git Base Here,輸入:
git init
此時,項目中會生成 .git 隱藏文件夾。
3.繼續在控制檯輸入:
git remote add origin https://github.com/xaioheilj/SpringBoottest1.git
手動輸入的命令主要是
git remote add origin
,後面地址爲創建的項目生成地址(Clone or download )中,這一步是git添加遠程庫有可能出現如下的錯誤,
怎麼解決?
只要兩步:
先刪除
1
$ git remote rm origin
再次執行添加就可以了。
4.遠程倉庫合併到本地倉庫
git pull --rebase origin master
執行git pull –rebase有可能報錯誤如下:
error: Cannot pull with rebase: You have unstaged changes.
error: Additionally, your index contains uncommitted changes.原因:如果有未提交的更改,是不能git pull的
解決:先執行git stash,再執行git pull –rebase,最後再執行git stash pop
git stash #可用來暫存當前正在進行的工作
git stash pop #從Git棧中讀取最近一次保存的內容5.順序執行以下三條命令
git add .
add . 表示添加全部已更改的文檔,也可以單獨選擇文檔,例如:
git add README.md
git commit -m "first day code"
雙引號中內容是本次的提交說明,類似記錄小標題
git push -u origin master
這一步就可以把本地文件推送到 github 中
6.常用:
//非常常用 git init:本地項目初始化 git add:編輯區添加暫存區 git commit:暫存區提交到分支 git push:同步到遠程倉庫 git remote:創建遠程主機名 git clone:克隆項目到本地 git pull:拉取項目代碼 git branch:查看分支 git branch name:創建分支 git checkout:切換分支 git merge:合併分支 git log:查看歷史版本 git reset:回覆版本 git reflog:查看命令記錄 git init // 初始化 在工作路徑上創建主分支 git clone 地址 // 克隆遠程倉庫 git clone -b 分支名 地址 // 克隆分支的代碼到本地 git status // 查看狀態 git add 文件名 // 將某個文件存入暫存區 git add b c //把b和c存入暫存區 git add . // 將所有文件提交到暫存區 git add -p 文件名 // 一個文件分多次提交 git stash -u -k // 提交部分文件內容 到倉庫 例如本地有3個文件 a b c 只想提交a b到遠程倉庫 git add a b 然後 git stash -u -k 再然後git commit -m "備註信息" 然後再push push之後 git stash pop 把之前放入堆棧的c拿出來 繼續下一波操作 git commit -m "提交的備註信息" // 提交到倉庫 若已經有若干文件放入倉庫,再次提交可以不用git add和git commit -m "備註信息" 這2步, 直接用 git commit -am "備註信息" // 將內容放至倉庫 也可用git commit -a -m "備註信息" * git commit中的備註信息儘量完善 養成良好提交習慣 例如 git commit -m "變更(範圍):變更的內容" git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short // 獲取git log裏的樹形詳細信息 包括hasg 日期 提交信息 提交人等 git log --oneline //拉出所有提交信息 q是退出 git log -5 // 查看前5次的提交記錄 git log --oneline -5 // 打印出的日誌裏面只有哈希值和修改的內容備註 git log 文件名 // 查看該文件的提交 git log --grep // 想過濾看到的內容 過濾日誌 git log -n // 查看近期提交的n條信息內容 git log -p // 查看詳細提交記錄 git commit --amend -m "提交信息" // 回撤上一次提交併與本次工作區一起提交 git reset HEAD~2 --hard // 回撤2步 git reset --files // 從倉庫回撤到暫存區 git reset HEAD // 回撤暫存區內容到工作目錄 git reset HEAD --soft 回撤提交到暫存區 git reset HEAD --hard // 回撤提交 放棄變更 (慎用) git reset HEAD^ // 回撤倉庫最後一次提交 git reset --hard commitid // 回撤到該次提交id的位置 git push -f -u origin 分支名 所有內容都回撤完了 將回撤後的操作強制推送到遠程分支 git branch 分支名 // 新建分支 git branch // 查看當前所有分支 git checkout 分支名 // 檢出分支 git checkout -b 分支名 // 創建並切換分支 git checkout commitId 文件名(文件路徑下的文件名) 還原這個文件到對應的commitId的版本 (例如src/page/attendance/attendanceSum.vue我想把它還原到2個版本之前 首先git log src/page/attendance/attendanceSum.vue找到對應想要還原的版本 複製版本提交的commitID 然後執行git checkout commitID src/page/attendance/attendanceSum.vue 這樣就把attendanceSum.vue這個單個文件 還原到了對應版本) git branch -v // 查看分支以及提交hash值和commit信息 git merge 分支名 // 把該分支的內容合併到現有分支上 git branch -d 分支名 // 刪除分支 git branch -D 分支名 // 強制刪除 若沒有其他分支合併就刪除 d會提示 D不會 git branch -m 舊分支名 新分支名 // 修改分支名 git branch -M 舊分支名 新分支名 // 修改分支名 M強制修改 若與其他分支有衝突也會創建(慎用) git branch -r // 列出遠程分支(遠程所有分支名) git branch -a // 查看遠程分支(列出遠程分支以及本地分支名) git fetch // 更新remote索引 git push -u origin 分支名 // 將本地分支推送到origin主機,同時指定origin爲默認主機,後面就可以不加任何參數使用git push 也可解決 git建立遠程分支關聯時出現fatal ... upstram的問題
IDEA使用Git:
1.Files->settings->Version Control->Git->Path to Git executable: 設置爲本地安裝的Git的bin目錄下的git.exe
2.Files->settings->Version Control->GitHub->Create API Token:爲github設置賬號密碼
3.登陸github.com,然後點擊右上角賬號左邊的加號,點擊New repository創建倉庫
4.VCS->import into Version Control->Create Git Repository->本地項目倉庫地址
5.右鍵項目->Git->Add
6.右鍵項目->Git->Commit Directory,在Commit Message 輸入一些提交信息, 然後點擊 Commit And Push
7.點擊Define remote,並輸入在github創建的倉庫地址
8.提交改動:CTRL+K,就會彈出提交的界面,點擊Commit and Push
9.更新:Ctrl+T,就會彈出更新的界面,點擊OK即可
10.IDEA中使用Git進行指定版本回退:博客,當本地代碼已經回退到oldVersion,這時候如果直接push到遠程倉庫,會提示版本衝突,點擊“cancel”取消。 推薦使用其中的方法二解決!!
本地項目的處理:
在 .gitignore 中設置無需上傳的文件,例如 node_modules 這個文件夾佔用空間大,而且其他人下載項目後可以自行安裝這個文件夾中的包。
因此,我們在 .gitignore 中寫入 node_modules/,Git就知道跳過這個文件啦。
README.md 是項目的說明文檔,當你在 github 中新建項目時可以選擇生成這個文件。
此外,還可以在項目中提前加入 LICENSE 文件,也就是許可證文件(爲了後面演示 pull 我本次未提前添加此文件)。
具體選擇哪種 LICENSE 看個人需求,想了解詳情可以網上搜索,引入阮一峯老師的一張圖做參考。