當前位置:首頁 » 文件傳輸 » 怎麼把變更代碼上傳到git
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼把變更代碼上傳到git

發布時間: 2022-06-17 20:37:27

① 如何將本地代碼上傳至git倉庫

注意:安裝的前提條件是配置好Git的相關環境或者安裝好git.exe,此處不再重點提及
上傳的步驟:(本文採用git 命令界面進行操作)
( git config --global user.email "[email protected]"
git config --global user.name "Your Name")實現登陸
1.進入本地的項目目錄,右鍵「Git Bash here」,調出git命令行界面,然後輸入
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git init
2.就是將目錄下的所有文件上傳,也可以將「.」換成具體的文件名
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git add .
3.將項目提交到gitHub
[html] view plain 在CODE上查看代碼片派生到我的代碼片
git commit -m "注釋語句"
4.在github上創建新的repository
5.點擊 「Create repository」跳轉到一個連接,如下紅色圈獲取到本項目的github地址
6.將本地的代碼關聯到github上
[html] view plain 在CODE上查看代碼片派生到我的代碼片
git remote add origin 項目的github地址
7.上傳代碼到github之前需要先pull
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git pull origin master
8.上傳代碼到遠程倉庫
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git push -u origin master
之後輸入賬號,密碼,上傳到github

② 如何上傳代碼到github

注冊GitHub後你就會有0.3G的免費空間,不過只能創建公開項目,這也滿足代碼分享的目的,我最喜歡的倒是它的代碼展示方式,可以直接瀏覽你的代
碼,代碼是經過高亮、添加行號處理過的,十分漂亮,體驗一流,比如這個Webpy託管的地方。而作為想要了解你代碼的人,可以選擇直接在線瀏覽自己感興趣
的,也可以直接下載壓縮包,或者直接使用Git clone到本地。
因為GitHub是基於Git版本控制系統,所以你上傳修改代碼什麼的,都需
要使用Git工具。我這里主要是用來分享和展示代碼,所以不想在版本控制方面做過多的闡述,下面就簡單講解一下怎麼在GitHub上新建一個項目,還有把
自己的代碼傳上去。下面的前提是你已經注冊了GitHub和下載安裝了Git——Git下載、Windows版本下載。
上傳分享代碼
1.在GitHub上建立項目

錄GitHub後,你可以在右邊靠中那裡找到一個按鈕「New
Repository」,點擊過後,填入項目名稱、說明和網址過後就可以創建了,然後會出現一個提示頁面,記下類似
[email protected]:XXX/XXX.git的地址,這個就是你這個項目的地址了。
2.配置Git以及上傳代碼
安裝Git成功後,如果是Windows下,選擇Git Bash,在命令行中完成一切,可能開始有點麻煩,不過就那幾條命令行,用幾次就記住啦。首先初始設置Git:
1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected]

然後開始進行最麻煩的一步了,你需要上傳文件到GitHub的Git系統上,得需要一個SSH密匙來認證,下面就開始生成密鑰和提交密鑰。打開Git Bash,創建SSH key:
1 ssh-keygen -C '[email protected]' -t rsa


後要你輸入SSH密匙的存放位置,可以不管,直接回車使用默認路徑。再輸入你想要的密碼,SSH
key就生成了。現在你需要將這個Key提交到GitHub,首先打開Key保存的位置,裡面會有三個文件,找到id_rsa.pub,用文本編輯器打
開,復制裡面的全部字元。到GitHub,在右上方工具欄里找到Account Settings。在這個頁面上有一個SSH Public
Keys標簽,選擇Add another public key。Title可以隨便填一個,Key就粘貼剛才的字元,提交。
完成這些工作後,就可以上傳自己的代碼了。找到自己要分享上傳的代碼文件夾,右擊選擇Git Bash,或者在Git Bash中進入這個文件夾。建立一個倉庫:
1 git init

選擇要添加進倉庫的文件:
1 git add .

一般如果你想分享這個文件夾里的所有代碼,就在 add後面加「.」,上面的例子就是這樣,如果傳指定的,只需要把「.」改為文件名即可,現在只是選擇了要加入倉庫的文件,下面才是添加進入倉庫:
1 git commit -m 'Test'

-m後面跟一個參數,表示說明,將代碼提交到GitHub後,將會在代碼文件信息上顯示這個說明,如下圖標記的地方。
搞了這么久,現在才開始把本地倉庫上傳到GitHub了,下面兩行命令搞定問題:
1 2 git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master

這個[email protected]:XXX/XXX.git就是上面創建項目是生成的地址。現在打開你的項目網址,你就可以發現你的代碼已經展示出來了。如果你要更新代碼的話,就重復上面的吧。

果提交了敏感信息,比如代碼中設置的自己的密碼什麼的忘刪除就上傳上去了怎麼辦?重新修改過後上傳依然有歷史記錄,而使用Git刪除歷史記錄貌似很麻煩,
於是就採用刪除項目吧,刪除了再重新上傳。刪除項目需要在GitHub網站上右上方找到admin按鈕,進去後右邊最下面有個刪除的按鈕,這樣就可以刪除
了。
一些可能遇到的問題解決:
如果輸入$ git remote add origin [email protected]:djqiang(github帳號名)/gitdemo(項目名).git
提示出錯信息:fatal: remote origin already exists.
解決辦法如下:
1、先輸入$ git remote rm origin
2、再輸入$ git remote add origin [email protected]:djqiang/gitdemo.git 就不會報錯了!
3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not remove config section 『remote.origin』. 我們需要修改gitconfig文件的內容
4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_\etc
5、找到一個名為gitconfig的文件,打開它把裡面的[remote "origin"]那一行刪掉就好了!
如果輸入$ ssh -T [email protected]
出現錯誤提示:Permission denied (publickey).因為新生成的key不能加入ssh就會導致連接不上github。
解決辦法如下:
1、先輸入$ ssh-agent,再輸入$ ssh-add ~/.ssh/id_key,這樣就可以了。
2、
如果還是不行的話,輸入ssh-add ~/.ssh/id_key 命令後出現報錯Could not open a connection to
your authentication agent.解決方法是key用Git
Gui的ssh工具生成,這樣生成的時候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行
來做。
3、最好檢查一下在你復制id_rsa.pub文件的內容時有沒有產生多餘的空格或空行,有些編輯器會幫你添加這些的。
如果輸入$ git push origin master
提示出錯信息:error:failed to push som refs to …….
解決辦法如下:
1、先輸入$ git pull origin master //先把遠程伺服器github上面的文件拉下來
2、再輸入$ git push origin master
3、
如果出現報錯 fatal: Couldn』t find remote ref master或者fatal: 『origin』 does not
appear to be a git repository以及fatal: Could not read from remote
repository.
4、則需要重新輸入$ git remote add [email protected]:djqiang/gitdemo.git
使用git在本地創建一個項目的過程
$ makdir ~/hello-world //創建一個項目hello-world
$ cd ~/hello-world //打開這個項目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 『first commit』 //提交更新,並注釋信息「first commit」
$ git remote add origin [email protected]:defnngj/hello-world.git //連接遠程github項目
$ git push -u origin master //將本地項目更新到github項目上去

③ 如何將本地的代碼上傳到github

首先你需要一個github賬號,所有還沒有的話先去注冊吧!

https://github.com/

我們使用git需要先安裝git工具,這里給出下載地址,下載後一路直接安裝即可:

https://git-for-windows.github.io/

1.進入Github首頁,點擊New repository新建一個項目

2.填寫相應信息後點擊create即可

Repository name: 倉庫名稱

Description(可選): 倉庫描述介紹

Public,Private: 倉庫許可權(公開共享,私有或指定合作者)

Initialize this repository with a README: 添加一個README.md

gitignore: 不需要進行版本管理的倉庫類型,對應生成文件.gitignore

license: 證書類型,對應生成文件LICENSE

④ 如何將代碼上傳到git伺服器上

1、本地公鑰的獲取,

cd ~/.ssh

ls

使用指令ssh-keygen,生產公鑰,第一個提示時輸入文件(默認是id_rsa),第二個提示時輸入的是密鑰,

公鑰放置在id_rsa.pub文件中。

2、按照code的提示,進行代碼上傳。

2.1 建立一個git文件件,比如git_csdn ,

2.2 git init,建倉操作,

2.3 可以新建一個readme.md,touch README.md

2.4git add.添加所有文件,git add file,添加file,比如git add README

2.5git commit -m "first commit"

2.6git remote add origin git @ url 地址

2.7git push -u origin master

3、git clone 地址

4、git remote不帶參數,列出已經存在的遠程分支

$ git remote

origin

5、配置:

$ git config --global user.name "John Doe"

$ git config --global [email protected]

出現的問題:Updates were rejected because the tip of your current branch is behind

有如下幾種解決方法:
1.使用強制push的方法:
$ git push -u origin master -f
這樣會使遠程修改丟失,一般是不可取的,尤其是多人協作開發的時候。
2.push前先將遠程repository修改pull下來
$ git pull origin master
$ git push -u origin master
3.若不想merge遠程和本地修改,可以先創建新的分支:
$ git branch [name]
然後push
$ git push -u origin [name]

分支管理:

1、創建分支: git branch new_branch

2、查看分支:git branch

3、刪除分支:git branch -d new_branch

4、切換分支:git checkout new_branch

5、創建分支並切換分支: git checkout -b new_branch即可在本地新建分支,並使用該分支track遠程分支

6、提交並推送分支:

git add .

git commit -m "xxx"

git push -u origin new_branch

7、刪除遠程分支:git push origin --delete new_branch

8、合並分支: git merge new_branch

9、將本地更新上傳到遠程分支上:

例如本地新建或是更新了內容newfile.c文件,

首先git add newfile.c,

然後git commit -m "add new file",

緊接著git push 本地分支名 遠程分支名即可將本地分支更新到遠程分支。

10.獲取遠程分支

git fetch 從遠程獲取其他用戶push上來的新分支

git remote -v 即可查看遠程所有的版本信息

⑤ 如何將自己寫的代碼上傳到github上

①首先注冊github賬號,登錄,創建新倉庫
,點擊+,點擊new repository



得到如下頁面,填寫倉庫名,自己隨便寫一個名字,下面的描述可寫可不寫,點擊Initialize this repository with a README,然後創建:


6.在此處打開git bash,輸入如下命令:
git init
git add "文件名"
git commit -m "文件名"
如果出現讓你設置用戶名和用戶郵箱的提示,就按照提示上給的命令輸入即可。後再次執行上面commit的命令。


git remote add origin https://github.com/zhangsiyao11/chat http為你自己倉庫的地址
如果出現錯誤:
fatal: remote origin already exists
則執行以下語句:
git remote rm origin
再執行git remote add origin https://github.com/zhangsiyao11/chat即可。


git pull origin master
git push origin master


完成,再打開自己的倉庫就會出現剛剛上傳的項目文件:




終於寫完了,希望對大家有所幫助。

⑥ 怎樣將svn庫中的代碼遷移到git庫

下面開始我們的學習:
1.Git安裝(略)。
2.創建版本庫
首先,選擇一個合適的地方(我選擇了D盤,我的電腦是Win 7),常見一個空目錄:

$ mkdir Git
$ cd Git
$ pwd//顯示當前的路徑
/d/Git

註:Windows下,路徑名不要包含中文,因為Git對中文支持不給力!
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:

1
2

$ git init
Initialized empty Git repository in /d/Git/.git/

這樣就創建了你的Git倉庫。
接下來,我們上傳一個文件到Git。編輯一個readme.txt文件,內容如下:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.

將其放到/d/Git目錄下,因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件。
將一個文件放到Git倉庫需要兩步:
(1)使用git add將文件添加到倉庫:

1

$ git add readme.txt

(2)使用git commit將文件提交到倉庫:

git commit -m "wrote a readme file"
[master 48b9a84] wrote a readme file
1 file changed, 2 insertions(+)

註:git commit命令,-m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。
commit可以一次提交多個文件:

$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."

3.Git的命令很多,下面再學習幾個吧!
繼續修改readme.txt文件:

Git is a distributed version control system.
Git is free software.

git status命令看看結果:

$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

git status查看倉庫當前的狀態,上面的命令告訴我們,readme.txt被修改過了,但還沒有準備提交的修改。
雖然Git告訴我們readme.txt被修改了,但如果能看看具體修改了什麼內容,自然是很好的。比如你休假兩周從國外回來,第一天上班時,已經記不清上次怎麼修改的readme.txt,所以,需要用git diff這個命令看看:

1
2
3
4
5
6
7
8
9

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.

git diff查看不同!
在工作中,我們可能提交了幾千個文件,如果想看歷史記錄,可以使用git log命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

$ git log
commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 15:11:49 2013 +0800

append GPL

commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 14:53:12 2013 +0800

add distributed

commit
Author: Michael Liao <[email protected]>
Date: Mon Aug 19 17:51:55 2013 +0800

wrote a readme file<br>………………………………………………………………………………<br>………………………………………………………………………………

commit
Author: lixiaolun <[email protected]>
Date: Thu Jan 15 22:06:05 2015 +0800
wrote a readme file
(END)
註:最後你可能會碰到這個(END),此後你怎麼點都沒有用。那麼現在你要輸入:wq或:q退出。這個命令同linux指令。
git log命令顯示從最近到最遠的提交日誌。如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上
--pretty=oneline參數:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$ git log --pretty=oneline
commit a file readme
text1.txt commit
wrote a readme file
2015-1-30 upload
local_gitgub
remove text1.txt
remove text.txt
add test.txt
git tracks changes
add 3 text.txt
understand how stage
modify reamde.txt
add a new word distr
wrote a readme file

友情提示:你看到的一大串類似3628164...882e1e0的是commit id(版本號),和SVN不一樣,Git的commit id不是1,2,3……遞增的數字,而是一個SHA1計算出來的一個非常大的數字,用十六進製表示。
時光穿梭之版本回退!!
如果你提交的一個文件,發現還不如你你上一個版本好,趕緊回退!怎麼做呢?
首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
回退到上一個版本的命令git reset:

1

$ git reset --hard HEAD^

--hard參數有啥意義?這個後面再講,現在你先放心使用。
查看文件命令cat readme.txt:

1
2
3

$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.

git reflog記錄了每一次命令:

$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file

前面的數字是commit id。知道commit id可以回退上一次執行的命令,回退命令為git reset --hard <commit id>:

1

$ git reset --hard 3628164

⑦ 如何在Git上上傳代碼

注冊賬戶以及創建倉庫

要想使用github第一步當然是注冊github賬號了。之後就可以創建倉庫了(免費用戶只能建公共倉庫),Create a New Repository,填好名稱後Create,之後會出現一些倉庫的配置信息,這也是一個git的簡單教程。步驟如下:

打開https://github.com直接在首頁上注冊

2)上傳到github

$ git push origin master

git push命令會將本地倉庫推送到遠程伺服器。

git pull命令則相反。

註:首次提交,先git pull下,修改完代碼後,使用git status可以查看文件的差別,使用git add 添加要commit的文件。

大功告成,現在你知道如何將本地的項目提交到github上了。

gitignore文件

.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要並且很實用的文件。一般我們寫完代碼後會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。我們在git status的時候會看到很多這樣的文件,如果用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時我們就需要.gitignore了。

Git命令

查看、添加、提交、刪除、找回,重置修改文件

git help <command> # 顯示command的helpgit show # 顯示某次提交的內容 git show $idgit co -- <file> # 拋棄工作區修改git co . # 拋棄工作區修改git add <file> # 將工作文件修改提交到本地暫存區git add . # 將所有修改過的工作文件提交暫存區git rm <file> # 從版本庫中刪除文件git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件git reset <file> # 從暫存區恢復到工作文件git reset -- . # 從暫存區恢復到工作文件git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操作都合並在一起做git ci -am "some comments"git ci --amend # 修改最後一次提交記錄git revert <$id> # 恢復某次提交的狀態,恢復動作本身也創建次提交對象git revert HEAD # 恢復最後一次提交的狀態


查看文件diff

git diff <file> # 比較當前文件和暫存區文件差異 git diffgit diff <id1><id2> # 比較兩次提交之間的差異git diff <branch1>..<branch2> # 在兩個分支之間比較git diff --staged # 比較暫存區和版本庫差異git diff --cached # 比較暫存區和版本庫差異git diff --stat # 僅僅比較統計信息




查看提交記錄

git log git log <file> # 查看該文件每次提交記錄git log -p <file> # 查看每次詳細修改內容的diffgit log -p -2 # 查看最近兩次詳細修改內容的diffgit log --stat #查看提交統計信息


tig
Mac上可以使用tig代替diff和log,brew install tig


Git 本地分支管理
查看、切換、創建和刪除分支

git br -r # 查看遠程分支git br <new_branch> # 創建新的分支git br -v # 查看各個分支最後提交信息git br --merged # 查看已經被合並到當前分支的分支git br --no-merged # 查看尚未被合並到當前分支的分支git co <branch> # 切換到某個分支git co -b <new_branch> # 創建新的分支,並且切換過去git co -b <new_branch> <branch> # 基於branch創建新的new_branchgit co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,創建成一個分支git br -d <branch> # 刪除某個分支git br -D <branch> # 強制刪除某個分支 (未被合並的分支被刪除的時候需要強制)



分支合並和rebase

git merge <branch> # 將branch分支合並到當前分支git merge origin/master --no-ff # 不要Fast-Foward合並,這樣可以生成merge提交git rebase master <branch> # 將master rebase到branch,相當於: git co <branch> && git rebase master && git co master && git merge <branch>



Git補丁管理(方便在多台機器上開發同步時用)

git diff > ../sync.patch # 生成補丁git apply ../sync.patch # 打補丁git apply --check ../sync.patch #測試補丁能否成功




Git暫存管理

git stash # 暫存git stash list # 列所有stashgit stash apply # 恢復暫存的內容git stash drop # 刪除暫存區Git遠程分支管理

git pull # 抓取遠程倉庫所有分支更新並合並到本地git pull --no-ff # 抓取遠程倉庫所有分支更新並合並到本地,不要快進合並git fetch origin # 抓取遠程倉庫更新git merge origin/master # 將遠程主分支合並到本地當前分支git co --track origin/branch # 跟蹤某個遠程分支創建相應的本地分支git co -b <local_branch> origin/<remote_branch> # 基於遠程分支創建本地分支,功能同上



git push # push所有分支

git push origin master # 將本地主分支推到遠程主分支git push -u origin master # 將本地主分支推到遠程(如無遠程主分支則創建,用於初始化遠程倉庫)git push origin <local_branch> # 創建遠程分支, origin是遠程倉庫名git push origin <local_branch>:<remote_branch> # 創建遠程分支git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然後再push刪除遠程分支




Git遠程倉庫管理

git remote -v # 查看遠程伺服器地址和倉庫名稱git remote show origin # 查看遠程伺服器倉庫狀態git remote add origin git@ github:robbin/robbin_site.git # 添加遠程倉庫地址git remote set-url origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址(用於修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫



創建遠程倉庫

git clone --bare robbin_site robbin_site.git # 用帶版本的項目創建純版本倉庫scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到伺服器上mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在伺服器創建純倉庫git remote add origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址git push -u origin master # 客戶端首次提交git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,並且trackgit remote set-head origin master # 設置遠程倉庫的HEAD指向master分支




也可以命令設置跟蹤遠程庫和本地庫

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop