git 常用命令及工作流

工作流

如图:

 

1.如何初始化仓库?

git init # 初始化仓库,本质在当前路径下创建一个.git隐藏文件夹

 

2.如何查看版本?

git status    # 查看版本状态
  -红色。新建,没有放到暂存区
  -绿色。存在暂存区了,没有提交到版本库
  -没有东西。说明所有变更都被版本管理起来了
  -【注意】黄色,是指没有被版本管理的。是忽略的文件

【黄色】未被版本管理的:

 

3.如何提交到暂存区?

git add .     # 把当前所有文件提到暂存区

4.如何显示日志?

git log #显示日志
git reflog # 显示精简信息,显示的更多(版本切换也会显示)。【推荐】

5.如何回滚?

# 列出要回滚的日志版本信息
git reflog
# 指定回滚编号,例如c0c69db
git reset --hard c0c69db

6.如何回滚到指定版本?

git reset --hard 版本号

7.如何设置用户信息?

7.1 全局配置

git config --global user.name '用户名'
git config --global user.email '用户邮箱'

7.2 局部配置

git config user.name '用户名'
git config user.email '用户邮箱'

8.如何过滤文件?

#先新建 .gitignore
写忽略的文件或者文件夹
    -直接写文件或文件夹,表示忽略这个文件夹
    -#表示注释
    -*表示通配符,表示任意数量任意字符。例如,*.log表示以.log结尾的都忽略
    -?表示单个字符。(个人感觉用的少)
    -!表示不忽略的

示例

 9.如何暂存?

应用场景:

我本地新增了文件,被git管理了,但我不想提交。并且想切换到其他分支修改东西。我该怎么办?利用暂存。

#临时存,不想提交,用
git stash 
# 临时存恢复
git stash pop
# 查看临时存
git stash list

参考资料:https://segmentfault.com/a/1190000040859911

10.如何切换分支?

git checkout dev     # 切换到dev上

11.如何合并?

# 合并
git merge # 记住,敲命令的时候,自己在哪个分支,就是合入到哪里。
# 比如,
# 在master 上执行git merge dev ,就是把dev合入到master
# 在dev 上执行git merge master , 就是把master合入到dev上。

 

12.合并需要先拉取git pull 再合并?

是的。

比如

我们小组都是基于dev分支开发。

我在liqi_dev分支开发,提交之前,先拉取dev 分支。

git pull dev(这一步可能会有冲突,解决冲突)

git commit -m "我的提交" 

git push (推送到我的远程origin/liqi_dev)

再gitlab页面上手动点击合入到dev上。

图示:

 

 

13.如何关联远程分支?

 

新增一个远程关联

git remote add origin 远程分支url
# 例如git remote add origin https://github.com/user/repo.git
# 这里的origin是远程仓库的别名,可以根据需要自定义。

查看远程分支:

git remote -v

关联新的远程分支:

git remote set-url <remote_name> <remote_url>

# 例如git remote set-url origin https://github.com/user/repo.git

 

14 把本地分支跟踪远程分支的命令?

1  git push --set-upstream origin branchName(你的远程分支名)
2  git push -u origin branchName(你的远程分支名)

这两个方法是一样的。都是把当前分支跟踪到远程指定分支。

好处是:以后就可以用git push 、git pull了。不需要额外的东西了。

15.git fetch和git pull区别是?

  • git fetch 是只拉取
  • git pull 是拉取并合并。理解为git fetch + git merge

16.git flow 是什么?

  • git 工作流。
  • 就是建立git 工作流程的一套规范和管理策略
  • 目的是:为了有助于团队协作和版本控制。

17.git rebase是什么?

  • 是变基操作。
  • 就是提交的时候,会省略历史版本及注释,看做一次提交。【看情况使用】
  • 而git merge 会保留历史版本及注释。

 

 

参考资料:

https://zhuanlan.zhihu.com/p/186221725

https://www.cnblogs.com/fsg6/p/13722756.html

跟踪分支的参考资料【推荐】:

https://www.python100.com/html/116667.html

 

posted @ 2023-08-15 16:25  o蹲蹲o  阅读(28)  评论(0编辑  收藏  举报