当前位置:   article > 正文

新手入门git命令_git 命令 black -l

git 命令 black -l

什么是git

Git是目前世界上最先进的分布式版本控制系统。我们每一台电脑都可以做代码仓库,我们对当期代码做的任何更改都会存放到我们的Git记录中。当我们写完了手中的代码,我们就可以上传到中间服务器,其他人可以拿到我们的代码,做出更改,使协同开发非常方便。

github上传第一个项目

先来个实操,后面对所有命令一一解析。

#先创建一个工作目录,然后创建你要写的项目代码
#然后执行以下操作
git init  #创建版本库
touch README.md  #创建README文件是必要的
git add . #.表示添加工作区的所有文件
git commit -m 'first commit' #为当前的更改创建第一个版本
git remote add origin https://github.com/xxxxx/xx.git  #添加你的github仓库origin
#git remote  ##此命令可以查看你已有的远程仓库,如果origin已存在则不需要再添加
#git remote rm origin  ##此命令可以删除远程仓库
git -u push origin master  #推送到远程master分支
#如果此步推送出现问题,如fatal: 'origion' does not appear to be a git repository。
#可以先删除origin这个仓库,然后再通过上述git remote add来重新添加一次
#然后重复推送操作即可
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这样我们就成功上传了我们的第一个项目。

相关命令

(1)创建版本库
git init  #初始化,生成.git文件
git add test.c #
git commit -m '版本信息' # 创建一个版本
git log   #查看版本信息
  • 1
  • 2
  • 3
  • 4
(2)版本回退
git add test.c #
git commit -m '版本信息' #再次创建一个版本
  • 1
  • 2

当前版本只记录了对上一个版本的修改,不是简单的覆盖,当需要进行版本回退时,执行下面语句:

git reset --hard HEAD^  #回退到上一个版本
git reset --hard HEAD~10 #回退到倒数第10个版本
  • 1
  • 2

注意上述操作并没有删除当前版本,可以再回到当前版本,此时需要用到版本序列号,通过git log或git reflog来查看。

git reset --hard 版本序列号前几位即可 #回到版本序列号对应的版本
  • 1
(3)撤销修改
#修改未加入暂存区
git checkout -- test.c #未加入暂存区时,撤销工作区中对test.c文件的修改

#修改已加入暂存区
git reset HEAD test.c #把暂存区的修改撤销,回到工作区
git checkout -- test.c #此时即可撤销对test.c的修改
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
(4)对比文件的不同
git diff HEAD -- test.c  #拿版本库的文件和工作区的文件的不同

git diff HEAD HEAD^ -- test.c #版本库的当前版本和上一个版本进行比较
  • 1
  • 2
  • 3
(5)文件删除
#删除文件也是对工作区的改动
rm test.c
git add test.c #或者git rm test.c
git commit -m '删除test.c'  #创建新版本库,该版本中test.c已删除
  • 1
  • 2
  • 3
  • 4
(6)分支操作
git branch  #查看分支信息
git checkout -b dev #创建一个分支dev,并切换到其上工作
git checkout master #切换回master分支
git merge dev   #快速合并dev分区
# git merge --no-ff -m '禁用快速合并' dev
git branch -d dev #删除dev分支
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
(7)解决冲突
git checkout -b dev #创建一个分支dev,并切换到其上工作

# 此处是你做的一些修改,在dev分支修改test.c并提交一个版本 #

git checkout master #再切换回master分支

# 此处是你做的一些修改,在master分支修改test.c并提交一个版本 #

git merge dev   #快速合并dev分区
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

上述过程会发生冲突,在冲突的文件test.c中会有如下的内容出现:

<<<<<<< HEAD
冲突的内容1
=======
冲突的内容2
>>>>>>> dev
  • 1
  • 2
  • 3
  • 4
  • 5

可以手动修改如下:

冲突的内容1 #保留其中之一,或者全保留,或者都不保留
冲突的内容2
  • 1
  • 2

再进行以下操作:

git add test.c  #冲突文件
git commit -m '解决冲突' #重新提交
  • 1
  • 2
(8)bug分支

当正在自己的分支coding时,若有bug修复任务到来,执行以下操作:

git stash    #保护工作现场
git checkout master #切换到有bug的分支
git checkout -b bug-001 #创建临时的分支来修复bug
git add test.c 
git commit -m '修复bug'  #修复bug后提交
git checkout master #回到master分支
git merge --no-ff -m '修复bug-001' bug-001 #禁止快速合并,并合bug-001并分支
git checkout dev #回到自己的工作分支
git stash list  #显示保存工作现场
git stash pop  #恢复工作现场
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

禁止快速合并是为了防止临时的bug分支被删除后,找不到修复bug的记录,因此禁止快速合并,让git帮我们做一次新提交,而不是快速合并。

(9)github克隆项目
git clone git@github.com:xxxx/test.git  #ssh协议克隆
git https://github.com/xxxx/test.git  #https协议克隆
#如果添加了ssh密钥,就使用ssh协议克隆,不需要每次都输入密码
  • 1
  • 2
  • 3

如果克隆出错,可以执行以下命令:

eval "$(ssh-agent -s)"
ssh-add
  • 1
  • 2
(10)github推送分支
git push origin master  #向(github)远程分支推送自己的分支(没有创建新分支,则默认master)
#推送时,github上如果没有master分支,就会自动创建一个master分支。
  • 1
  • 2
(11)跟踪远程分支
#第一个master是远程分支,第二个master是本地分支
git branch --set-upstream-to=origion/master master 

#如果打开了跟踪远程分支,就可以在需要向远程提交更新时,只需以下命令
git push
  • 1
  • 2
  • 3
  • 4
  • 5
(12)拉取代码
git pull origin master  #master是远程分支,视情况而定,可以是其他任何分支
  • 1

工作中使用git的流程

项目的仓库由项目负责人创建,开发人员在本地克隆后,创建本地的工作分支,如dev,在dev分支中进行各自的开发,开发完成后再将本地分支推送到远程的dev分支上。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/466782
推荐阅读
相关标签
  

闽ICP备14008679号