git 命令使用笔记 - Go语言中文社区

git 命令使用笔记


  • 初始化git仓库
git init
  • 把某个文件添加到git仓库
git add readme.txt
  • 添加所有文件到仓库
git add .
  • 把文件提交到仓库
git commit -m "wrote a readme file" (-m "这里是提交说明")
  • 查看仓库当前的状态
git status
  • 查看文件具体的更改内容
git diff readme.txt 
  • 查询历史记录
git log 

或者更加清晰的

git log --pretty=oneline
  • 版本回退
git reset --hard HEAD^  

当我们用HEAD时,表示最新的版本。
在这里插入图片描述

  • 用来记录你的每一次命令
git reflog
  • 可以丢弃工作区的修改
git checkout -- yourefile
  • 切换分支
git checkout your-branch
  • 删除文件

1.从本地 rm test.txt

2.从版本库 $ git rm test.txt

3.$ git commit -m “remove test.txt”

4.删除错了需要回滚:git checkout – test.txt

  • 关联远程仓库
    git remote add origin git@server-name:path/repo-name.git
    如:
    git remote add origin https://github.com/YiHongZeng/MessageBoard.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

  • 克隆git项目到本地

$ git clone http:xxx.com

  • 创建分支
git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev

  • 查看分支
    $ git branch

  • 合并其他分支的内容到当前分支

 git merge dev
  • 删除分支
 git branch -d dev
  • Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
    $ git stash
    git stash list命令看看
    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    另一种方式是用git stash pop,恢复的同时把stash内容也删了:

  • 查看远程库的信息

 git remote

origin

查看详细信息

git remote -v

origin git@github.com:xxx/learngit.git (fetch)
origin git@github.com:xxx/learngit.git (push)

  • git忽略文件,但排除个别文件
    忽略指定的文件夹,但排除index.html文件
/storage/cache/*
!/storage/cache/index.html
  • 指定拉取代码时候的账号密码
git pull https://username:password@xxx.com/project_name.git

(username不用邮箱的@部分)

  • 切换远程仓库地址:

方式一:修改远程仓库地址
【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

方式二:先删除远程仓库地址,然后再添加
【git remote rm origin】 删除现有远程仓库
【git remote add origin https://xxx.you-url.com】添加新远程仓库

  • 导出指定的两次提交记录之间的改动文件(git diff --diff-filter=ACMR 如果文件本删除或报错,不导出这些文件)
git archive -o ./export.zip 7b9cead0f411ce42637f7633cfbb7c9078d3202e $(git diff --name-only a0ca27310aab94205d18c3415bd40b9821de2650 7b9cead0f411ce42637f7633cfbb7c9078d3202e)

a0ca27310aab94205d18c3415bd40b9821de2650 开始 commitId
7b9cead0f411ce42637f7633cfbb7c9078d3202e 结束 commitId

  • 多人参与项目开发的时候,经常会遇到代码格式化不一致,在提交的时候出现很多冲突的情况。其中换行符冲突就是一种,在不同的系统平台上是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。所以会出现使用mac的开发者修改的代码中是lf换行,windows用户使用的crlf换行符,总是互相影响。还有一个原因是,git默认配置了autocrlf为true,也就是说默认所有代码都会被提交成了crlf,但是如果不同开发者自己配置的autocrlf配置不一致(比如,input或者false),就会出现总是互相覆盖的情况。以下是解决换行符冲突的解决方案:
git config --global core.autocrlf false
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_24935119/article/details/103003142
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 00:15:10
  • 阅读 ( 644 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢