環境:ubuntu16.04
參考:https://baijiahao.baidu.com/s?id=1621620608602705821&wfr=spider&for=pc
https://www.cnblogs.com/Sharley/p/6133721.html
一、本地倉庫管理:
1、首先切換(進入)到你的項目目錄
cd your_project/
2、本地庫初始化
git init
3、設置簽名
作用:區分不同開發人員的身份。
說明:這裏設置的簽名和登錄遠程庫(代碼託管中心)的賬戶沒有關係。
1)、項目級別簽名:
git config user.name "your_name"
git config user.email [email protected]
查看簽名信息位置:
cat .git/config
2)、系統級別簽名:
git config --global user.name "your_name"
git config --global user.email [email protected]
查看簽名信息位置:
cd ~
cat .gitconfig
4、基本操作
1)、查看狀態:
git status //查看工作區、暫存區的狀態
2)、添加操作:
git add 文件名 //將工作區新建/修改的內容添加到暫存區
git add . //把所有文件加入到暫存區
3)、提交操作:
git commit -m “commit message” 文件名 //將暫存區的內容提交到本地庫,不指定文件名錶示提交所以文件
4)、查看歷史記錄
git log
git log --pretty=oneline
git log --oneline
git reflog (HEAD@{移動到當前版本需要多少步})
5)、前進和後退
git reset --hard 哈希索引值 //基於索引值的操作(推薦做法)
git reset --hard HEAD^ //使用^符號(只能後退,一個^表示後退一步)
git reset --hard HEAD~2 //使用~符號(只能後退,n表示後退n步)
6)、比較文件差異
git diff [文件名] (將工作區中的文件和暫存區的進行比較)
git diff [本地庫歷史版本] [文件名] (將工作區中的文件和本地庫歷史記錄比較,不帶文件名的話,會比較多個文件)
5、分支管理
在版本控制過程中,使用多條線同時推進多個任務。
1)、分支的優勢
a)、同時並行推進多個功能開發,提高開發效率。
b)、各個分支在開發過程中,如果某個分支開發失敗,不會對其他分支有影響,失敗的分支可以刪除,然後重新開始即可。
2)、分支常用命令
git branch -v //查看本地庫中的所有分支
git branch dev //創建一個新的分支
git branch -d dev //刪除指定分支
git push origin --delete dev //刪除遠程分支
git checkout dev //切換分支
git checkout -b dev //創建一個新的分支,並切換分支
3)、分支合併
git checkout master //切換到接收修改的分支
git merge dev //執行merge命令
切換分支後,在dev分支中做出的修改需要合併到被合併的分支master上.
6、衝突解決
1)、原因
當一個分支的內容和另一個分支的內容不同時,此時任一分支合併另一分支過程中就會出現衝突。因此自己分支對應的模塊不能隨意更改其他分支的模塊。
2)解決
a)、編輯文件,刪除特殊符號。
b)、將文件修改完畢後,保存退出。
c)、git add [文件名]。
d)、git commit –m “日誌信息”。
7、項目管理流程
一、服務器倉庫管理
有時候我們需要將自己編寫好的本地代碼上傳到服務器,和服務器的主程序進行merge。這是就需要搭建git服務器。
1、Gogs簡介
Gogs 是一款極易搭建的自助 Git 服務。
Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語言開發使得 Gogs 能夠通過獨立的二進制分發,並且支持 Go 語言支持的 所有平臺,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。
2、搭建Gogs
參考:https://blog.csdn.net/qq_20492999/article/details/80422231
3、使用Gogs
1)、註冊賬號
2)、創建一個repository
3)、 創建本地ssh-key
ssh-keygen -t rsa
4)、查看自己的密鑰
cat /home/bw/.ssh/id_rsa.pub
5)、把祕鑰添加到git服務器
添加之後就可以無障礙訪問git服務器。
6)、找到自己的新建的工程,有一個簡單的教程
另外,如果要從服務器取回與本地合併需要用到pull
比如,要取回origin
主機的next
分支,與本地的master
分支合併,需要寫成下面這樣 -
git pull origin next:master
如果遠程分支(next
)要與當前分支合併,則冒號後面的部分可以省略。上面命令可以簡寫爲:
git pull origin next