git的基礎介紹和使用


git工作原理

git的工作原理還是比較簡單的,當我們創建了本地代碼倉庫后,會在本地代碼倉庫的根目錄中生成一個.git的隱藏文件。

.git為一個文件目錄,又叫做版本庫。在本地代碼倉庫文件夾中,除.git目錄之外的所有與.git同級的目錄及其子目錄都叫做工作區。

工作區(Working Directory):倉庫文件夾里除.git目錄以外的內容

版本庫(Repository):.git目錄,用於存儲記錄版本信息
    暫緩區(stage)
    分支(master):git自動創建的第一個分支
         HEAD指針:用於指向當前分支
git add和git commit的原理

git add :把文件修改或者新添加的文件添加到暫存區
git commit :把暫存區的所有內容提交到當前分支

下圖就可以解釋git add 和 git commit的原理:

 

git常用的命令

0、git init 初始化

1、git add filename.txt  添加要往遠程傳的文件到一個臨時列表

2、git commit -m "xxx"  # 說明為啥上傳

3、git push origin master  # 上傳

4、git clone https://github.com/triaquae/Weibo  # 克隆遠程的項目

5、git status  查看修改結果

6、git log  查看修改過幾次

6.1、git reflog  查看修改過后所有歷史操作

7、git log --pretty=oneline  查看修改過的所有版本

8、git reset --hard 加版本  回滾到哪個版本

9、git reset --hard head^  回滾到上個版本

10、git reset --hard head^^  回滾到上上(回滾到上兩個)個版本

11、git reset HEAD filename.txt  撤回提交到暫存區的操作

12、git checkout --filename.txt  撤銷工作區操作(可以多個文件)

13、git rm filename.txt  刪除暫存區

14、git checkout -b "dev"  創建分支(引號里是分支名)

15、git push origin xxx  提交到分支庫(xxx表示分支名)

16、git branch  查看分支

16.1、git checkout dev  切換到分支庫

17、git merge dev  合並分支庫到主庫(dev表示分支庫)

18、git pull  拉遠程庫的文件

19、git stash  緩存工作區的內容

20、git stash list  查看暫存區的內容

21、git stash apply  把暫存區的內容恢復到工作區

22、git stash pop  把暫存區的內容恢復到工作區並且把暫存區的刪除

23、版本回退:
git reset --hard HEAD : 回退到當前的版本
git reset --hard HEAD^ :  回退到上一個版本
git reset --hard HEAD^^ : 回退到上上個版本
git reset --hard HEAD~100 : 回退到前100版本
git reset --hard 版本號(前5位)

我們修改或者新添加的文件起初是處於工作區,通過git add命令可以把工作區的文件移動到版本庫中的暫緩區(stage)。

處在暫緩區(stage)的代碼可以通過git commit -m “提交的注釋” 提交到版本庫中的分支(master)。

處在分支(master)中的代碼可以通過git push命令push到共享版本庫。

注意:只有分支中的文件才可以push到共享版本庫。

初始化共享版本庫

文件夾作為共享版本庫

1.創建共享版本庫文件夾,然后終端進入該文件夾下執行以下命令創建一個空的共享版本庫
git init --bare
2.項目經理將共享版本庫的內容先下載下來,命令后面的地址即為共享版本庫所在服務器的地址+路徑
git clone 地址
3.添加需要忽略的文件
touch .gitignore
去github上搜索.gitignore->Objective-C,把Objective-C中的內容粘貼到創建的.gitignore文件中(或者直接把github中的Objective-C文件下載到該目錄下)。然后執行以下命令
git add .gitignore
git commit -m “添加了需要忽略的文件”
4.項目經理初始化項目
git commit -m “初始化項目”—>提交到本地代碼倉庫
5.將項目push遠程倉庫中
git push origin
6.當源代碼管理是使用git,並且在Xcode進行多人開發的操作
注意:當使用git,項目中用到了靜態庫就不需要通過命令行進行添加

 git版本備份

1.1.0版本開發完成,之后對1.0版本進行備份
git tag -a weibo1.0 -m “這個是1.0版本” : 給某一個版本打上標簽(weibo1.0是標簽名稱)
git tag : 查看所有的標簽
2.需要將1.0版本的標簽,push到服務器
git push origin weibo1.0
3.繼續開發2.0版本
4.發現1.0版本有bug,從標簽里面clone 1.0版本,從標簽創建一個fixbug分支,在分支中修復bug
git clone 共享版本庫
git checkout weibo1.0(標簽的名稱)
git checkout -b weibo1.1fixbug(分支名稱)
5.修復后的版本上傳AppStore/將1.0fixbug進行備份/將1.0fixbug版本和2.0版本進行合並\
git tag -a weibo1.1 -m “這個是修復了1.0版本bug的1.1版本”
git tag
git push origin weibo1.1
將子分支中代碼合並到主分支,pull—>weibo1.1fixbug—>push master—>其它同事更新
6.刪除分支
git branch -r(r是遠程倉庫的意思,這個命令可以查看遠程倉庫中的分支)
git branch -r -d 分支名稱

基本步驟命令

1)touch README.md文件是關於工程代碼的介紹,類似與使用說明書

2)git init  初始化一個本地的 git倉庫,生成隱藏的.git目錄(隱藏的.git目錄可使用ls -aF命令可以查看到)

3)git add  README.md  把README.md文件添加到倉庫中

4)git commit -m "first commit"  執行提交說明,在Gitz中這個屬於強制性的

5)git remote add origin https://github.com/XFZLDXF/TEST.git   添加本地倉庫origin和指定遠程倉庫地址

6)git push origin master  推送本地倉庫到遠程指定的master分支上

到這基本的git使用已經差不多了,暫時也就總結這些后續會更新補充...

 


免責聲明!

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



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