git 笔记:
创建Git版本库:
mkdir 创建文件夹
rm 删除文件夹
cd 进入文件夹
git init 将该目录变成Git可以管理的仓库
git add <file> 添加到仓库
git commit 提交到仓库
git commit -m "备注"
PS:可以add多个文件,然后一次提交到仓库
对于文件的修改后的查询:
git status 查看哪些文件被修改了
git diff 查看修改了哪些内容
版本回退:
git log 查看从最近到最远的提交日志
git log --pretty=oneline 更简洁的显示提交日志
git reset --hard HEAD ~n 向后退n个版本
git reset --hard HEAD ^ 向后退1个版本
git reset --hard "id" 回退到id指定的版本
git reflog 查看命令历史,以便确定要回到未来的哪个版本
暂存区: 暂存add后的文件
git diff HEAD -- 文件名 查看版本库和工作区的文件的差别
撤销修改:
git checkout -- 文件名 丢弃工作区的修改,文件回到版本库的状态(用于没add上去)
git reset HEAD 文件名 撤销add到暂存区的文件(用于已经add上去)
git reset --hard HEAD ~n 退版本(用于已经commit上去了)
删除版本库的文件(用法和add相似):
git rm 文件夹
git commit -m "备注"
删除后可以git checkout -- 文件名 复原
git push -u origin master
初始推送到远程,可以把本地的master分支和远程的master分支关联起来,简化以后的命令
git push origin master 把本地master分支的最新修改推送至GitHub
从远程仓库克隆
git clone git@github.com:AmazingPangWei/gitskills.git 克隆gitskills远程仓库
分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强制删除:git branch -D <name>
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log --graph --pretty=oneline --abbrev-commit命令可以看到分支合并图。
git merge --no-ff -m "附加信息" dev 合并dev分支时,附加信息
git stash 隐藏目前的工作现场
git stash list 查看的信息
git stash pop 恢复+删除
git stash apply 恢复
git stash drop 删除
多人合作:~~~~~~~~
标签:
git tag 查看所有标签
git tag <tagname> 创建标签,默认为最新提交的commit上
git tag <tagname> commit ID 为某一commit创建标签。
可用git log --pretty=oneline --abbrev-commit来查找commit ID
git show <tagname> 查看标签的信息
git tag <tagname> -m "附加信息"
操作标签:
git tag -d <tagname> 删除标签
git push origin <tagname> 推送标签
git push origin --tags 推送全部标签
git push origin :refs/tags/<tagname> 删除一个远程标签
配置别名!!
git config --global alias.<配置后的名字> <要配置的名字> PS:要配置的名字太长就用""扩上
例: git config --global alias.co checkout
创建Git版本库:
mkdir 创建文件夹
rm 删除文件夹
cd 进入文件夹
git init 将该目录变成Git可以管理的仓库
git add <file> 添加到仓库
git commit 提交到仓库
git commit -m "备注"
PS:可以add多个文件,然后一次提交到仓库
对于文件的修改后的查询:
git status 查看哪些文件被修改了
git diff 查看修改了哪些内容
版本回退:
git log 查看从最近到最远的提交日志
git log --pretty=oneline 更简洁的显示提交日志
git reset --hard HEAD ~n 向后退n个版本
git reset --hard HEAD ^ 向后退1个版本
git reset --hard "id" 回退到id指定的版本
git reflog 查看命令历史,以便确定要回到未来的哪个版本
暂存区: 暂存add后的文件
git diff HEAD -- 文件名 查看版本库和工作区的文件的差别
撤销修改:
git checkout -- 文件名 丢弃工作区的修改,文件回到版本库的状态(用于没add上去)
git reset HEAD 文件名 撤销add到暂存区的文件(用于已经add上去)
git reset --hard HEAD ~n 退版本(用于已经commit上去了)
删除版本库的文件(用法和add相似):
git rm 文件夹
git commit -m "备注"
删除后可以git checkout -- 文件名 复原
关于远程仓库的操作:
git pull 将远程仓库和本地仓库整合
vim 中:shift +zz 是保存并退出
git push 推送出去
git remote rm origin 删除现在关联的远程仓库
git remote add origin git@github.com:AmazingPangWei/learngit.git 关联远程仓库git push -u origin master
初始推送到远程,可以把本地的master分支和远程的master分支关联起来,简化以后的命令
git push origin master 把本地master分支的最新修改推送至GitHub
从远程仓库克隆
git clone git@github.com:AmazingPangWei/gitskills.git 克隆gitskills远程仓库
分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强制删除:git branch -D <name>
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log --graph --pretty=oneline --abbrev-commit命令可以看到分支合并图。
git merge --no-ff -m "附加信息" dev 合并dev分支时,附加信息
git stash 隐藏目前的工作现场
git stash list 查看的信息
git stash pop 恢复+删除
git stash apply 恢复
git stash drop 删除
多人合作:~~~~~~~~
标签:
git tag 查看所有标签
git tag <tagname> 创建标签,默认为最新提交的commit上
git tag <tagname> commit ID 为某一commit创建标签。
可用git log --pretty=oneline --abbrev-commit来查找commit ID
git show <tagname> 查看标签的信息
git tag <tagname> -m "附加信息"
操作标签:
git tag -d <tagname> 删除标签
git push origin <tagname> 推送标签
git push origin --tags 推送全部标签
git push origin :refs/tags/<tagname> 删除一个远程标签
配置别名!!
git config --global alias.<配置后的名字> <要配置的名字> PS:要配置的名字太长就用""扩上
例: git config --global alias.co checkout