Git的使用

一、安装:

下载地址:Gitfor Windows

使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文

二、配置:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

注意:git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址

三、基本操作:

新建一个文件,假设名字为:learngit,在里面新建文件readme.txt(不要用微软自带的文本文件,可以用其他的代替)

初始化:git init

把文件添加到仓库:git add readme.txt

把文件提交到仓库:git commit -m "wrote a readme file"
引号里面的是提交的说明,方便从历史中找到修改的记录。

查看仓库当前的状态:git status

查看修改内容:git diff

显示从最近到最远的提交日志:git log

回退到上一个版本:git reset --hard HEAD^

查看内容:cat readme.txt

回退到最新版本:git reset --hard *** ***表示版本号,

记录你的每一次命令:git reflog

让这个文件回到最近一次git commit或git add时的状态:git checkout -- readme.txt

把暂存区的修改撤销掉:git reset HEAD readme.txt

删除文件:git rm test.txt并且git commit -m "remove test.txt"

四、远程仓库:

注册GitHub账号

打开Git Bash创建SSH KEY:ssh-keygen -t rsa -C "xxx@xxx.com"

在用户目录下有个.ssh目录,里面有id_rsa和id_rsa.pub这两个文件,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

将id_rsa.pub里面的密钥复制到GitHub的SSH中,保存。

GitHub新建一个仓库。

在本地本地的learngit仓库下运行命令:git remote add origin git@github.com:xxx/xxx.git
地址会在创建仓库完成后给出,复制即可。

下一步,把本地库的所有内容推送到远程库上:git push -u origin master

以后只要本地作了提交,就可以通过命令:git push origin master把本地master分支的最新修改推送至GitHub。

从远程仓库克隆:git clone git@github.com:xxx/xxx.git

五、分支管理:

创建分支:git checkout -b dev >-b参数表示创建并切换
相当于:git branch devgit checkout dev

查看分支:git branch >该命令会列出所有分支,当前分支前面会标一个*号

切换到master分支:git checkout master

把dev分支的工作成果合并到master分支上:git merge dev

删除dev分支:git branch -d dev

我们注意到切换分支使用git checkout ,而前面讲过的撤销修改则是git checkout --<file>,新版本的Git提供了新的git switch命令来切换分支:

创建并切换到dev分支:git switch -c dev

直接切换到已有的master分支:git switch master

如果我们修改了dev中的readme.txt又修改了master中的readme.txt,再次合并分支时会出现冲突导致不能正常合并,必须手动解决冲突。

修改:手动进入readme.txt文件,修改<<<<<<<,=======,>>>>>>>标记的内容,然后再添加到缓存,最后提交就可以了。合并完成就可以删除新建的分支!

查看详细的分支合并情况:git log --graph --pretty=oneline --abbrev-commit

通常合并分支时,如果可能Git会用Fast forward模式,但这种模式下删除分支后会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
合并分支:git merge --no-ff -m "merge with no-ff" dev >注意–no-ff参数,表示禁用Fast forward

命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;

命令git tag可以查看所有标签

命令git push origin <tagname>可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d <tagname>可以删除一个本地标签;

命令git push origin :refs/tags/<tagname>可以删除一个远程标签

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值