简单的git命令

1、设置用户名,邮箱

git config --global user.name "name"
git config --global user.email "xxxx@xx.com"

2、创建目录,并把该目录变成可以管理的仓库

 cd D:
 cd xxuxe
 mkdir learngit
 git init

3、 把工作区的readme.txt添加进仓库,或者将readme.txt的修改添加进暂存区(stage)

git add readme.txt

4、将暂存区的修改提交到当前分支

 git commit -m "提交修改描述"

5、查看仓库当前状态

 git status

结果可能是
有修改被加入到暂存区,但还未提交
这里写图片描述

可能是修改已经被提交,暂存区是干净的
这里写图片描述

可能文件修改了还未添加到暂存区
这里写图片描述

6、查看上次修改,查看上次提交和本地文件不同

 git diff

假如我添加了两行,结果为
这里写图片描述

7、显示从最近到最远的提交日志

git log

这里写图片描述

8、回退到上一个提交版本,回退到某个版本

 git reset --hard HEAD^
 git reset --hard 某次修改的版本号(可写前半部分)

其中HEAD指的是指向当前版本的指针

9、记录每一次命令,包括关闭git前的命令

git reflog

10、在工作区的修改全部撤销

git checkout -- readme.txt

这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。
(1)假如要撤销工作区的修改,可以用git checkout -- readme.txt
(2)撤销暂存区的修改,可以用git reset HEAD readme.txt 然后用git checkout -- readme.txt 撤销工作区的修改
(3)撤销提交了的修改,可以用git reset HEAD readme.txt 实现版本回退,前提是没有推送到远程
11、删除文件

rm 'test.txt'
git commit -m "remove test.txt"

删错了,回退

git checkout -- test.txt

12、将本地仓库关联到远程仓库(github)上,并将本地仓库某分支push到远程 仓库

 git remote add origin https://github.com/xxx/learngit.git
 git push origin master(分支名)

13、将远程仓库克隆到本地

git clone https://github.com/xxx/xxx.git

14、有关分支

  • 创建分支并切换
git checkout -b < branch name>

或者

git branch < branch name>

git checkout < branch name>
  • 查看当前分支
git branch
  • 完成分支的开发后,合并某分支到当前分支
git merge < branch name>
  • 删除分支
git branch -d <name>

一般开发步骤是创建分支,然后开发完成后提交,解决冲突,然后重新提交。

  • 强行删除为合并的分支
git branch -D <name>

假设在dev分支开发新功能,突然要求马上修复master分支的bug,这时候dev是不能提交,需要把dev开发现场保存起来,然后切换到master上,创建新分支解决bug,然后在dev上恢复现场继续开发,则

  • 保存现场
 git stash

用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。

  • 恢复现场
git stash apply

恢复后,stash内容并不删除,你需要用git stash drop来删除;

git stash pop

恢复的同时把stash内容也删了

  • 查看保存的工作现场
git stash list

结果为

stash@{0}: WIP on dev: 6224937 add merge

可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:git stash apply stash@{0}
15、推送和抓取

  • 查看远程库信息
git remote -v
  • 推送分支
git push origin <branch name>
  • 在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
  • 建立本地分支和远程分支的关联
git branch --set-upstream branch-name origin/branch-name
  • 从远程抓取分支到本地关联的分支
git pull

16、多人协作流程
(1)推送自己的修改

git push origin branch-name

如果推送失败,则因为远程分支比你的本地更新。
(2)抓取远程分支

git pull

(3)如果合并有冲突,则解决冲突,并在本地提交;

(4)解决掉冲突后,重新推送

git push origin branch-name

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
参考网址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值