1. 程式人生 > >Git學習--入門

Git學習--入門

可能 小技巧 一個 信息 set 版本 管理所 取消 解決

安裝Git 下載地址:https://git-for-windows.github.io/

下載好git後 ----------

創建代碼倉庫----新建一個郵箱和名字

技術分享圖片

創建代碼倉庫--

代碼倉庫是用於保存版本管理所需要信息的地方,所有本地提交的代碼都會被提交到代碼倉庫中,如果有需要還可以再推送到遠程倉庫中。
現在嘗試給BroadcastBestPractice項目建立一個代碼倉庫,開始打開Git --Git Bash,或者直接進入你項目的目錄裏右鍵--Git Bash Here

輸入git inti
這樣就完成了創建代碼倉庫的操作
技術分享圖片

代碼倉庫創建完成後,會在BroadcastBestPractice項目的根目錄下生成一個隱藏的.git文件夾,這個文件夾就是用來記錄本地所有的Git操作的,可以通過ls -al 命令來查看一下
技術分享圖片

如果你想要刪除本地倉庫,只需要刪除這個.git文件夾就好了

代碼倉庫現在已經創建好了

提交本地代碼

代碼倉庫建立完之後就可以提交代碼了,提交代碼的方法也非常簡單,只需要使用add和commit命令就行了。
add用於把想要提交的代碼先添加進來
而commit則是真正地去執行提交操作

git add 文件名.後綴
git add 目錄名
git add . (代表將所有的文件都添加進來)

當你指定的文件都添加好了,就可以提交一下了
git commit -m "First commit"
註意:在commit命令的後面,我們一定要通過-m參數 來加上提交的描述信息,沒有描述信息的提交被認為是不合法的,會無法提交成功。

如果那個目錄沒有被git init(初始化倉庫),那麽它是不會顯示那個master的

技術分享圖片

技術分享圖片

記住:add命令叫添加 ,commit命令叫提交,後面不要忘記我是說哪一個。

add過了 就會變綠色

.gitgnore(忽略文件)的意義

.gitignore文件裏面的內容是,記錄著指定的文件或目錄,這些都會被排除在版本控制之外,既會忽略這些指定的文件目錄的變動

技術分享圖片
技術分享圖片

添加了這樣兩行配置,現在我們可以提交代碼了,先使用add命令將所有的文件進行添加

git add .
git commit -m "First commit"

技術分享圖片

查看修改內容

查看自上次提交之後文件修改的內容
---註意是上次commit,而不是add
在進行了第一次代碼提交後,我們後面還可能會對項目不斷的添加代碼或其他,比較理想的情況下每當完成一小塊功能就執行一次提交

,但是如果某個功能牽扯到的代碼比較多,以至於寫到後面都忘記前面修改了什麽內容,因為這個而猶豫要不要提交。那麽這是查看修改內容的作用就出來了。下面學習一下如何使用Git 來查看自上次提交(commit)後文件修改的內容

查看文件修改情況命令--- git status
現在隨便修改一些代碼
技術分享圖片

技術分享圖片

然後我現在重新輸入 git status
技術分享圖片

Git提示我們MainActivity.java這個文件發生了更改,那麽如何才能拿看到更改後的內容呢

git diff

git diff 查看所有文件的更改內容
如果只想看MainActivity.java這個文件的更改內容可以使用如下命令:
git diff app/src/main/java/com/example/broadcastbestpractice/MainActivity.java --註意斜杠方向
技術分享圖片

撤銷未提交的修改

假如我們添加代碼後反而寫錯了反而改出了問題。那麽 只要代碼還未提交,所有修改的內容都是可以撤銷的。

git checkout XXXX

執行這個命令後,我們對XXX這個文件所做的一切修改就應該都被撤銷了
git checkout app/src/main/java/com/example/broadcastbestpractice/MainActivity.java
然後再重新輸入git status 命令來檢查一下
技術分享圖片
可見撤銷操作成功了,
發現真實的代碼那邊 真的也撤銷了代碼了。如下圖
技術分享圖片

不過這種撤銷方式只是用於還沒有被add命令的文件,如果某個文件已經被添加過了,這種方式就無法撤銷其更改的內容

實驗一下,add 後還能不能撤銷

技術分享圖片

然後git add .
添加後,然後再git status
技術分享圖片

現在我們再執行一遍checkout 命令,你會發現MainActivity的代碼仍然處於已添加的狀態,照以前來說,只要checkout後再git status,那行修改文件 都不會再這個控制臺出現了。然而現在所修改的內容無法撤銷掉了
技術分享圖片

解決辦法

對於已添加的文件我們應該先對其取消添加,然後才可以撤回提交。
取消添加使用的是reset命令

git reset HEAD XXXXXXX

git reset HEAD app/src/main/java/com/example/broadcastbestpractice/MainActivity.java

技術分享圖片
可以發現,MainActivity.java這個文件重新變回了未添加狀態,此時就可以使用checkout命令來將修改的內容進行撤銷.。(只要它還是處於紅色的,那麽我就可以用checkout命令使它撤銷)
小技巧:用TAB補全鍵可以加快輸入包名的速度
checkout前:
技術分享圖片

checkout 後:
技術分享圖片

查看提交記錄

當BroadcastBestPractice這個項目開發了幾個月之後,我們可能已經執行過上百次的提交操作了,這個時候估計你早就已經忘記每次提交都修改了哪些內容。

git log

技術分享圖片

可以看到每次提交記錄都包含提交id,提交人,提交日期一級提交描述這4個信息,那麽我現在修改一下代碼,然後再執行一次提交操作。
技術分享圖片

技術分享圖片

當提交記錄非常多的時候,如果我們只想查看其中一條記錄,可以在命令中指定該記錄的id,並加上-1參數 表示我們只想看到一行記錄,如下所示:

git log 1b08efe2b47630105a35cf02e751b99e65b3fb4f -1
技術分享圖片

如果想要查看這條提交記錄具體修改了什麽內容,可以在命令行中加入-p參數,命令如下

git log 1b08efe2b47630105a35cf02e751b99e65b3fb4f -1 -p
技術分享圖片

暫時到這裏

Git學習--入門