Skip to content

Latest commit

 

History

History
117 lines (91 loc) · 3.33 KB

lecion.md

File metadata and controls

117 lines (91 loc) · 3.33 KB

##安装好git后,第一步配置: git config --global user.name = "lecion" git config --global user.email = "[email protected]"

#初始化一个Repository mkdir rep cd rep git init

#add,commit git add *** git commit -m "***"

#log git log --pretty=oneline git log --graph --pretty=online --abbrev-commit git reflog

#回到历史版本 git reset --hard HEAD^ //HEAD表示当前版本,HEAD^ 上一个版本 HEAD^^ 上两个版本 HEAD~100 前100个版本

#diff 查看差异 git diff ***

#工作区(Working Directory)

电脑里能看到的目录 (比如创建的learngit文件夹就是一个工作区) #版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git版本库。Git的版本库里存了很多东西,最重要的称为stage暂存区。git add 后的内容就是放在暂存区,直到被commit

#撤销修改 git checkout -- *** //把***在工作区的修改全部撤销

  • 没有git add,则恢复到和版本库一模一样
  • 如果git add,则恢复到缓存区的状态

#撤销缓存区(unstage) git reset HEAD *** //把***的修改从缓存区移除

#删除文件 rm test.txt git rm test.txt git commit -m "del test.txt"

如果删错了,用git checkout -- test.txt 即可将版本库的test.txt恢复到工作区,无论是删除或是修改都可以采用此操作

#远程仓库

  • 使用Git,创建SSH Key

    ssh-keygen -t rsa -C "[email protected]"
    
  • 登陆Github, 打开Account Settings, "SSH Keys"页面,填入 id_rsa.pub里的内容

  • Github上创建Repository learngit

  • 将本地现有仓库和git关联

    git remote add origin [email protected]:lecion/learngit.git
    git push -u origin master
    

    因为是第一次提交,需要用-u,不但把本地master分支内容推送到远程新的master分支,还把本地的master分支和远程master分支关联起来,以后提交就可简化命令

  • 如果以后本地做了修改,就可以通过以下命令提交

    git push orgin master
    

#最好的方式

在远程建立一个Repository后,从远程clone

git clone [email protected]:lecion/gitskills.git

#创建新分支 git checkout -b dev

-b表示创建并切换

git branch dev

此种方式也可以

#查看分支 git branch

会列出所有分支,在当前分支前以*标注

#切换分支 git checkout master #合并分支 git merge dev #删除分支 git branch -d dev git branch -D dev

-D强制删除没有合并的分支

#修复Bug git stash

暂存当前工作区,处理完bug后,回到该分支

git stash list

查看暂存列表

git stash pop

弹出最近的stash

git stash apply
git stash drop
git stash apply@{0}

#查看远程库 git remote -v

-v显示详细信息

#推送分支 git push origin master git push origin dev

  • master分支是主分支,因此要时刻与远程同步;
  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同 步;
  • bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每 周到底修复了几个bug;
  • feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

#使用标签 git tag v1.0 git tag -a v0.9 -m "version 0.9 released" 234234 git show v0.1 git tag -d v1.0 git push origin v1.0 git push origin --tag git push origin:refs/tags/v1.0