git命令在特定场景中使用
2021-08-18 本文已影响0人
三省吾身_9862
场景一
-
本地电脑有一些代码,需要使用git管理,然后需要提交到github上,然后开发
- 在电脑上,创建git仓库
// 创建git仓库
git init
// 提交所有代码到缓存区域
git add .
// 提交 缓存区域 所有代码 到 仓库
git commit -m "提交信息"
-
在github上,创建一个远程仓库
image.png - 使用命令如上图红色框框
// 本地git仓库 添加 一个远程仓库(可以有多个)
git remote add origin https://github.com/wkpGitHub/one_cj.git
// 强制给本地git仓库的当前分支,重命名为 main
git branch -M main
// 把当前分支main,代码推送到,远程仓库main上;并且设置 当前main分支 和 远程分支为main
// 相当于git push origin main + git branch --set-upstream-to=origin/main main
// 这里遇到github不能用密码提交问题:改用token:https://blog.csdn.net/weixin_41010198/article/details/119698015
git push -u origin main
4、再修改代码,提交代码
git add .
git commit -m "提交信息"
git pull
// 这里遇到问题fatal: unable to access 'https://github.com/wkpGitHub/one_cj.git/': OpenSSL SSL_read: Connection was reset, errno 10054; 解决问题:git config --global http.sslVerify "false"
git push
5、本地添加分支,并提交到远程仓库;再修改代码,提交代码
git branch dev
git checkout dev
git push --set-upstream origin dev
git add .
git commit -m "提交信息"
git pull
git push
6、合并分支
// 把dev分支合并到main
git checkout main
git pull
git merge dev
git add .
git commit -m "提交信息"
git push
7、把其他分支某一次提交的一些代码,合并到当前分支
// git cherry-pick 提交记录id
git cherry-pick f77f843
8、本地删除分支,并提交到远程仓库
git checkout main
git branch -D dev
git push origin --delete dev
9、切换远程仓库地址
// 方式一:修改远程仓库地址
git remote set-url origin https://github.com/wkpGitHub/xx.git
// 方式二:先删除远程仓库地址,然后再添加
git remote rm origin
git remote add origin https://github.com/wkpGitHub/xx.git
// 查看远程仓库的地址
git remote -v
10、修改配置文件(每个仓库在初始化时,都会有一个 .git 的隐藏目录,修改其中的 config 文件中的 url)
在这里插入图片描述
11、回退版本 - reset(这种回退,删除了前面的版本)
// 回退到上个版本
git reset --hard HEAD^
// 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard HEAD~3
// 查看commit的版本号,按Q退出
git log
// 退到/进到 指定commit的版本号
git reset --hard dde8c25694f34acf8971f0782b1a676f39bf0a46
// 强推到远程
git push origin HEAD --force
12、把一个分支的历史版本代码拉下来,提交到一个新分支
// 提交正在工作的代码到远程(保存起来,下面要退回切分支什么的,防止代码丢失)
// 找到需要回退的版本号
git log
// 退到/进到 指定commit的版本号
git reset --hard dde8c25694f34acf8971f0782b1a676f39bf0a46
// 创建新分支
git branch new_dev
// 切换分支
git checkout new_dev
// 修改代码,并提交
// 创建远程分支,并把代码提交到远程分支
git push --set-upstream origin new_dev
13、回退版本 - revert (这种回退不会删除前面的版本)
revert 和 reset的区别
git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861
git add .
git commit -m "xx"
git push
场景二
-
github上,创建了一个新仓库。把新仓库拉取到本地电脑,然后开发
git init
git add .
git commit -m "message"
// 强制给本地git仓库的当前分支,重命名为 main
git branch -M main
// 本地git仓库 添加 一个远程仓库(可以有多个)
git remote add origin https://github.com/wkpGitHub/one_cj.git
// 把当前分支main,代码推送到,远程仓库main上;并且设置 当前main分支 和 远程分支为main
// 相当于git push origin main + git branch --set-upstream-to=origin/main main
// 这里遇到github不能用密码提交问题:改用token:https://blog.csdn.net/weixin_41010198/article/details/119698015
git push -u origin main
-
其他操作,同场景一
场景三
-
github上,已经有代码,把代码拉取到本地电脑,然后开发
git clone https://github.com/wkpGitHub/one_cj.git
-
其他操作,同场景一