1. 開始git
1.1
開始一個新的項目,初始化新的代碼倉庫
要對現有的某個項目開始用 Git 管理,只需到此項目所在的目錄,執行:
<code>git init</code>
會在當前目錄下生成一個.git目錄,包含了所有git需要的數據和資源
1.2
把服務端的項目拷貝到本地
git支持許多傳輸協議,如http、https、git、ssh等,下面例子使用git協議
<code>git clone github.com/TheKey-only/ThekeyAndroid</code>
2.跟蹤文件
跟蹤某個文件或者某個目錄下所有文件,就是把需要跟蹤的文件加入暫存區(stage),下面把當前目錄下的所有文件加入到暫存區
<code>git add ./</code>
3. 查看當前文件狀態
<code>git status</code>或者<code>git status xx</code>(指定目錄或者文件的狀態)
執行
可以看到,執行git add ./后,當前目錄下這些文件已經被跟蹤了,被添加到暫存區,同時 (use “git rm –cached…” to unstage)提示你可以使用該命令取消跟蹤。
注:如果你git add xx后又修改了xx文件,此時應該重新執行git add xx,把最新的xx文件添加到暫存區
4.取消跟蹤文件
與跟蹤文件相反,取消跟蹤就是把該文件或目錄從暫存區(stage)移除
<code>git rm --cached c/file_operator/.file_cp.c.swp</code>
此時 c/file_operatorrator/.file_cp.c.swp 已經不在stage區了。可以通過git add重新添加到stage區
5.忽略某些文件
附上我的部分忽略,在gitignore中加入:
<code> # Built application files.apk.ap_# Files for the Dalvik VM.dex# Java class files.class# Generated filesbin/gen/out/# Gradle files.gradle/gradle/build/gradlewgradle.properties# Local configuration file (sdk path, etc)local.properties# Proguard folder generated by Eclipseproguard/# Log Files.log# Eclipse project files.classpath.projectproject.properties# IDEA project files.iml.idea/# OS generated files.DS_Store.DS_Store?._.Spotlight-V100.Trashesehthumbs.dbThumbs.db# othersbuild.xml</code>
之后目錄tree中會將忽略的內容顯示成灰色(AS為暗色主題時為棕色)
6.提交更新
現在把暫存區域中的文件提交到倉庫,每次準備提交之前,運行git status看看需要提交的文件是不是都已經暫存了。
<code>git commit -m “注釋”</code>
提交后它會告訴你,當前是在哪個分支(master)提交的,本次提交的完整 SHA-1 校驗和是什么( 264c7c4),以及在本次提交中,有多少文件修訂過,多少行添改和刪改過.
ps:在提交的時候,給 git commit 加上-a 選項,Git 就會自動把所有已經跟蹤過的文件暫存起來一并提交,從而跳過 git add 步驟:git commit -a -m ‘xxxx’
7. 移動文件
<code>git mv test1.c test2.c</code>
相當于執行了
mv test1.c test2.c
git rm test1.c
git add test2.c
8.修改最后一次提交
有些時候我們執行git commit -m “cc” 執行后,發現還有文件沒有添加到暫存區,想撤銷剛才的提交操作,可以使用git commit –amend修改最后一次提交,重新提交,否則就需要多一次提交。
如:
<code>
git commit -m 'cc'
git add forgotten_file
git commit --amend
</code>
上面的三條命令最終只是產生一個提交,第二個提交命令修正了第一個的提交內容。
9.瀏覽更新歷史
<code>git log</code>
git log可以指定輸出格式,具體可以參考網上其它資料
查看具體的某次改動
git show 哈希值
10. 恢復單個文件歷史版本
查看文件歷史記錄:git log test.py
得到歷史版本號,恢復該文件:
git reset 2e17053b4f5da3b378d6155a174523588d104338 test.py
11. 從服務端接收數據
<code>git pull</code>
12. 推送數據到服務端
執行git commit后,只是把更新提交到本地倉庫,執行git push后才把本地修改更新到服務端