#git 使用笔记

git 学习笔记

(本文主要是在学习廖雪峰大神时记下相关知识点,以备查忘)

安装git

sudo apt-get install git    # 安装git
git config --global user.name 'My Name'  # 设置名字
git config --global user.email '[email protected]'
git config --all  # 列出当前所有参数

创建git

git init  # 初始化,将当前目录变成Git可以管理的仓库
ls -ah   # 查看隐藏目录,有 .git 目录
git add <file>   # 可添加多个文件
git commit -m  'explanation'    # 添加解释

版本恢复

git status    # 查看文件修改了是否未提交
git diff <file>    # 查看文件修改了哪些地方
git log  # 查看 历史提交记录
git log --pretty=oneline  # 提交记录,只显示关键信息
git reset --hard HEAD^  # 回退到上一个版本
git reset --hard 3628164   # 根据commit id 恢复到指定的版本
git reflog    # 查看命令历史
git reset HEAD <file>   # 将缓存区的撤回到工作区,相当于撤销 git add 命令
git checkout --  # 版本库里的版本替换工作区的版本
git rm <file>   
git commit -m "remove readme.txt"  # 从版本库删除文件

远程库

git remote add origin git@github.com:github_username/repo_name.git  
# 如果origin已存在,先执行git remote rm origin
git pull   # 将远程库对应分支fetch and merge
git remote # 显示要推送的远程库别名
git push -u origin master  # 将分支master推送到远程库origin
git push origin   # 将分支branch_name推送到远程库origin上
git clone git@github.com:michaelliao/gitskills.git  # 下载远程库master分支
git checkout -b  orgin/  # 将远程分支clone到本地
git branch --set-upstream  origin/ # 本地跟远程分支建立联系

分支管理

git branch    # 从当前分支创建另一个分支
git checkout    # 切换分支
git checkout -b <name>  # 创建并切换分支
git branch   # 查看分支
git merge <name>  # 合并指定分支到当前分支
git branch -d  <name>  # 删除分支
git branch -D  <name>  # 强行删除分支
git log --graph  # 以图形方式查看提交历史
git merge --no-ff -m "merge with no-ff"   #合并新分支, 不抹掉历史
git stash   # 保存当前工作区,除非有没被Git管理的文件
git stash list   # 查看保存的工作区
git stash pop   # 恢复的同时把stash内容也删了

标签管理

git tag  v1.0  # 对当前分支打上指定标签
git tag v1.1   # 对指定的 commit id 打上指定的标签
git tag -a v0.1 -m "version 0.1 released" 
git show  # 看指定标签的说明文字
git tag -d v1.0  # 删除本地的指定标签
git push origin :refs/tags/v1.0  # 删除远程上的指定标签
git push origin v1.0   # 推送指定标签到远程上
gt push origin --tags   # 推送所有标签到远程上

自定义git

git config --global color.ui true  # 允许git适当地显示不同的颜色
忽略某些文件时,需要编写.gitignore.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

注意

  1. 所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件、程序代码等
  2. 注意工作区和版本库(缓存区、master)之间的含义,必须先add到缓存区,再commit到master
  3. 合并的时候,有可能会产生冲突。
    冲突的产生是因为在合并的时候,不同分支修改了相同的位置。所以在合并的时候git不知道那个到底是你想保留的,需要手动选择想要保留的内容,解决冲突。

参考网址:
廖雪峰官网Git教程
Git教程首页
Git 提示fatal: remote origin already exists 错误解决办法
git2.9.2使用总结

你可能感兴趣的:(git,git)