您好,登錄后才能下訂單哦!
1)首先要注冊GitHub賬號并登陸,然后開始創建倉庫
2)填寫項目信息:
3)創建完成:
到此為止,GitHub上的倉庫地址為:https://github.com/dengshuangfu/github-demo.git
1)使用Maven創建工程
mvn archetype:generate -DgroupId=com.dsf.demo -DartifactId=github-demo -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0 -DinteractiveMode=false
2)初始化git倉庫
切換到根路徑(pmo.xml所在路徑),執行以下命令初始化git倉庫
git init
3)使用倉庫管理文件
git status
提示有沒被跟蹤的文件,我們通過以下指令將文件添加到暫存區中
git add .
然后通過以下指令將文件提交到倉庫
git commit -m 'initial commit'
查看git倉庫分支情況
gitk --all
此時會彈出一個可視化窗口
可見當前只有一次提交
接著我們在resources下面創建application.yml文件,然后提交到倉庫,再執行gitk命令
1)添加遠程倉庫地址
git remote add origin https://github.com/dengshuangfu/github-demo.git
2)本地與遠程的master關聯并推送到遠程倉庫的master上
git push -u origin master
報錯提示如下
To https://github.com/dengshuangfu/github-demo.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/dengshuangfu/github-demo.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.
這個報錯的原因是因為遠程分支上存在本地分支中不存在的提交,因為在遠程倉庫中當前存在".gitignore"和"README.md"文件,所以我們需要先抓取并合并遠程倉庫全部內容(git pull origin master --allow-unrelated-histories),再推送本地倉庫數據(git push origin master)。
推送
到此,GitHub就已經有我們推送的倉庫內容了
我們再通過gitk命令來查看分支情況如下
注意:當設置以下配置后push時的區別
git config --global push.default matching
or
git config --global push.default simple [默認]
matching:git將推送本地分支到已存在同名的遠程分支。
simple:只將當前分支推送到相應的遠程分支。
git push的一般形式為 git push <遠程主機名> <本地分支名> <遠程分支名> .
例如 git push origin master:refs/for/master ,即是將本地的master分支推送到遠程主機origin上的對應master分支, origin 是遠程主機名, 第一個master是本地分支名,第二個master是遠程分支名。
1)git push origin master
如果遠程分支被省略,如上則表示將本地分支推送到與之存在追蹤關系的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建
2)git push origin :refs/for/master
如果省略本地分支名,則表示刪除指定的遠程分支,因為這等同于推送一個空的本地分支到遠程分支,等同于 git push origin --delete master
3)git push origin
如果當前分支與遠程分支存在追蹤關系,則本地分支和遠程分支都可以省略,將當前分支推送到origin主機的對應分支
4)git push
如果當前分支只有一個遠程分支,那么主機名都可以省略,形如 git push,可以使用git branch -r ,查看遠程的分支名
5)git push 的其他命令
6)關于 refs/for
// refs/for 的意義在于我們提交代碼到服務器之后是需要經過code review 之后才能進行merge的,而refs/heads 不需要
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。