Git 笔记

大一的时候 基本的学了一遍GIT 后来入了python web的坑 发现周围就我一个写PY的做项目都是后台自己写 所以基本就服务器直接开发了然后直接给别人用 考虑到这不是长久之计 学习 docker 和 git 进行 环境控制 版本控制 

这里写图片描述

基本提交与使用

#初始化仓库: 
git init
#将本地库与远程仓库关联:
git remote add origin [email protected]:CCyutaotao/***.git

文件准备

#提交新文件 修改过的文件 不包括被删除的文件 新建远程库后 第一次push可以使用 .
git add .
#提交所有变化
git add -A
#提交修改的和删除的 不包括新文件
git add -u
#本地commit
git commit -m 'some message'

向远程库提交(push)

#第一次推送
git push  -u origin master
#之后只要本地commit之后,直接
git push origin master

从远程拉取(pull)
下载

git clone

从远程获取最新版本merge到本地

git pull origin master

分支与版本信息

#本地分支/远程分支/全部分支
git branch /git branch -r /git branch -a
#新建分支/切换分支/新建并切换
git branch dev/ git checkout dev/git branch -b dev
#合并分支到当前分支
git merge dev
#删除本地分支/删除远程分支 
git branch -d dev/ git push origin --delete dev 
#同步本地远程分支
git fetch

远程分支:

从远程分支 checkout 出来的本地分支,称为 跟踪分支 (tracking branch)。跟踪分支是一种和某个远程分支有直接联系的本地分支。在跟踪分支里输入 git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。同样,在这些分支里运行 git pull 会获取所有远程索引,并把它们的数据都合并到本地分支中来。
#显示有变更的文件
git status
#显示当前分支的版本历史
git log
#显示commit历史,以及每次吃commit发生变更的文件
git log --stat

标签

# 列出所有tag
git tag
# 新建一个tag在当前commit
git tag tag_name
# 新建一个tag在指定commit
git tag tag_name commit_id
# 删除本地tag
git tag -d tag_name
# 删除远程tag
git push origin :refs/tags/tag_name
# 查看tag信息
git show tag_name
# 提交指定tag
git push remote_name tag_name
# 提交所有tag
git push remote_name --tags
# 新建一个分支,指向某个tag
git checkout -b branchname tag_name

撤销

#重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset file_name


# 重置暂存区与工作区,与上一次commit保持一致
git reset --hard

# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset commit_id

# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard commit_id

#新建一个commit用来撤销指定commit 后者的所有变化都将被前者抵消,并且应用到当前分支
git revert commit_id

你可能感兴趣的:(LInux)