日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git上传Github及基本操作

發布時間:2025/3/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git上传Github及基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
git config --global user.name "github’s Name" git config --global user.email "github@xx.com" git config --list

隔段時間傳一次GitHub,總忘記怎么傳的,現在總結一下:

cd ~/ #repo. name git init git add . git commit -m 'remarks' git remote add origin url.git git pull --rebase origin master git push -u origin master

mac查看.git目錄:

defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder

更新倉庫

1.使用強制push的方法:

git push -u origin master -f

這樣會使遠程修改丟失,一般是不可取的,尤其是多人協作開發的時候。

2.push前先將遠程repository修改pull下來

git pull origin mastergit push -u origin master

3.若不想merge遠程和本地修改,可以先創建新的分支:

git branch [name]

然后push

git push -u origin [name]

?

有時候會遇到要上傳空文件夾到遠程服務器的情況,在這里我提供了將空文件夾上傳到github倉庫中的方法的完美方案(創建無關文件,刪除無關文件)。眾所周知,git僅僅跟蹤文件的變動,不跟蹤目錄。

方法:先在目錄下的所有空文件夾下,創建一個無關文件(.gitxxx文件)。

在項目的根目錄下輸入命令行(用Git Bash Here打開),

find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitxxx \;


這樣,在目錄下的所有空文件夾下,就有.gitxxx文件了。此時,你可以上傳此項目到遠程服務器了,相信大家還有一個困惑,空文件夾下的.gitxxx文件,并不是我們 想看到的,所有在開發到一定階段時,我們可以通過命令行刪除所有的.gitxxx文件(無關文件)
刪除當前目錄下的.gitxxx文件

find ./ -type f -name '.gitxxx' -delete


這樣,你就可以把目錄下的所有.gitxxx文件刪除了。
?

Pull request:

Pull Request 是開發者使用 GitHub 進行協作的利器。這個功能為用戶提供了友好的頁面,讓提議的更改在并入官方項目之前,可以得到充分的討論。

最簡單地來說,Pull Request 是一種機制,讓開發者告訴項目成員一個功能已經完成。一旦 feature 分支開發完畢,
開發者使用 GitHub 賬號提交一個 Pull Request。它告訴所有參與者,他們需要審查代碼,并將代碼并入 master 分支。
Pull Request 不只是一個通知,還是一個專注于某個提議功能的討論版

Pull Request是如何工作的

Pull Request 需要兩個不同的分支或是兩個不同的倉庫,

  • 開發者在他們的本地倉庫中為某個功能創建一個專門的分支。
  • 開發者將分支推送到公共的 GitHub 倉庫。
  • 開發者用 GitHub 發起一個 Pull Request。
  • 其余的團隊成員審查代碼,討論并且做出修改。
  • 項目維護者將這個功能并入官方的倉庫,然后關閉這個 Pull Request。
  • 例子

    如何將 Pull Request 用在 Fork 工作流中。小團隊中的開發和向一個開源項目貢獻代碼都可以這樣做。

    Mary 是一位開發者,John 是項目的維護者。他們都有自己公開的 GitHub 倉庫,
    John 的倉庫之一便是下面的官方項目。
    為了參與這個項目,Mary 首先要做的是 fork 屬于 John 的 GitHub 倉庫。她需要注冊登錄 GitHub,找到 John 的倉庫,點擊 Fork 按鈕。

    選好 fork 的目標位置之后,她在服務端就有了一個項目的副本.

    接下來,Mary 需要將她剛剛 fork 的 GitHub 倉庫克隆下來.她在本地會有一份項目的副本。她需要運行下面這個命令:

    git clone https://github.com/user/repo.git

    請記住,git clone 自動創建了一個名為 origin 的遠端連接,指向 Mary 所 fork 的倉庫

    在她寫任何代碼之前,Mary 需要為這個功能創建一個新的分支。這個分支將是她隨后發起 Pull Request 時要用到的源分支

    # 創建新分支 git checkout -b some-feature # 編輯一些代碼 git commit -a -m "新功能的一些草稿" #切換分支 git checkout ----

    為了完成這個新功能,Mary 想創建多少個提交都可以。如果 feature 分支的歷史有些亂,她可以使用交互式的 rebase 來移除或者拼接不必要的提交。對于大項目來說,清理 feature 的項目歷史使得項目維護者更容易看清楚 Pull Request 的所處的進展

    在功能完成后,Mary 使用簡單的 git push 將 feature 分支推送到了她自己的 GitHub 倉庫上(不是官方的倉庫):

    git push origin some-branch

    這樣她的更改就可以被項目維護者看到了(或者任何有權限的協作者)。

    Mary創建了一個Pull Request

    GitHub 上已經有了她的 feature 分支之后,Mary 可以找到被她 fork 的倉庫,點擊項目簡介下的 New Pull Request 按鈕,用她的 GitHub 賬號創建一個 Pull Request。Mary 的倉庫會被默認設置為源倉庫(head fork),詢問她指定源分支(compare)、目標倉庫(base fork)和目標分支(base)。

    Mary 想要將她的功能并入主代碼庫,所以源分支就是她的 feature 分支,目標倉庫就是 John 的公開倉庫,目標分支為 master。她還需要提供一個 Pull Request 的標題和簡介。


    在她創建了 Pull Request 之后,GitHub 會給 John 發送一條通知。

    John審查了這個Pull Request


    John 可以在他自己的 GitHub 倉庫下的 Pull Request 選項卡中看到所有的 Pull Request。點擊 Mary 的 Pull Request 會顯示這個 Pull Request 的簡介、feature 分支的提交歷史,以及包含的更改。

    如果他認為 feature 分支已經可以合并了,他只需點擊 Merge Pull Request 按鈕來通過這個 Pull Request,將 Mary 的 feature分支并入他的 master 分支.
    但是,在這里例子中,假設 John 發現了 Mary 代碼中的一個小 bug,需要她在合并前修復。他可以評論整個 Pull Request,也可以評論 feature 分支中某個特定的提交。

    為了修復錯誤,Mary 在她的 feature 分支后面添加了另一個提交,并將它推送到了她的 GitHub 倉庫,就像她之前做的一樣。這個提交被自動添加到原來的 Pull Request 后面,John 可以在他的評論下方再次審查這些修改。

    John 接受了 Pull Request

    最后,John 接受了這些修改,將 feature 分支并入了 master 分支,關閉了這個 Pull Request。功能現在已經整合到了項目中,其他在 master 分支上工作的開發者可以使用標準的 git pull 命令將這些修改拉取到自己的本地倉庫。

    ?

    更新fork的repo.

    準備工作

    原始repo:http://git-server/YCODE_DOMIN/test.git
    fork過來的repo: http://git-server/guqiang/test.git

    開始

  • git clone http://git-server/guqiang/test.git將自己的repo克隆到本地。
  • cd test進入工作目錄
  • git remote add upstream http://git-server/YCODE_DOMIN/test.git添加遠端原始repo
  • 原始repo做了更改,本地做了更改并且commit

  • git fetch upstream然后,git rebase upstream/master
  • git push origin master將所有更新推到自己的遠端repo
  • 注意

    在同步原始遠端repo的時候,如果本地有未commit或者stash的,需要先commit或者stash,不然git會提示你讓你這么做。

    Paste_Image.png

    總的來說

    三個命令:

    • git remote add upstream "原始repo"
    • git fetch upstream
    • git rebase upstream/master

    清理歷史

    1.Checkoutgit checkout --orphan latest_branch2. Add all the filesgit add -A3. Commit the changesgit commit -am "commit message"4. Delete the branchgit branch -D master5.Rename the current branch to mastergit branch -m master6.Finally, force update your repositorygit push -f origin master

    常用操作

    #查看分支 git branch #查看status git status #查看修改內容 git diff #查看修改歷史 git log #轉到master git checkout master #merge 分支 git merge mybranch #刪除 mybranch分支 git branch -d mybranch //刪除mybranch

    .gitignore規則不生效的解決辦法

    把某些目錄或文件加入忽略規則,按照上述方法定義后發現并未生效,原因是.gitignore只能忽略那些原來沒有被追蹤的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。那么解決方法就是先把本地緩存刪除(改變成未被追蹤狀態),然后再提交:

    git rm -r --cached . git add . git commit -m 'update .gitignore'

    如何刪除github上的commit歷史記錄?

    #Clone your git repo git clone https://github.com/lestatzhang/lestatzhang.github.io.git; #Entre your local repo cd lestatzhang.github.io; #Checkout git checkout --orphan latest_branch; #Add all the files git add -A; #Commit the changes git commit -am "Reinitialize"; #Delete the branch git branch -D master; #Rename the current branch to master git branch -m master; #Finally, force update your repository git push -f origin master;

    解決Github 每次上傳都要輸入用戶名和密碼

    https?轉到 ssh方式

    git remote -v #查看項目采用的提交方式 git remote rm origin #移除舊的提交方式 git remote add origin git@xxx.git #添加新的ssh提交方式,到github官網獲取項目的ssh鏈接

    更改master到main分支

    git checkout -b main # Switched to a new branch 'main' git branch # * main # master git merge master # 將master分支合并到main上 # Already up to date. git pull origin main --allow-unrelated-histories # git pull origin main會報錯:refusing to merge unrelated histories git push origin main git branch -D master

    ?

    總結

    以上是生活随笔為你收集整理的Git上传Github及基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。