git常用命令及手動關聯git本地和遠端倉庫
SilentLove發表於2018-11-08
1、應用場景
- 通常情況下,我們一般都是現在git遠端倉庫建立專案,然後直接git clone 倉庫地址直接本地,這時候就會自動關聯本地倉庫和遠端倉庫。
- 當有時候我們需要手動的把原生程式碼提交到遠端,關聯到遠端的倉庫。
2、關聯git本地和遠端倉庫步驟
- 開啟git,輸入mkdir newProject 新建一個資料夾。
- git init 初始化本地資料夾為一個可以管理的git倉庫。
- 關聯本地倉庫和遠端倉庫:git remote add origin http://${path}.git.
- 把檔案放入本地倉庫
- git status // 列出沒有被git管理或者修改但還沒有未被提交的檔案
- git add . // 將未被管理的檔案新增到git
- git commit -am "提交檔案"
- 把本地庫推送到遠端倉庫
- git push -u origin master
- ps:當遠端倉庫使用Readme檔案初始化專案,需要先git pull origin master,有固定格式時需手動編輯,按i修改,:wq退出
- 切換本地開發分支並管理遠端分支
- git checkout -b topic // 建立並切換到topic新分支,相當於git branch topic 和git checkout topic 組合
- git push origin topic:topic // 關聯本地topic分支和遠端topic分支 (沒有將自動建立topic分支並關聯)
3、git 常用命令
- 開發四部曲。
- git add .
- git commit -a "commit" / git commit -am "commit"
- git pull origin master
- git push origin master
- 程式碼衝突。
- 解決衝突
- git add .
- git rebase --continue (或者再次git commit)
- git push origin master
- git 分支管理
- git fetch (-p) // branch在伺服器上的最新狀態
- git branch (-a) // 檢視所有branch
- git branch newBranch // 本地建立branch
- git checkout branch // 切換branch
- git checkout -b topic // 建立並切換到topic新分支
- git push origin topic:topic // 關聯本地topic分支和遠端topic分支
- git branch --set-upstream-to=origin/topic topic //設定本地topic的上游及遠端分支(設定之後git pull將預設從遠端topic分支可拉取程式碼,git push將預設推送程式碼到遠端topic分支)
- ......
- git版本管理
- git reset --hard HEAD^ // 回退上一個版本
- git reset --hard HEAD~3 // 回退上三個版本
- git reset --hard 版本號 // 回退指定版本
- git遠端版本回退
- git checkout target_branch // 切換到需要回滾的分支
- git pull //更新程式碼
- git branch target_branch_copy //備份一下這個分支當前的情況
- git reset --hard target_commit_id //把target_branch本地回滾到target_commit_id
- git push origin :target_branch //刪除遠端 target_branch
- git push origin target_branch //用回滾後的本地分支重新建立遠端分支
- git push origin :target_branch_copy //如果前面都成功了,刪除這個備份分支
- git 大小寫不敏感問題
- 修改配置項
- 專案根目錄下,ll -a
- cd .git/ 進入.git/檔案下,ll -a
- 修改config配置檔案 vim config
- ignorecase = false
- :wq退出儲存
ps: 或者直接通過命令:git config core.ignorecase false
- 修改檔名,提交。
- ps:多人協作時不建議使用,大小寫不統一時更新會報錯。建議提交後再把配置項修改為true。
- 重新命名
- git mv oldName newName
- git status
- 可以看到rename的提示,此時正常提交即可。
4、 其它
- git的命令遠不止於此,本文只是類舉出使用git的常用場景及命令。
- 如有疑問和錯誤歡迎提出和指正。