Git学习笔记

查看git的版本信息
git --version


获取当前登录的用户
git config --global user.name
或git config user.name
--global,代表的是全局所有的仓库,如果对指定的仓库使用不同的用户或邮箱,可以不加此参数。


获取当前登录的用户的邮箱
git config --global user.email
或git config user.email


/*如果刚没有获取到用户配置,则只能拉取代码,不能修改,要是使用git,你要告诉git是谁在使用*/
设置git当前用户
git config --global user.name 'username'


设置git当前用户邮箱
git config --global user.email 'email'


创建一个目录
mkdir filedirname
cd filedirname


初始化git仓库(将某个目录变成git可以管理的仓库,如进入某个目录下初始化一个仓库,此时目录里会有一个.git的隐藏文件夹)
git init 


创建git忽略文件(不需要提交到服务器端的内容可以写到忽略文件里)
touch .gitignore


丢弃工作区某个文件的修改(如该文件的修改,删除等)
git checkout -- filename


本地所有修改,没有提交的都取消修改,恢复到原来的状态
git checkout .


删除一个文件
git rm filename

git忽略本地文件:
1.在config文件的[core]配置中增加忽略文件git.ignore路径
excludesfile = D:/project/Demo/git.ignore
2.在忽略文件git.ignore中添加忽略的文件或者使用忽略文件的规则



把某个文件增加到仓库暂存区中
git add filename


把全部改动添加到仓库暂存区中
git add -A

git add .

取消刚刚提交到暂存区的文件
git rm --cached file_name

增加到版本库中单行注释
git commit -m “提交备注信息”


添加到版本库使用多行注释
方法1)
git commit -m '
1.注释信息1
2.注释信息2
3.注释信息3
'
(注:最后退出',输入法需要切换到英文状态下)



方法2)
git commit
进入编辑注释信息
ctrl+o 保存
Enter 确定
ctrl+X 退出

修改备注信息

git commit --amend

git commit后没有push的情况,需要撤消上一次的修改
git reset --hard commit_id
注:commit_id则回到commit之前的commit_id

如果git commit 后发现commit的信息写错了或者是有的文件忘记提交,并且commit后没有进行过push,可以通过git commit --amend 来对本次commit进行修改
git commit --amend

查看仓库当前状态
git status


查看仓库中某个文件当前修改状态
git diff filename


查看提交历史日志(详细显示日志信息)
git log


查看提交历史日志(简化显示日志信息)
git log --pretty=oneline


当前仓库回退到上一个版本(HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^^表示上上一个版本,上100个版本同理,也可以写成HEAD~1,HEAD~2)
git reset --hard HEAD^


当前仓库回到未来某个版本(comitid为40位sha1的值,可以不写全,多写前面几位comitid位数匹配唯一的就行)
git reset -hard comitid


查看仓库历史提交命令
git reflog


本地关联一个远程库
git remote add origin xxx.git


推送master分支的所有内容(加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令)
git push -u origin master


后续本地修改推送最新修改到远程
git push origin master或git push


从远程master获取最新版本并merge到本地
git pull origin master
此命令其实相当于git fetch 和 git merge
https://www.cnblogs.com/hamsterPP/p/6810831.html


从远程仓库克隆一个本地库
git clone xxx.git
cd xxx
dir








下载远程分支代码到本地
1)先clone主分支代码
 git clone XXX.git
2)进入工程目录
cd xxx
3)切换到分支并下载代码
git checkout -b <本地分支名称>  origin/<远程分支名称>
远程
git checkout -b <本地分支名称>  remotes/origin/<远程分支名称>
git pull

查看所有分支
git branch -a


查看本地分支
git branch


查看远程分支
git branch -r


创建分支
git branch branchname


切换分支
git checkout branchname

例:git checkout master


创建新分支并切换到新分支
git checkout -b branchname


删除分支
git branch -d branchname


在分支上提交新的版本
git commit -a -m 'branchname'


把某个分支branchname合并主分支(先切换到主分支master,再合并分支)
git checkout master
git merge branchname


当前分支远程不存在,上传到远程服务器
git push origin branchname


当前分支远程上传到远程服务器
1)先与远程分支相关联(如果未建立关联需要执行此步骤)
git remote add origin XXX.git
2)将分支上传到远程(localbranchname必须为本地存在的分支)
git push origin localbranchname

git push origin localbranchname:remotebranchname


当前分支获取远程分支上最新代码
git pull origin branchname


重命名本地分支
git branch -m <old_branch_name> <new_branch_name>  


重命名远程分支
重命名远程分支:其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支


删除远程分支
git push origin --delete <branchName>

git push origin:branchname(推送一个空分支到远程分支,其实相当于删除远程分支):
或git push origion:heads/branchname




Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题.


列出当前仓库的所有标签
git tag


创建标签
git tag <tagname> [CommitID] 默认为HEAD,也可以指定一个commit id
或git tag -a <tagname> -m "describe information" [CommitID]
git tag -a V0.0.1 CommitID
如git tag -a V0.0.1

如git tag -a V0.0.1 49e0cd22f6bd9510fe65084e023d9c4316b446a6

git tag -a V0.0.1 -m "version 0.1 released" 49e0cd226a6
用-a指定标签名,-m指定说明文字

git tag -a V0.0.1 -m "version 0.1 released" 49e0cd22f6bd9510fe65084e023d9c4316b446a6


创建轻量标签
轻量标签指向一个发行版的分支,其只是一个像某commit的引用,不存储名称时间戳及标签说明等信息
git tag <版本号>-light
如git tag V0.0.1-light


列出符合模式的标签
git tag -l 'V0.0.*'
如显示出V0.0.1标签


查看标签版本信息
git show V0.0.1


切换标签
git checkout tagname


删除标签
git tag -d <tagname>
git tag -d V0.0.1


发布标签(提交到远程服务器)
git push origin V0.0.1


将本地所有标签一次性提交到git服务器
git push origin --tags


删除远程标签
git push origin :<tagname>
git push origin :refs/tags/<tagname>
如git push origin :refs/tags/V0.0.1 旧版本Git

git push origin --delete tag <tagname>
如git push origin --delete V0.0.1 Git版本 > V1.7.0


获取远程tag或者用来判断远程tag是否存在
git fetch origin tag <tagname>


签署标签
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a (annotated)改为 -s (译注: 取 signed 的首字母)即可:
git tag -s <tagname> -m 'my signed tag'


验证标签(verify)
此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中,才能验证
git tag -v <tagname>


查看历史中什么时候出现了分支、合并
git log --oneline --graph


拉取tag分支
git checkout -b branch_name tag_name
 

===================================================================
Git global setup:
git config --global user.name "Sunrier"
git config --global user.email "Sunrier@163.com"

Create a new repository:
git clone xxx/projectname.git
cd projectname
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder:
cd existing_folder
git init
git remote add origin xxx/projectname.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository:
cd existing_repo
git remote rename origin old-origin
git remote add origin xxx/projectname.git
git push -u origin --all
git push -u origin --tags



===================================================================
下载远程分支代码到本地
1)先clone主分支代码
 git clone XXX.git
2)进入工程目录
cd xxx
3)切换到分支并下载代码
git checkout -b <本地分支名称>  origin/<远程分支名称>
远程
git checkout -b <本地分支名称>  remotes/origin/<远程分支名称>
git pull


把全部改动添加到仓库暂存区中
git add -A

git add .


增加到版本库中单行注释
git commit -m “提交备注信息”


添加到版本库使用多行注释
方法1)
git commit -m '
1.注释信息1
2.注释信息2
3.注释信息3
'


当前分支远程上传到远程服务器
1)先与远程分支相关联(如果未建立关联需要执行此步骤)
git remote add origin XXX.git
2)将分支上传到远程(localbranchname必须为本地存在的分支)
git push origin localbranchname

git push origin localbranchname:remotebranchname

===================================================================

待定,工作过程中遇到相关问题再补充......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值