Git與Github常見問題與解決方案

2021-07-24 12:05:29 字數 2082 閱讀 9642

本文介紹了在github中使用git常見的問題和解決方法,包括ssh配置,回滾,衝突解決等等內容。

配置ssh key

ssh-keygen -t rsa -b 4096 -c "[email protected]"

遇到提示不斷回車就行

找到生成的key

cd ~/.ssh找到id_rsa.pub這是你的rsa公鑰,複製,然後開啟**:

選擇newsshkey,把你的公鑰貼上進去。

設定全域性變數

git config --global user.name "username"

git config --global user.email [email protected]開始轉殖github的專案,進入你專案的比如說: ,找到clone ,點它,它會給你個位址,然後記住那個位址。.git

將該專案轉殖到本地

git clone .git

或者你沒有遠端的目錄也可以在本地弄乙個,新建乙個目錄,然後進去,git init就可以了。

git pull可以從遠端倉庫更新**到本地

git push -u origin master可以將你commit的**推送到master分支

git checkout -b mybranch新建並切換到mybranch分支

git checkout master切換分支到master

git branch -d mybranch刪除mybranch分支

比如,如果要將開發中的分支(develop),合併到穩定分支(master),

首先切換的master分支:git checkout master。

然後執行合併操作:git merge develop。

git remote add upstream 

git fetch upstream

git merge upstream/master

git log檢視提交的歷史commit以及他的id

git revert是撤消該commit,作為乙個新的commit。

git revert是生成乙個新的提交來撤銷某次提交,此次提交之前的commit都會被保留(這個方法是一般的做法,並不會刪除任何commit,而是以乙個新的commit形式去做回滾操作)

git reset是回到某次提交,提交及之前的commit都會被保留,但是此次之後的修改都會被退回到暫存區(使用reset前請三思,因為他會將你所有的檔案與記錄都刪掉的)

當你做了某個commit,但是又不想要了,想要刪除,可以使用以下方法刪除:

git rebase -i head~10

這裡的10意味著rebase最近的10條記錄,輸入這條命令後,會讓你選擇刪除哪條commit,保留哪條commit,非常好用。這方法參考了stackoverflow

當然,如果你不介意丟失檔案操作的話,可以使用git reset --hard這會刪除掉你所有的資料,強制回滾到commit的那個狀態,非常麻煩後果很嚴重,不建議使用。

git reset --soft還有乙個soft模式,這個我沒用過,可能沒有hard的後果嚴重。

如果你遇到這樣的錯誤:

please commit your changes or stash them before you merge.就證明你有檔案衝突了

有兩種解決方法:

1.git stash,注意!這個方法會將你的所有操作全部刪除,回滾到沒衝突的狀態。然後使用git pull就可以解決衝突了。

2.git mergetool另外還有一些基礎的教程:

github常見問題

如果輸入 git remote add origin git github.com djqiang github帳號名 gitdemo 專案名 git 提示出錯資訊 fatal remote origin already exists.解決辦法如下 1 先輸入 git remote rm origi...

git常見問題

如果輸入 git remote add origin git github.com djqiang github帳號名 gitdemo 專案名 git 提示出錯資訊 fatal remote origin already exists.解決辦法如下 1 先輸入 git remote rm origi...

git 常見問題

1.正常做專案 2.別人打了comment,自己需要打patch fix comment issue git add git rm filepath git commit amend change commit msg if necessary git push u origin your dev ...