Git基本指令
$ git init /創(chuàng)建版本庫
$ git add <file> //文件修改添加到暫存區(qū)
$ git commit -m “commit description” // 把暫存區(qū)的所有內(nèi)容提交到當前分支昭抒。
Git版本管理
$ git status //查看倉庫當前狀態(tài)
$ git diff filename.suffix //查看文件被修改內(nèi)容
$ git log // 查看版本更改歷史記錄
$ git reflog // 查看命令歷史記錄
$ git reset --hard HEAD^ // 回退到上一個版本
$ git reset --hard HEAD^^ // 回退到上上一個版本
$ git reset --hard 3628164 //3628164 is commit id
$ git update-index --skip-worktree [file] //當本地改動無須同步到遠程服務器時
$ git update-index --assume-unchanged [file] // 假定開發(fā)人員不會更改文件蚀浆,此標記旨在為無變化文件夾(如 SDK)改善性能。
- HEAD指向的版本就是當前分支的當前版本,因此钻哩,Git允許我們在版本的歷史之間穿梭,使用命令git reset –hard commit_id肛冶。
- 穿梭前街氢,用git log可以查看提交歷史,以便確定要回退到哪個版本睦袖。
- 要重返未來珊肃,用git reflog查看命令歷史,以便確定要回到未來的哪個版本馅笙。
Git倉庫修改
$ git checkout -- readme.md //撤銷文件在工作區(qū)的修改
$ git reset HEAD readme.md //撤銷文件在暫存區(qū)的修改
$ git reset --hard HEAD^ //撤銷文件在版本庫的修改
$ git rm readme.md //刪除版本庫中的文件
$ git commit -m "remove readme.md"
- 就是你在電腦里能看到的目錄
- 工作區(qū)有一個隱藏目錄.git伦乔,這個不算工作區(qū),而是Git的版本庫董习。
-
Git的版本庫里存了很多東西烈和,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動創(chuàng)建的第一個分支master皿淋,以及指向master的一個指針叫HEAD招刹。
Git分支管理
$ git branch dev // 創(chuàng)建分支dev
$ git branch dir/branch // 創(chuàng)建帶目錄的分支
$ git checkout dev // 切換分支到dev
$ git checkout -b dev // 創(chuàng)建并切換到dev
$ git branch // 查看當前分支
$ git branch -a // 查看遠程分支
$ git merge dev // 合并指定分支到當前分支
$ git status // 如分支沖突時,可以查詢沖突文件
$ git log --graph --pretty=online --abbrev-commit//查看分支合并情況
$ git branch -d dev // 刪除分支dev
$ git push origin --delete <branchName> //刪除遠程分支
$ git push origin :<branchName> //刪除遠程分支
$ git push origin --delete tag <tagname> //刪除遠程tag
$ git tag -d <tagname>
$ git push origin :refs/tags/<tagname> //刪除遠程tag
Git遠程倉庫
$ ssh-keygen -t rsa -C "youremail@example.com" // 創(chuàng)建SSH Key
$ git remote add origin git@github.com:jerkwisdom/learngit.git //關(guān)聯(lián)遠程倉庫
$ git remote rm origin //清空遠程倉庫
$ git push -u origin master // 第一次推送內(nèi)容到遠程倉庫
$ git push origin master // 后續(xù)推送內(nèi)容到遠程倉庫
$ git clone git@github.com:JerkWisdom/Test.git // 從遠程庫克隆
Git相關(guān)名詞
- HEAD指向當前分支的當前版本窝趣,HEAD^指向當前分支的上一個版本蔗喂,以此類推。
- master為倉庫的主分支
- origin為遠程倉庫
Git換行符自動轉(zhuǎn)換
1高帖、在.gitignore相同目錄下增加 .gitattribute 文件
2缰儿、在其中輸入 * text eol=lf (UNIX) or * text eol=crlf (Windows)
3、提交代碼到git上
歡迎訪問我的個人博客click me