github常用命令匯總

來源:互聯網
上載者:User

標籤:常用命令   抓取   ril   cto   lis   update   comm   刪除檔案   div   

創立版本庫

mkdir Baidu
cd Baidu
git init

 


SSH
ssh-keygen -t -rsa -C "[email protected]"
(在github上new SSH,內容為id_rsa.pub)

 

 

添加遠程庫
(github上建立git倉庫,選擇REAMDE.md)
git remote add origin [email protected]:TaylorApril/Baidu.git
git push -u origin master
(報錯)
git pull --rebase origin master
git push -u origin master
git push origin master

 

 

提交(檔案名稱字read.txt)
git add read.txt
(所有檔案 git add .)
git commit -m "解說文字"
git push

 


版本回退
(查看最近到最遠提交日誌)
git log --prtty=oneline
(回退版本計數:HEAD^上一個版本、HEAD~100上與100個版本)
git reset --hard HEAD^
(回退版本號碼:回退版本commit id為3628df)
git reset --hard 3628df
(想要恢複:使用命令記錄來找回commit id回退)
git reflog

 


撤銷修改

———>              git add files              git commit
working directory--------------stage-------------history
<———         git checkout --files         git reset --files

 

 

刪除檔案(read.txt)
rm read.txt
(從版本庫中刪除)
git rm read.txt
git commit -m "delete"
(刪錯了)
git checkout -- read.txt

 

 

分支(分支名字dev)
建立分支:git branch dev
切換分支:git checkout dev
建立+切換分支:git checkout -b dev
查看當前分支:git branch
切換回master分支:git checkout master
合并指定分支到當前分支:git merge dev
(fast-forward 快進模式)
刪除分支:git branch -d dev

 


解決衝突(分支名字fea)
衝突原因:master和Dev同時增長。
git checkout -b fea
(修改Creating a new branch is quick AND simple.)
git add read.txt
git commit -m "fea"
git checkout master
(修改Creating a new branch is quick & simple.)
git addread.txt
git commit -m "master"
(此時形成了master和fea各自指著一個分支)
git merge fea
(合并錯誤,git status , cat read.txt可以查看)
(修改read.txt的常值內容 Creating a new branch is quick and simple.)
git add read.txt
git commit -m “conf”
(現在master和fea指向同一個人點了,git log可查看合并情況)
git branch -d fea

 


分支管理原則(--no-ff)(分支名字dev 檔案名稱字read.txt)
git checkout -b dev
git add read.txt
git commit -m "dev"
git checkout master
(注意下個參數--no-ff,表示禁用fast forward)
(fast forward合并看不出曾經做過合并,而--no-ff參數合并後的曆史有分支,negative看出曾經做過合并)
git merge --no-ff -m "merge with --no-ff" dev
(查看分支曆史 git log --graph --pretty=oneline --abbrev-commit)

 


bug分支(bugg分支為要解決bug的分支)
思想:當手頭還有工作時,先將工作現場git stash(避免bug修複好後將為完成的工作一起提交),然後修複bug、提交之後,在用git stash pop將原來的工作顯示在工作區 。
(git status查看狀態)
git stash
git checkout -b bugg
(修改bug後)
git add bugg.txt
git commit -m "fixed bug"
git checkout master
git merge --no-ff -m "merge bug" bugg
git branch -d bugg
(接下來回到dev上繼續工作)
git checkout dev
(查看工作區git status)
(用git stash list查看)
git stash list
(恢複的第一種方法:恢複的同時把stash內容同時刪除)
git stash pop
(恢複的第二種方法:恢複的同時不刪除stash內容)
git stash apply
(若使用第二種方法想刪除stash則用git stash drop)
(若是多個檔案stash 可用git stash apply [email protected]{0}恢複指定的stash)

 


feature分支(分支為dev)
(在沒完全完成合併時強行刪除)
git branch -D dev

 


多人協作
(查看遠程庫資訊)
git remote
(查看遠程庫更詳細資料)
git remote -v

推送dev分支
git push origin dev

抓取分支
(複製)
git clone [email protected]:TaylorApril/test.git
(查看能見分支 git branch)
(在dev分支上開發,建立遠程origin的dev分支到本地)
git checkout -b dev origin/dev
(修改後,進行提交)
git commit -m "add"
git push origin dev
(在他提交之後你再push的情況時)
(指定本地dev分支與遠程origin分支連結)
git branch
git pull
git commit -m "fixed"
git push

 

 

報錯

報錯1

$ git push -u origin master
To [email protected]:TaylorApril/test.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to ‘[email protected]:TaylorApril/test.git‘
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull ...‘) before pushing again.
hint: See the ‘Note about fast-forwards‘ in ‘git push --help‘ for details.


解決:
git pull --rebase origin master
git push -u origin master

 

報錯2

$ git checkout master
Switched to branch ‘master‘
Your branch is ahead of ‘origin/master‘ by 1 commit.
(use "git push" to publish your local commits)

解決:
git push

github常用命令匯總

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.