git使用笔记-持续更新中...

时间:2022-06-21
本文章向大家介绍git使用笔记-持续更新中...,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

新项目git配置并配置README


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

git clone 项目git地址
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

git 命令

git 放弃本地修改 强制更新

git fetch --all
git reset --hard origin/master

git fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本

git还原所有文件

git checkout .

列出远程所有分支

git branch -a

检出远程分支

git checkout -b dev origin/dev

作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

切换回分支

git checkout dev

git pull报错相关问题

1.Pull is not possible because you have unmerged files.

原因:本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。

解决:将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要--hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。

git reset --hard FETCH_HEAD
git pull

2.已有git地址远程仓库废弃,本地git迁移到新仓库

(1) 查看之前的项目地址

git remote -v

(2) 删除绑定的远程地址

git remote remove origin

(3) 再次查看,发现没有了

git remote -v

(4) 绑定新的仓库地址

git remote add origin git@git.xxx.com(仓库地址)

(5)将本地代码上传到远程仓库

git push origin master

(6)本地分支与远程分支建立联系

git branch --set-upstream-to=origin/master master

(7)其他分支developer

git push origin master
git branch --set-upstream-to=origin/developer developer

3.git项目提交以后添加或者修改忽略文件无效

(1).先同步远程仓库,develop分支

git pull origin develop

(2).在本地项目目录下删除缓存

git rm -r --cached .

(3).新建.gitignore文件或重新编辑

vim .gitignore

(4).add所有文件,再次将项目中所有文件添加到本地仓库缓存中

git add .

(5).添加commit

git commit -m 'ignore'

(6).提交到远程仓库

git push origin develop

5.git fetch和git pull

git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 git pull 是将远程主机的最新内容拉下来后直接合并,git pull = git fetch + git merge,可能会产生冲突,需手动解决。

6.远程建分支,本地看不到

git remote        # 列出所有远程主机
git remote update origin --prune   # 更新远程主机origin 整理分支
git branch -r      # 列出远程分支
git branch -vv     # 查看本地分支和远程分支对应关系
git checkout -b gpf origin/gpf    # 新建本地分支gpf与远程gpf分支相关联

7.Git冲突:commit your changes or stash them before you can merge.

git stash
git pull
git stash pop

8.删除远程仓库文件,本地保留

1.git branch-a
2.git rm --cached -r package-lock.json
3.git commit -m "commit and remove .idea"
4.git push origin develop