git 简易指南+常用命令
git 簡易指南? ? ? ? ? ? ? ? ? ? ??git 常用命令
?
---------------------------------------------------------------------------------------------------------------------
HEAD代表當前最新狀態(tài)。
tag為某個狀態(tài)的標簽。
SHA1為每個提交日志的唯一標識。
?
install
apt-get install git-core
?
?
git clone
git倉庫可以使用git clone獲得:
git clone git://url
?
也可以通過瀏覽器瀏覽。
http://url/gitweb/
?
通過git pull更新倉庫,使用git init-db初始化自己的倉庫。
?
?
config
開發(fā)人員需要為git倉庫配置相關信息,這樣在提交代碼時,這些信息會自動
反映在git倉庫的日志中。
git config user.name "your name"
git config user.email yourname@email_server
git config core.editor vim
git config core.paper "less -N"
git config color.diff true
git config alias.co checkout
?
git config alias表示,可以用git co代表git checkout。git var -l可以查看
已經設置的配置。
?
?
diff
開發(fā)人員在本地進行開發(fā)后,可以使用git diff查看改動。
除了直接比較當前開發(fā)后的改動外,git diff還可以:
git diff tag ? ? ? ? ? ? ? ? ? ?比較tag和HEAD之間的不同。
git diff tag file ? ? ? ? ? ? ? 比較一個文件在兩者之間的不同。
git diff tag1..tag2 ? ? ? ? ? ? 比較兩個tag之間的不同。
git diff SHA11..SHA12 ? ? ? ? ? 比較兩個提交之間的不同。
git diff tag1 tag2 file or
git diff tag1:file tag2:file ? ?比較一個文件在兩個tag之間的不同。
?
ORIG_HEAD用于指向前一個操作狀態(tài),因此在git pull之后如果想得到pull的
內容就可以:
?
git diff ORIG_HEAD
?
git diff --stat ? ? ? ? ? ? ? ? 用于生成統計信息。
git diff --stat ORIG_HEAD
?
?
apply
git apply相當于patch命令。
--check 檢查能否正常打上補丁,-v verbose模式, -R reverse模式,反打補丁。
?
?
log
git log file ? ? ? ? ? ? ? ? ? ?查看一個文件的改動。
git log -p ? ? ? ? ? ? ? ? ? ? ?查看日志和改動。
git log tag1..tag2 ? ? ? ? ? ? ?查看兩個tag之間的日志。
git log -p tag1..tag2 file ? ? ?查看一個文件在兩個tag之間的不同。
git log tag.. ? ? ? ? ? ? ? ? ? 查看tag和HEAD之間的不同。
?
?
commit
git commit -a -e ? ? ? ?提交全部修改文件,并調用vim編輯提交日志。
git reset HEAD^ or
git reset HEAD~1 ? ? ? ?撤銷最后一次提交。
git reset --hard HEAD^ ?撤銷最后一次提交并清除本地修改。
git reset SHA1 ? ? ? ? ?回到SHA1對應的提交狀態(tài)。
git reset ?== ?git reset --mixed
?
add/delete/ls
git add -a ? ? ? ? ? ? ?添加所有文件。除了.gitignore文件中的文件。
git rm file ? ? ? ? ? ? 從git倉庫中刪除文件。
git commit ? ? ? ? ? ? ?添加或是刪除后要提交。
?
git ls -files -m ? ? ? ? 顯示修改過的文件。
git ls -files ? ? ? ? ? ?顯示所有倉庫中的文件。
?
git中有四種對象:blob、tree、commit、tag。
blob代表文件,tree代表目錄,commit代表提交歷史,tag代表標簽。
這四種對象都是由SHA1值表示的。在倉庫的.git目錄中保存了git管理倉庫
所需要的全部信息。
?
git ls-tree HEAD file ? 顯示file在HEAD中的SHA1值。
git cat-file -t SHA1 ? ?顯示一個SHA1的類型。
git cat-file type SHA1 ?顯示一個SHA1的內容。type是blob、tree、commit、tag之一。
?
patch
git format-patch -1 ? ? 生成最后一個提交對應的patch文件。
git am < patch ? ? ? ? ?把一個patch文件加入git倉庫中。
git am --resolved ? ? ? 如果有沖突,在解決沖突后執(zhí)行。
git am --skip ? ? ? ? ? 放棄當前git am所引入的patch。
?
?
conflict
git merge ? ? ? ? ? ? ? 用于合并兩個分支。
git diff ? ? ? ? ? ? ? ?如果有沖突,直接使用diff查看,
? ? ? ? ? ? ? ? ? ? ? ? 沖突代碼用<<<和>>>表示。手動修改沖突代碼。
git update-index ? ? ? ?更新修改后的文件狀態(tài)。
git commit -a -e ? ? ? ?提交為解決沖突而修改的代碼。
?
?
branch
git branch -a ? ? ? ? ? 查看所有分支。
git branch new_branch ? 創(chuàng)建新的分支。
git branch -d branch ? ?刪除分支。
git checkout branch ? ? 切換當前分支。-f參數可以覆蓋未提交內容。
?
?
daemon
有時更新公共代碼倉庫使用patch的方式,或者直接
用git pull git://ip/repo branch
的方式更新每個人的代碼。使用git pull的方式需要
提交代碼的機器運行:
git daemon --verbose --export-all --enable=receive-pack --base-path=/repo
?
?
request-pull
git request-pull start url ? ? ?用于產生本次pull請求的統計信息。
?
?
clean
git clean -dxf ? ? ? ? ?用于清除未跟蹤文件。
git clean -dnf ? ? ? ? ?可以顯示需要刪除的文件,但不包括被.gitignore忽略的。
git reset --hard HEAD ? 用于清除跟蹤文件的修改。
總結
以上是生活随笔為你收集整理的git 简易指南+常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Crash分析工具arm
- 下一篇: Linux 解压命令