git第一篇:真實工作中常用git操作流程,新人入職,菜鳥開道!!!(windows環境,ssh方式,github)

Git的真實使用場景

  git的概念和作用就不多介紹了,直接看下面的教程吧

安裝準備

  安裝極其簡單,下載好exe文件直接運行就好了。
  附上下載頁面:win版git官網下載

使用前配置git

  使用前需要配置好什麼東西呢?以及如何配置?
  1.身份配置。通常請況下,使用git需要一個身份的配置,用來標記此次代碼提交時誰提交的,到時候出問題好找到這個算賬。

git config --global user.name "姓名"
git config --global user.email 郵箱

  2.文本編輯器設置。git給你設置自己熟悉的文本編輯器的功能,比如vi,vim,其他可支持的都可以。一般很少用到這個,git使用的是系統默認的編輯器vim。

git config --global core.editor 文本編輯器名

  3.查看你的git配置。如果你想查看你git的配置詳情,可以用下面的命令查看。

git config --list

ssh方式:git clone遠程倉庫代碼

  有兩種下載方式方式,一種是是git clone ssh,一種是git clone https。區別就是連接遠程倉庫的方式不一樣,一般而言https容易點。但是它們兩個如果不配置,都繞不過每次push都要輸入賬號密碼。本文針對ssh方式進行操作。

  1.先配置sshkey。其目的是爲了解決每次push需要賬號密碼的操作。
  參考這裏:點擊進入

  2.創建一個文件夾。這個文件夾用來存你克隆的項目
  3.在這個文件夾,右鍵,選擇git bash here。在這個文件夾中開啓git bash,相當於在git bash中進入這個文件夾。
  4.最後,git clone 項目地址,進行克隆。去你的遠程倉庫中,複製ssh克隆地址,以git開頭的url。
  git clone git@xxx/xxx/x/xxx.git

使用中需要注意的地方

  提前告知,有助於不走彎路,否則就得重複操作,一步到位,是最高追求。
注意事項:
1.無論何種場景,除了空倉庫,一定要先將遠程的項目克隆下來,修改克隆下來的項目。
2.在提交前查看下遠程倉庫是否存在文件,比如README.md,在此前需要先把它pull下來,在提交
3.提交單個項目,或者將多個項目提交到同一個倉庫中做法不一致,關鍵是在本地自建的倉庫文件夾中,可以將多個項目文件夾放進去一起提交
4.git中不允許出現子文件夾中還存在.git文件,要把子項目中的.git文件夾刪除。
5.gitLab和github關於分支似乎不太一樣,特別是在git push階段,個人真實體驗,gitlab用git push就能成功,但是github操作就會要git push origin master這裏希望大佬告知一下

master git使用流程

  在主分支上使用git操作很方便,但僅適用於個人開發,或者幾人開發。人數一多,容易產生衝突,而且一旦一人誤操作可能導致主分支的項目代碼丟失和破壞。如果可以,儘可能使用分支開發後在合併到主分支上。

單人開發下載和提交代碼到遠程倉庫完整流程

  單人開發無需考慮衝突

  場景一:新電腦,新安裝git,剛建立遠程新倉庫,準備將本地項目上傳到遠程的新建倉庫,屬於第一次提交項目到剛創建的倉庫。

# 在項目文件夾的根目錄打開git bash/使用idea都可以
# 第一次提交新倉庫,必須git init,表示啓用git管理倉庫,建立本地與遠程的交互
git init
# 關聯遠程倉庫地址
git remote add origin [遠程倉庫地址]
# 可以隨時在每一步之後,查看當前git的狀態,會提示下一步該怎麼操作
git status
# 將項目所有文件/或單個文件添加到暫存區,git將對add的後的代碼進行追蹤
git add ./文件名
# 這一步負責將add後的文件提交到本地倉庫,注意commit前,必須add
git commit -m "提交此次git的說明,一般做功能性描述"
# 最後提交本地倉庫的代碼根據ignore文件,提交項目代碼或文件到遠程倉庫
git push origin master

  場景二:新電腦,新安裝git,已有遠程倉庫,準備將本地項目上傳到遠程倉庫的已有其他項目文件的情況,屬於第一次提交項目到現有的遠程倉庫。

# 首先克隆遠程倉庫的項目到一個新的文件夾
git clone 遠程倉庫地址
# 然後在項目文件夾的根目錄打開git bash/使用idea都可以
# 關聯遠程倉庫地址
git remote add origin [遠程倉庫地址]
# 將遠程的倉庫的文件下載到本地倉庫
# 如果遠程倉庫有readme文件,先將readme文件pull下來,否則就會造成提交不成功。
git pull --rebase origin master
# 編輯項目
將你的項目複製到克隆下來項目文件夾中的指定位置
# 可以隨時在每一步之後,查看當前git的狀態,會提示下一步該怎麼操作
git status
# 將項目所有文件/或單個文件添加到暫存區,git將對add的後的代碼進行追蹤
git add ./文件名
# 這一步負責將add後的文件提交到本地倉庫,注意commit前,必須add
git commit -m "提交此次git的說明,一般做功能性描述"
# 最後提交本地倉庫的代碼根據ignore文件,提交項目代碼或文件到遠程倉庫
git push origin master

  場景三:老電腦,已經安裝git,已有遠程倉庫,準備將本地項目上傳到遠程倉庫的已有其他項目文件的情況,屬於第一次提交項目到現有的遠程倉庫。

# 首先根據上述步驟克隆好項目,並增加修改好代碼
git clone 遠程倉庫地址
# 首先要先確定前面是否已經存在倉庫
git remote -v
# 如果跟當前的項目遠程倉庫地址不一致,刪除綁定的倉庫,注意是否是origin還得看上一步是否顯示的是origin,這裏有可能被修改
git remote rm origin
# 再關聯遠程倉庫地址
git remote add origin [遠程倉庫地址]
# 然後在項目文件夾的根目錄打開git bash/使用idea都可以
# 將所有的項目文件文件git跟蹤目標中,這裏可以指定文件名,添加單個文件
git add .
# 可以隨時在每一步之後,查看當前git的狀態
git status
# 這一步負責將add後的文件提交到遠程倉庫,注意commit前,必須add
git commit -m "提交此次git的說明,一般做功能性描述"
# 最後提交本地倉庫的代碼根據ignore文件,提交項目代碼或文件到遠程倉庫
git push origin master

  場景四:普通提交,不需要配置和考慮其他東西

# 在該項目的文件根目錄上打開git bash
git add .
git commit -m "此次提交的功能性描述"
git push origin master

多人開發提交代碼到遠程倉庫完整流程

  多人開發,如果都在master主分支上開發,容易產生衝突。衝突是指,提交的版本中,git發現上一個和你提交的項目中,存在同時修改同一行代碼的情況,這種情況就需要解決衝突,也就是合併你們衝突的文件,通常git已經將代碼拉到對應的文件中了,需要你手動解決。
  場景五:通過前面的四個場景,度過git的第一次提交後,後面會遇到多人開發中,提交自己修改和增加的代碼後,可能會造成衝突。這就需要用下面的git命令操作

# 首先你的遠程倉庫已經有項目存在了
git add .
git comment -m "功能性描述"
# rebase可以線性的看到每一次提交,並且沒有增加提交節點。
git pull --rebase
# 如果有衝突,會中斷操作,git status查看衝突狀況
git status
# 找到衝突的文件,將別人的代碼保留,刪除衝突節點標誌
# 解決完衝突後,繼續rebase操作
git rebase --continue
# 最後git push上去
git push origin master

自建分支開發提交代碼到遠程倉庫完整流程

  顧名思義,分支就是從主線上分離出來進行另外的操作,而又不影響主線,主線上可以接受他人的提交。最後分支做完事後合併到主線上而分支的任務完成可以刪掉了。主線繼續做它的事,分支用來解決臨時需求,二者互不相干。
  自建分支開發,是標準推薦的git版本控制開發流程。部門中每個開發人員在主分支下,構建自己的分支,開發完後,將自己的代碼合併到主分支上。
  場景六:創建自己的分支,並將自己分支上的代碼合併到主分支上

# 第一步:將遠程倉庫的項目克隆master分支到本地
git clone 遠程項目地址
# 第二步:創建一個本地分支
git branch dev
# 第三步:查看當前分支列表
git branch
# 第四步:切換到本地新建的dev分支
git checkout dev
# 第五步:確認是否切換到dev分支,分支前面帶*號,且高亮
git branch
# 第六步:開始在自己的分支上做開發,開發完成後
# 第七步:將本地dev上的項目執行add操作
git add -A
# 第八步:commit到本地倉庫並描述
git comment -m "功能性描述"
# 第九步:查看當前狀態
git status
# 第十步:切換到本地的master分支,拉取遠程倉庫中最新的代碼
git checkout master
git pull origin master
# 第十一步:在切換到本地dev,並以master分支爲基線合併代碼
git checkout dev
git rebase master
# 第十二步:如果rebase發生衝突,解決衝突後,沒有衝突直接執行第十二步
git add -A
git commit -m "功能性描述"
git rebase --continue
# 第十二步:切換到master分支併合並代碼
git checkout master
git merge dev
# 第十三步:同步到遠程的master分支
git push origin master

  ok,上面就是六個場景下的git操作,可能實際情況中會遇到不同的問題,這時候就依賴度娘了。因此,如果小白不熟悉的git的操作流程的情況下,操作之前先備份一下自己修改後的項目,以便恢復,這是許多小白熬出來的經驗教訓。
  當然,小夥伴們如果遇到其他場景下的git使用,有問題可以留言,我儘量解答,如果我的git操作流程出現不對的地方,儘管批評,我會立即改正,儘量不誤導大夥。

  後續有新的git操作流程,我會更新,歡迎小夥伴們持續關注。

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