Git常用操作

一:常用命令;
1:配置用户名和邮箱(注意有两个"-")
git config --global user.name “Lanbo”
git config --global user.email “abcd@163.com”

2:查看是否配置成功
git config --list

二:创建仓库(本地仓库)
1:初始化一个空的仓库Git (比如在E盘创建一个Git目录,专门用来存放项目的,在里面新建一个gitDemo1,进入,然后git init)
git init
命令执行后会创建一个隐藏的.git目录,linux命令ls -a可以查看隐藏目录

2:添加文件到仓库中 (创建一个文件比如test.txt,可以vim创建或者直接echo “Hello Git” >> test.txt)
git add test.txt //添加文件
git commit -m “提交信息,描述文件主要是干什么的” //提交

3:查看仓库状态
git status
//回车后显示:
hushengzhang@****** MINGW64 /e/Git/gitDemo1 (master)
$ git status
On branch master //表示当前在master分支
nothing to commit, working tree clean //说明所有本地的修改都已经提交到当前的分支,那么就说是干净的,相反都是dirty

三:工作流
仓库创建好后,就可以工作了,
–比如现在有需求了,接到产品经理的需求
在gitDemo2文件夹里编码,比如创建work.txt文件(内容为“产品经理第一天提的需求”),这时git status会提示work.txt文件在工作区,通过
git add
命令将文件提交的暂存区,
然后
git commit
提交,
–但快要下班时,产品经理突然变更需求了
那么需要修改work.txt(加上内容“第一天需求变更”)文件,修改好后,git --status会提示文件已修改,需要添加到暂存区里,
git add work.txt
注意,这只是开发中的修改,还没做测试,还不能提交到本地仓库,只用添加到暂存区就可以下班走人
–到了第二天,昨天的测试完成了,需要提交,但是产品经理说上次的修改不需要
那么需要执行
git reset HEAD work.txt
命令,将暂存区的修改回归到工作区,执行后打开work.txt文件发现上次修改的
内容还在,执行
git checkout – work.txt
就可以使工作区的文件clean,即不需要什么操作了,比较干净了,现在再去打开文件就会发现上次修改的内容不在了
然后第二天工作完成了,(work.txt文件加上内容"第二天需求",然后add commit)
–产品经理说第二天的需求不需要做
那么需要回滚到第一次提交的状态,首先执行
git log
复制第一次提交的commit号,然后执行
git reset --hard fe2160ea00abf590b38e1c11aa5991ffd8cb7924
就可以回滚到第一次提交的状态了
–产品经理又说,这次的需求不需要做
那么需要清空work.txt文件了,执行
git rm work.txt
本地的work.txt文件已经清空了,但是还没提交,提交后working tree才是clean的

四:远程仓库
由于公司禁用GitHub,所以用的是GitLab,操作大体都差不多,先在GitLab上新建一个项目demo1,然后再里面新建两个
文件夹dev1和dev2,模拟一个项目组中有多个人员,各自将代码push到各自的文件夹中。一般项目中都是多个人将自己负责
的代码提交到远程仓库中,比如新建了一个项目training,在远程仓库中SSH路径是
git@...:hushengzhang/training.git,为了方便,新建一个文件夹Git,进入Git,现在Git文件夹是空的
1:首先,创建SSH key(不添加key是需要密码的,一般都会创建key)
ssh-keygen -t rsa -C [邮箱]
注意-C是大写,回车后会提示,一般都回车,或者按y即可,生成的key默认在根目录下的.ssh文件夹里的id_rsa.pub
里,将里面内容复制,在gitlab上添加ssh key,标题随便,将key复制进去即可
可以执行这条命令看是否本地和Github关联了
ssh -T git@github.com
2:将远程仓库中的项目克隆到本地
git clone git@...:hushengzhang/training.git
克隆好后,本地Git文件夹里就会多了一个文件夹(比如training),进入training,这个文件夹和远程仓库中是一样的,
比如里面有3个开发人员,dev1,dev2,dev3,自己是dev3,那么将自己代码拷贝到dev3里
3:添加
初始化完成后,由于一般都是多个文件,执行
git add .
4:commit
添加完成,就可以提交了
git push即可
然后刷新,就可以在远程仓库中看到了
五、标签管理
在日常工作中,如果需要回滚到某个版本,通常是通过标签回滚,而不是通过分支或者commit回滚,并且创建和删除
标签速度很快,下面是比较常用的tag命令
1)查看所有标签 git tag
2)创建标签 git tag myTag
3)创建标签时指定提交信息 git tag -a myTag -m “注释”
4)删除标签 git tag -d myTag
5)发布标签 git push origin myTag

六、分支管理
比如在开发过程中,需要修bug,如果在master上直接修改,可能会影响到其他正在工作的同事,需要创建一个自己的
分支,在自己的分支上修改,修改好后merge到master分支
常用命令;
1)查看所有分支 git branch
$ git branch
* master
*表示当前所在的分支
2)创建分支 git branch myBranch
3)切换分支 git checkout myBranch
4)删除分支 git branch -d myBranch
5)发布分支 git push origin myBranch (好像这个命令没啥用)
那么首先创建一个bug分支(git branch bug),然后切换到bug分支(git checkout bug)
创建一个bug.txt文件,写入“bug已经修复”,(echo “bug已将修复” >> bug.txt),然后添加到本地仓库(git add .)
提交(git commit -m “在bug分支修复bug”),好了,然后需要合并到master分支,先要切换到master分支,然后
合并到maseter分支(git merge bug)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值