版權聲明:本文為博主原創文章,未經博主允許不得轉載。
前言
大家好,我是Cavalier,初次寫博客,想先寫一點簡單的開始。還在琢磨拿什么下手,就想起來每天都在用的Git,所以先從Git開始分享一下我的經驗。
下面進入正題
在長期的Git使用中,總結出了以下這些常用命令,對於Git入門下面的命令就夠了。
1.git init
git 初始化一個倉庫
2.git add file
git 加一個文件進緩存區,可添加多個文件
3.git commit -m "des xxxxxx"
commit 刷新緩存區且 -m是描述
4.git status
查看當前的狀態
5.git reflog
查看所有提交的log,可以查看每次變動的版本號,方便查閱
6.git reset --hard HARD^
git的管理用的是一個HARD指針,指向的提交節點就是當前版本,這句是指回滾到上次提交的版本
git reset --hard file
這里的xxxxx指的是版本號,通過此命令可以回滾到指定版本
7.cat xxxx
xxxxx指的是文件全名,包括后綴,此命令查看文件內容
8.git diff HEAD -- file
查看最新版本的xx文件與xx文件的對比
9.git reset HEAD file
把暫緩區的修改撤銷掉(unstage),重新放回工作區
10.git checkout -- file
丟棄工作區的修改
11.git rm
從git 工作區中刪除文件
12.ssh-keygen -t rsa -C "youremail@example.com"
默認三個回車后即在命令目錄中生成了兩個文件,一個沒有后綴名,一個后綴名為.pub的文件
在github中的
setting -> SSH Keys -> New Key
把.pub結尾的文件以文本文件打開后復制到 key 的文本框中,點擊 Add Key 就可以添加本地key到github了
13.git remote add origin git@server-name:path/repo-name.git
關聯本地目錄到遠程庫
14.git push -u origin <branch_name>
第一次推送master分支中所有內容,
-u 參數是將本地的master分支推送到遠程庫中的master分支,且把本地的master分支和遠程master分支關聯起來,以后可以*
平時使用時如果有需要可以直接git push origin master就可以推送到遠程庫
15.git clone you_repo_url
克隆遠程庫
tips:使用ssh協議會比https速度快,因為https協議每次推送都需要口令,但要是部分公司只開放http端口的,就只能用https的
16.git branch
查看分支
17.git branch
創建分支
18.git branch -d
強行刪除分支
19.git checkout
切換分支
20.git checkout -b
創建且切換分支
21.git merge
合並某分支到當前分支,不建議使用
22.git log
查看分支情況
git log --graph
查看分支情況
git log --graph --pretty=oneline --abbrev-commit
查看一行分支提交情況
23.git merge --no-ff -m "des"
合並分支時不使用快速合並方式,因為在團隊中快速合並方式在log中看不出來
24.團隊開發中最好是分三條分支,一條是master分支,一條是dev分支,一條是個人分支,mester分支是必須保持穩定的,dev是開發合並的,在發布的時候將dev和mester合並發布,而平時就個人和dev合並一下。
25.git stash
保存當前分支當前工作區,以便后面恢復繼續
git stash apply 恢復分支,但是stash內容不刪除
git stash drop 刪除stash內容
git stash pop 恢復並刪除stash內容
git stash list 查看stash列表
tips:可以進行多次git stash,利用git stash apply <name> 恢復到指定stash
26.git remote
查看遠程庫信息
git remote -v
查看詳細遠程庫信息
tips:如果沒有推送權限是不會顯示push路徑
27.git push origin
推送指定分支到遠程分支
tips:如果提示"no tracking information"
說明本地分支與遠程分支的關系沒有創建,需要用git --set-upstream <branch-name> origin<branch-name>
28.git pull命令抓取分支
29.git tag
查看所有標簽
git tag <tag-name> 設置當前分支一個表簽名
git tag <tag-name> <commit-id> 設置指定分支的commitId一個標簽名
git tag -a <tag-name> -m "des" <commit-id> 創建帶有說明的標簽
git tag -s <tag-name> -m "des" <commit-id> 采用PGP簽名
git tag -d <tag-name> 刪除標簽
30.git show
查看tag文字說明
31.git push origin
推送標簽到遠程庫
git push origin --tags
一次性推送未推送的標簽到遠程標簽
tips: 如果標簽已經推送到遠程分支,這時想刪除分支就只能先刪除本地標簽,
再推送刪除標簽git push origin :refs/tags/<tag-name>,置於是否刪除了遠程庫的標簽,可以登錄遠程庫查看
32.git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置 輸出簡寫 效果就是直接輸入git lg 即可看到當前提交過的具體詳情
結尾
博客結束,以上純屬個人經驗,如有錯誤請指出,謝謝。
轉載請注明出處