git的基本操做---就看我這一篇就足夠了!!!!!

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8   html

 

簡易的命令行入門教程:

Git 全局設置:vue

git config --global user.name "coder-lzh" git config --global user.email "657083979@qq.com"

建立 git 倉庫:java

mkdir vue-shop cd vue-shop git init touch README.md git add README.md git commit -m "first commit" git remote add origin git@gitee.com:lzh1995/vue-shop.git git push -u origin master

已有倉庫?git

cd existing_git_repo git remote add origin git@gitee.com:lzh1995/vue-shop.git git push -u origin master

 git push -u origin master   這個時候-u選項會指定一個默認主機,這樣後面就能夠不加任何參數使用git pushgithub

 上面命令將本地的master分支推送到origin主機,同時指定origin爲默認主機,後面就能夠不加任何參數使用git push了。centos

 

 

git 切換遠程倉庫地址

方式一:修改遠程倉庫地址bash

【git remote set-url origin URL】 更換遠程倉庫地址,URL爲新地址。

方式二:先刪除遠程倉庫地址,而後再添加ssh

【git remote rm origin】 刪除現有遠程倉庫 【git remote add origin url】添加新遠程倉庫

git remote -v   查看遠程倉庫的地址fetch

 

 

 

git操做項目的大體步驟。

git init    //初始化一個本地倉庫。
 git add . //添加文件
 git commit -m '提交內容'  //提交到本地倉庫
 git status //查看狀態 變紅是說明文件尚未add 變綠說明文件已經add 可是尚未commit 提交完以後就會顯示沒有文件能夠提交了
 git pull url master //拉取遠程倉庫的代碼到master主分區 不寫master則默認推送到master
 git push url master //推送本地的代碼到遠程倉庫主分區 

設置遠程origin地址

git remote -v 查看遠程origin git remote rm origin 刪除遠程origin git remote add origin xx.git //添加git地址

將本地的項目第一次提交到github

git remote add origin 遠程倉庫地址

git pull origin master --allow-unrelated-histories 後面加上  , 把兩段不相干的 分支進行強行合併 git push
origin master--allow-unrelated-histories

添加變化

git add . //提交全部新增文件和變化文件,不包括被刪除文件
 git add * //功能同上
 git add -u //提交被修改和被刪除文件,不包括新文件
 git add -A //提交全部變化
 git add a.txt //提交a.txt

//git add命令能夠提交屢次,在git commit以前,告訴git,把文件添加到倉庫暫存區

 分支

git branch dev    //建立dev分支
 git checkout dev //切換到dev分支
 git checkout -b dev      //-b參數表示建立並切換至關於 git branch dev 再 git checkout dev
 git branch //顯示全部分支,當前分支前有 * 號
 git merge dev //合併dev到主幹(快進模式:直接將master分支指向dev的提交)
 git branch -d dev //刪除分支 -D 強制刪除

git clone -b dev 代碼倉庫地址 (dev是遠程分支名稱) -- 直接將遠程的分支拉去下來,而不用再拉去master 而後再切換遠程分支


//使用下面兩條命令來刪除遠程分支(任意一種就能夠)
  1. git branch -r -d origin/branch-name
  2. git push origin :branch-name          //branch-name是遠程分支名

 

本地的dev分支推送到遠程的分支上。

git push origin dev:dev  //意思是將本地的dev分支推送到遠程的dev分支上。若是沒有遠程的dev,就建立,者僅僅是第一次創建關係。一旦創建好以後,本地的再次推送就 git push origin dev 就ok了。url

注意  還須要綁定一下遠程地址的分支,若是不關聯,你Git push 的時候  會提示你

$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin dev

把本地的新分支,和遠程的新分支關聯

git push --set-upstream origin newbranch     (!!!!!!newbranch 是遠程分支的名字)

git branch -vv   -- 查看遠程分支的對應本地分支的關係

 

git push origin dev:master //意思是把本地的dev推送到遠程的master分支。






拉取遠程分支並建立本地分支

git checkout -b dev origin/dev,做用是checkout遠程的dev分支,在本地起名爲dev分支,並切換到本地的dev分支

git fetch     //通常在遠程新建一個分支的話,你直接查看是看不到的,要先執行這個命令,而後才能看到。

git branch -a     // 查看全部的分支

git branch -r    //查看遠程分支

 

 

 

如何將分支指定的文件提交

場景:好比說dev分支,你想將dev分支上面的1.txt 文件合併到master分支上面。

切換到master分支

 git checkout dev ./src/java2/1.txt    //後面是相對路徑

注意:這種會把合併的文件強制覆蓋!!!!不推薦!!!!

 

如何指定將分支的commit合併

 git log 查看commit提交獲得 68dd8e579c65050be6238360ee1efee454a0e3d0 這類的數據

 git cherry-pick 68dd8e579c65050be6238360ee1efee454a0e3d0    意思是合併這個分支

 

 

pull的時候出現  refusing to merge unrelated histories  錯誤

git pull origin master --allow-unrelated-histories  

 

 查看日誌

git log //顯示每一次提交的信息:做者、日期、hash、commit信息
 git log --pretty=oneline //單行顯示提交信息:hash、commit信息
 git reflog //提交信息:hash、commit信息

 版本控制

 
 

  git reset --hard HEAD^ //倉庫文件回退到上一commit版本

git reset --hard 35f69c //版本回滾到hash值35f69c開頭的commit版本 特別注意:這個會讓你本地的文件消失!!!!!!!!!!!!

第二種方法
git reflog --查看全部提交的信息
而後 git reset HEAD~2 --說明是退回到上面記錄的2的版本 ,這個退回 你本地的文件不會消失 你只須要從新add就行。推薦這個!!!!!!!!!!1
推薦博客 :https://www.cnblogs.com/flowwind/p/4222247.html

 ======修改了文件,執行了add操做 可是沒有執行commit操做
git reset HEAD a.txt //把暫存區中a.txt的修改撤銷掉,放回工做區



=======修改了文件,可是還麼有執行add操做
git checkout fileName //把修改的文件還原到修改以前




查看本地文件作了哪些修改 

git diff 文件名 按 q 退出 

 如何解決failed to push some refs to git

能夠經過以下命令進行代碼合併【注:pull=fetch+merge] git pull --rebase origin master 此時再執行語句 git push origin master便可完成代碼上傳到github

 解決錯誤  remote: Incorrect username or password ( access token )

解決辦法:清除本地的gitee用戶名和密碼 git config --system --unset credential.helper 再執行推送,從新輸入用戶名和密碼。

 

 每次提交都須要填寫密碼這個問題

若是咱們git clone的下載代碼的時候是鏈接的https://而不是git@git (ssh)的形式,當咱們操做git pull/push到遠程的時候,老是提示咱們輸入帳號和密碼才能操做成功,頻繁的輸入帳號和密碼會很麻煩。

 

解決辦法:

git bash進入你的項目目錄,輸入:

git config --global credential.helper store

而後你會在你本地生成一個文本,上邊記錄你的帳號和密碼。固然這些你能夠不用關心。

而後你使用上述的命令配置好以後,再操做一次git pull,而後它會提示你輸入帳號密碼,這一次以後就不須要再次輸入密碼了

相關文章
相關標籤/搜索