Git更新代码
目錄
1.?初次運行 Git 前的配置
用戶信息
2. 拉取倉庫代碼
3. 提交代碼
4. 版本回退
4.1 本地分支版本回退的方法
4.2 自己的遠程分支版本回退的方法
4.3 區別:git checkout -- file? 與? git reset -- file 命令
5. git restore 和 git restore --staged 的區別
5.1 git restore
5.2 git restore --staged
6. 本地關聯遠程分支
7.?git submodule的簡單介紹
1.?初次運行 Git 前的配置
查看所有的配置以及它們所在的文件:
git config --list --show-origin用戶信息
安裝完 Git 之后,要做的第一件事就是設置你的用戶名和郵件地址。 這一點很重要,因為每一個 Git 提交都會使用這些信息,它們會寫入到你的每一次提交中,不可更改:
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com再次強調,如果使用了?--global?選項,那么該命令只需要運行一次,因為之后無論你在該系統上做任何事情, Git 都會使用那些信息。 當你想針對特定項目使用不同的用戶名稱與郵件地址時,可以在那個項目目錄下運行沒有?--global?選項的命令來配置。
2. 拉取倉庫代碼
- 拉取Gitlab項目:git clone git@github.com:google/re2.git
- 進行項目:cd re2/
- 查看所有分支:git branch -a
- 在本地創建和遠程分支對應的分支,使用:
- git checkout -b branch-name?origin/branch-name,本地和遠程分支的名稱最好一致;
- 建立本地分支和遠程分支的關聯,使用:
- git branch --set-upstream branch-name origin/branch-name
- git pull?拉取分支,更新分支內容
(刪除遠程jingjing分支:git push origin --delete jingjing)
3. 提交代碼
第一步:
如果分支(將此分支暫命名為dev)有修改,則先提交修改的內容,如果沒有,直接跳到第二步
git commit -m “fix bug”
第二步:
切換到master分支下
git checkout master
第三步:
將遠程的master代碼pull到本地
git pull
擴展:強制拉取
git pull --force origin merge_code:merge_codegit pull <遠程主機名> <遠程分支名>:<本地分支名>第四步:
切換到dev分支下
git checkout dev
第五步:
合并master到dev分支
git merge master
如果在合并的過程中,提示Test.java文件出現沖突了,手動修改一下這個文件,修改成自己想要內容;如果沒有出現沖突,直接跳到第八步
第六步:
添加修改的文件
git add email/Test.java
第七步:
將新添加的文件提交上去
git commit -m “merge master”
第八步:
將本地分支的代碼push到遠程倉庫對應的分支上
git push origin dev
將本地分支的代碼強制push到遠程倉庫對應的分支上
git push origin email_parser:email_parser --force
第九步:
在GitLab界面提交merge新請求
4. 版本回退
4.1 本地分支版本回退的方法
如果你在本地做了錯誤提交,那么回退版本的方法很簡單
先用下面命令找到要回退的版本的commit id:
接著回退版本:
git reset --hard Obfafd0bfafd就是你要回退的版本的commit id的前面幾位
4.2 自己的遠程分支版本回退的方法
如果你的錯誤提交已經推送到自己的遠程分支了,那么就需要回滾遠程分支了。
首先要回退本地分支:
緊接著強制推送到遠程分支:
git push -fgit push origin dev:dev --force注意:本地分支回滾后,版本將落后遠程分支,必須使用強制推送覆蓋遠程分支,否則無法推送到遠程分支
遠程倉庫版本回退方法--Git(二) - 知乎
4.3 區別:git checkout -- file? 與? git reset -- file 命令
git checkout -- index.html?拉取暫存區文件 并將其替換成工作區文件
git checkout email/email_parser.cc email/server.cc?
5. git restore 和 git restore --staged 的區別
5.1 git restore
git restore <file>表示將在工作空間但是不在暫存區的文件撤銷更改
5.2 git restore --staged
git restore --staged <file>作用是將暫存區的文件從暫存區撤出,但不會更改文件
6. 本地關聯遠程分支
git branch --set-upstream-to origin/merge_code7.?git submodule的簡單介紹
????????在軟件開發過程中,通常我們會遇到有一些通用的部分希望抽取出來做成一個公共庫的情況,比如安卓和IOS都通用的H5頁面。而公共代碼庫的版本管理是個麻煩的事情。幸運的是,萬能的Git有個叫子模組(git submodule)的命令完美地幫我們解決了這個問題。
? ? ? ? 如runtime工程下的build_tools
總結
- 上一篇: 计算机文化以计算机为核心,计算机文化础知
- 下一篇: 使用MobileTerminal修改越狱