Git分支切換


每次開發新功能,需要新開分支進行開發

```

1、先檢查當前工作區是否干凈

git status     以下結果表示是干凈的

 

 

2、開發新功能,新建分支進行開發,開發完畢后,再合並到 master 主干

git checkout -b login

 

3、檢查當前所處分支

git branch

 

4、提交代碼到master分支

4.1 先 git add . 到倉庫

4.2 git commit -m "登錄功能"    提交代碼到本地分支

4.3 git status 檢查狀態

4.4 git branch 檢查代碼提交到哪個分支了

4.5 git checkout master 切換到master分支

4.6 git merge login 合並 login分支的代碼到master

4.7 git push 將本地master代碼推到碼雲

```

 

5、將本地的 login 分支提交到碼雲

```

git checkout login

git branch 檢查分支狀態

git push -u origin login  將當前所處的分支提交到遠端的login分支

```

 

6、拉去遠程代碼到本地

```

git pull origin health_mobile(遠程分支名稱)

```

 

初始化項目

1、先生成SSH密鑰

ssh-keygen -t ed25519 -C "郵箱"   

 

2、查看SSH密鑰,並在Gitee添加

cat ~/.ssh/id_ed25519.pub  

 

3、檢查SSH狀態

ssh -T git@gitee.com  

 

4、初始化用戶

git config --global user.name "DeyouKong"   

git config --global user.email "1929765936@qq.com"

 

5、檢查git倉庫狀態(需要切換到項目根目錄)

git status

 

6、將項目與gitee關聯

git remote add origin https://gitee.com/deyoukong/vue-shop.git

 

7、將本地代碼提交到碼雲

git push -u origin master

 

 

當前分支為master,代碼寫在master,需要遷移到 user 分支

git checkout -b user ( user 分支不存在

 

git checkout user(user 分支已存在)

 

解決沖突:

1、解決方法一

git push  遠程倉庫地址 本地分支:遠程分支 --force:強行推送到遠程倉庫,即使有沖突。

注:強行推送會替換遠程倉庫中的代碼,導致遠程倉庫中的代碼丟失,只有在確認代碼無誤后使用此方法解決沖突。

 

2、解決方法二

git pull 遠程倉庫地址 遠程分支:取回遠程倉庫的變化,並與本地分支合並。

推薦使用這種方法,代碼不會丟失,而是直接合並到本地。

 

 修改代碼再次push:

 

 

3、解決方法三

每次修改或提交代碼之前先pull一下遠程倉庫的代碼!

每次修改或提交代碼之前先pull一下遠程倉庫的代碼!

每次修改或提交代碼之前先pull一下遠程倉庫的代碼!

 

代碼回退

1、git revert

git revert 001c67(001c67是你要回退到指定歷史的版本號)

然后push到遠程指定分支上:

git push origin master

 

git revert是用一個新commit來消除一個歷史commit所做的修改,revert 之后你的本地代碼會回滾到指定的歷史版本。也就是說revert 是在正常的commit歷史中再commit一次,只不過是反向提交,他的 HEAD 是一直向前的。

 

2、git reset

git reset --hard 001c67(你要干掉的commit的版本號)

 

       這個命令表示:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容---------審用

git reset --mixed(默認方式):

       git reset --mixed,當它回退到某個版本時,只保留源碼,回退commit和index信息

git reset --soft:

      它回退到某個版本時,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可

 

簡單總結一下,其實就是三個不同的恢復等級,--soft 、--mixed以及--hard。使用--soft就僅僅將頭指針恢復,已經add的緩存以及工作空間的所有東西都不變。如果使用--mixed,就是將頭指針恢復掉,已經add的緩存會丟失掉,工作空間的代碼什么的是不變的。如果使用--hard,那么一切就全都恢復了。

 

git reset比較常用的場景:合並最近幾個commit:

比如我提交了5個commit,這時候我想把這5個commit作為一個commit提交到遠程分支,可以先把那5個commit撤下來,如下:
git reset HEAD~5

上面命令是指撤下最近的5個commit, 撤下來以后,這5個commit相關的文件都在工作台了,只需要重新add,commit,即可。
注意: 如果commit已經push到遠程分支了,這時候我們撤下來再push會失敗,需要加上-f,如:


git push -f origin xxx_dev

 

 

修改 .gitignore 文件后使其生效:

1).gitignore規則的語法錯誤
排查語法問題,修正錯誤的語法。

2)git緩存
使用git清除本地緩存,然后提交。命令如下:

git rm -r --cached . # 刪除緩存
git add -A # 重新添加所有文件,等價寫法:git add .
git commit -m "update" # 重新提交

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM