git是一個代碼托管的平臺,我們可以對我們的代碼進行分支? 推送提交 打標簽等等操作,而且git使用過程中也是支持一些linux語言的 比如cd呀? touch? mkdir啊等等等
git的具體安裝過程就不再贅述
我個人認為? 好多東西就是 代碼也好? ?文字 文檔 也好,然后都裝在一個文件中,然后這個文件 就像一個倉庫,都創建一個文件,往里面放入一些東西,就像是倉庫存儲東西
1.git 操縱本地倉庫
首先 我們在 本地 c 盤也好d盤也好創建一個文件夾,
然后創建好之后,我們打開該文件夾下的git的bash 窗口,輸入git init 初始化一下我們的本地倉庫,這樣我們的一個本地倉庫就創建好了,但是創建好了并沒有卵用,因為我們對本地倉庫 進行修改 之類的操作之后,我們都是后期需要推送到 遠程倉庫也就是gitee 上面的,我們純粹操作本地倉庫而不去操作遠程倉庫這是不太可取的
好現在進入正題,我們創建好之后,打開這個local文件,里面什么都沒有,我們輸入git init 之后 ,會出現隱藏的.git文件,
這就代表我們的本地倉庫創建成功了,然后 當我們 進行在該文件夾中手動添加一個txt文檔文件,就會出現以下幾種狀態,
首先 我們 假如添加一個 1.txt文件,然后這個文件是在工作區的,我們git add +文件名? 就會放到暫存區,然后再commit 一下 會提交到我們的版本庫當中,就相當于文件保存到了git本地倉庫,如果連接遠程倉庫,我們還需要push 一下推送到遠程倉庫,如果沒有add commit 直接push文件 是不會成功的
然后git reset可以取消暫存和切換到指定版本,就是 我們commit 一次 算一次版本? ?,如果我們第一次commit 一次1.txt然后再commit 一次2.txt 之后,我們使用git log 就會發現有兩個uuid 類似的字符串,我們使用reset 命令 +這個字符串的格式就可以從2.txt的版本直接回退到 1.txt的版本
下面演示一下
我們先添加 兩個文檔 然后? 直接查看
我們已經看到了 兩個commit 的uuid? 而且我們文件中 有 兩個文檔 ,接下來我們直接reset 添加1.txt的版本當中去,就會發現本地倉庫直接回退到只有1.txt的版本,而且值得注意的是 我們回退到1.txt的版中的時候我們git log再查看日志,存在的也只有 1.txt的日志,不會再有之前的兩個日志了
這而且在我們add? ?commit 過程中我們可以 使用status 查看各個文件在我們操作時候的狀態??
2.git操縱遠程倉庫
我們下載好 git 之后, 我們使用國內的代碼托管平臺 gitee,然后 我們在gitee中創建了一個倉庫,這叫遠程倉庫
我們創建好之后 會有一個管理
我們依然 還用我們之前創建的本地倉庫?,我們先來看一段命令
我們再gitee上已經創建好了一個倉庫,里面有 1 2 3 4 四個文檔 我們只需要? git clone 一下 直接拉取到我們的遠程倉庫,就能得到我們的倉庫的所有文件代碼之類的了,但是但是值得注意的是 我們克隆之后會自動添加好遠程倉庫,但是如果我們本地倉庫 建立好之后直接pull 拉取 ,這時候會報錯,解決方法? ?就是再拉取命令之后添加? --allow-unrelated-histories
然后 我們 把 添加遠程倉庫? git remote add? 倉庫簡名? 倉庫地址? ? 這樣添加遠程倉庫就可以了,而且在我們推送的時候, 格式為 git push? 指定的倉庫簡名? 倉庫分支? 就這樣推送??
例子
現在用我們之前創建好的本地倉庫,我們先git remote add 一下遠程倉庫,做好綁定,然后 我們直接 git pull? +倉庫簡名+? 倉庫分支? 的語法 進行代碼的拉取,然后再把我們的5.txt 進行推送? 然后添加
??
值得我們注意的是? 我們 假如 自己 在本地倉庫 刪除了一個文件,然后想要推送上去,一定需要 git add? git commit之后才能push?