git常用命令手册

高频使用的指令

1、注册内网 gitLab 账户

2、项目管理员拉我进项目

3、有了权限后,git clone 'url' 项目到本地

4、自己创建新的项目分支 git branch '分支名'

5、开始编码。。。

6、git clone 默认是下载了所有分支的代码

7、git branch -r 查看项目所有分支

8、git branch -a 查看项目所有远程分支

9、git checkout '分支名' 切换分支

10、git branch 打印出来所有的分支,以及当前所在的分支

11、git log 查看提交日志,

12、退出 英文状态下 Q

13、git reflog 可查看修改记录(包括 git reset 的回退记录)

14、git reset --hard (commit id) 回退版本

15、git stash 代码放进暂存区(未被 commit 的代码)

16、git stash apply 还原

17、git stash drop 清除最近一次的stash

18、git stash pop 还原并清除最近一次 stash

19、git stash list 查看暂存列表

29、git stash clear 清空所有的stash记录

21、git remote -v 显示所有远程仓库

22、git remote add url 添加一个远程仓库

23、git remote rm name 删除远程仓库

24、git remote rename old_name new_name 修改仓库名

常见问题

1、文件名大小写问题

方案一:配置git

首先可以通过配置git 来达到识别文件名大小写的问题,命令如下

git config core.ignorecase false

缺点是每个仓库都需要修改

方案二:手动修改

  1. 首先删除存储在 git 本地仓库的目标文件,以Login.less为例

    git rm Login.less 或者
    git rm -f Login.less -f
    
  2. 修改文件名

  3. 添加文件到本地仓库 git add .

  4. 提交到本地仓库及远程仓库

    git commit -m 'rename file'
    git push
    

2、git merge 冲突后恢复到合并前状态

git merge --about  //回滚到合并之前

第二种方案:

git stash
git stash clear

3、修改git仓库提交用户名和邮箱地址

// 查看
git config user.name
git config user.email
// 全局仓库
git config --global user.name 'yourName'
git config --global user.email 'yourEmail'
//单个仓库
git config user.name 'yourName'
git config user.email 'yourEmail'

4、取消git对某文件的跟踪(示:develipment.env.js)

git update-index --assume-unchanged config/development.env.js 可以忽略文件
git checkout .\config\development.env.js
git update-index --nO-assume-unchanged .\config\development.env.js 可以取消忽略文件

5、版本回退

  1. 运行git reflog命令查看你的历史变更记录,如下:

image-20220808232438911

  1. 然后用git reset --hard HEAD@{n},(n是你要回退到的引用位置)回退;比如上图可运行git reset --hard 40a9a83

git reset 与git revert 的区别?

git reset --hard (commit HashId) 回退到某一个版本

git revert -n (commit HashId) 回退某一个commit,会生成一个新的版本,反转覆盖掉原来的提交代码

注意:关于版本回退记录!!

一个commit对应这一个版本,有一个commit id, 40位的16进制数字,通过SHA1计算得到,不同的文件计算出来的SHA1值不同(有很小的几

率相同,可忽略),这样每一个提交都有其独特的id。每提交一个新版本,实际上Git就会把它们自动串成一条时间线。

在Git中,HEAD表示当前版本,也就是e620a6ffO940a8dff....,HEAD^表示上一个版本,HEAD表示上上一个版本,往上100个版本可以写成 HEAD 加连续100个N,也可以写成:HEAD~100

拉取远程分支

// 拉取远程分支并建立本地分支,但不会自动切换到此本地分支
git fetch origin 远程分支名x:本地分支名x
git checkout -b 本地分支名 origin/远程分支名

分支合并

git merge a 将 a 分支合并到当前分支

注意事项:

合并分支需要先更新本地分支代码,然后将本地分支1合并到本地分支2,不能直接合并远程分支1到本地分支2

暂存

当你需要紧急切换到主分支,执行紧急任务的时候,可以使用

git stash 当前分支代码加入暂存区

git stash list 查看暂存记录id

git stash apply 还原

git stash drop 删除最后一条暂存区信息

修改分支名( 重命名)

git branch -m oldName newName

删除本地分支和远程分支

git branch -d '分支名'

git branch -D '分支名' 强制删除

git push origin --delete '分支名' 删除远程分支

新建本地分支及远程分支

git branch '分支名' 本地新建分支

git fetch origin b1:b2 从远程拉取分支b1的代码到本地 并新建 b2 分支

查看和修改本地分支和远程分支 关联情况

posted @ 2022-08-08 23:32  秋弦  阅读(105)  评论(0编辑  收藏  举报