剛進公司,如何優雅的使用git?

一、前言

實習的時候,組內的大佬讓我們去下載公司的代碼去看,並且要求使用非master分支(如next分支)進行開發,當時我和另外兩個應屆的同學都去嘗試拉分支,結果發現拉下來的都不next分支,而是master分支,後來通過查找資後知道一種好的直接拉取指定分支的辦法,在這裏,我想記錄下一些重要的地方,不會敘述太多git的知識點。

二、準備工作

1、下載git(windos)工具,配置好郵箱和用戶名,並生成你自己的公鑰。(密鑰生成可見:https://blog.csdn.net/csdn_blog_lcl/article/details/53172885)
2、我們在自己的工作目錄新建一個文件夾project,用來存放我們的項目。

三、git克隆分支的方式介紹

當你進入到公司的git類網站上,會發現一般提供了兩種克隆分支的方式:
1、SSH方式,可以免密登錄,git拉取代碼和提交分支都可以免密,但是要去git網站上配置SSH Key,添加自己生產的公鑰。
2、HTTPS方式:可以不用去git網站上配置SSH Key,但是克隆、提交和拉取分支代碼都需要輸入用戶名和密碼,比較麻煩(新手推薦用這個)。

四、如何克隆指定分支?

以next分支爲例,git地址爲HTTPS方式爲例,方便講解。
1、打開之前建好的project文件夾,右鍵選擇Git Bash Here,彈出git窗口
2、初始化本地倉庫:git init
3、關聯遠程倉庫:git remote add origin “HTTPS地址”
在這裏插入圖片描述
我紅色劃掉的部分就是HTTPS地址啦,複製下來。
4、拉取指定next分支:git clone -b next “git地址”
上面命令中的-b(branch)就是克隆的時候指定分支。
如果此時你是在git網站上添加了密鑰,並且git地址是SSH方式的地址,那麼可以直接克隆下來。如果你用的是HTTPS方式,你就需要輸入用戶名密碼進行克隆。

五、如何優雅的在分支上開發?

剛克隆下來的next分支在本地也叫next,通常我們不建議直接在這個分支上開發,而是新建一個分支。
1、git checkout -b next-dev (創建並切換到next-dev分支上)
2、我們可以在next-dev上愉快的寫我們的代碼,寫完後可把代碼提交到本地倉庫:
(1)、git add . (".“的意思就是保存添加所有修改到暫存區)
(2)、git commit -m “註釋” (將暫存區中的修改提交到本地倉庫)
3、開發完成後我們可將next-dev分支合併到本地next分支上:
(1)切換到本地next分支:git checkout next (切換分之前,需要先在next-dev上commit更改到本地倉庫)
(2)本地next分支更新:git pull origin next (當你合併分支的時候,可能其他同事又提交了新的內容)
(3)在本地next分支上去合併next-dev分支:git merge next-dev。(若分支合併出現衝突,這裏推薦使用idea集成git工具在idea中去合併衝突,因爲比較方便的就能查看到衝突代碼塊)
4、提交本地next到遠程next: git pull origin next:next (”:“前面的是本地分支的名字,”:"後面的是遠程分支的名字)

六、爲什麼不直接在本地next分支上開發,而另創一個next-dev分支呢?

當你直接在本地next分支上開發時,考慮這樣的一個場景:測試或者產品火急火燎的告訴你線上出了一個小bug你需要馬上修改掉,這個bug很快就能解決,但是你的本地next分支還處於開發狀態(甚至是編譯都不能通過的狀態,你需要註釋你的修改或者再去重新拉一個next分支修改bug(這多慢呀!))。但是當你只是在next-dev分支上開發時,你只需提交當前修改並切換到本地next分支上去修改就行了,修改完後切換next-dev繼續開發即可。

七、常用命令

初始化本地倉庫:git init
本地倉庫關聯遠程倉庫:git remote add origin “git 地址”
查看已關聯的倉庫:git remote -v
切換關聯倉庫(如想要從HTTPS方式的關聯倉庫切換到SSH方式關聯的倉庫):
(1)、取消關聯:git remote remove origin
(2)、重新關聯:git remote add origin “git SSH方式的地址”
查看所有的分支:git branch -a
更新分支列表(當你不能查看到完整的分支列表時):git fetch
切換分支:git checkout 分支名
創建分支:git branch 分支名
強制刪除分支(可刪除當前分支):git branch-D 分支名
非強制刪除分支(不可刪除當前分支):git branch -d 分支名
創建並切換到新分支:git checkout -b 分支名
克隆遠程倉庫的項目代碼:git clone “遠程倉庫地址”
克隆遠程倉庫指定分支的代碼:git clone “遠程倉庫地址”
拉取遠程分支:git pull 遠程分支
提交變更到本地倉庫:git commit -m “修改信息註釋”:
將你的分支推到遠程倉庫:git push origin “本地分支名”:遠程分支名
撤銷本地commit:
(1)、git log 查看commit_id
(2)、git reset --hard commit_id
查看當前倉庫的狀態(你修改了哪些,哪些保存到了本地倉庫,哪些沒有):git status
查看提交歷史:git log

八、注意事項

1、提交前先git pull是一個好習慣,更新別人提交的代碼,避免衝突。
2、爲防止我們的誤操作,如不小心按到鍵盤在配置文件中多加了一個字母。我們可以使用idea中的git compare去查看本地分支與遠程分支中的差異,確定都是我們自己的正確修改後再提交。
3、分支切換前需要先commit保存修改到本地倉庫,不然切換不會成功,強行切換會導致當前分支被覆蓋。
4、在git裏面總是有後悔藥吃的,所以大膽搞,出錯了大不了回滾。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章