git clone -b develop https://gitee.com/goodshred/github_Manager_learning.git 表示从develop分支上获取代码到本地
也可以git clone -branch <分支名> <仓库地址>
准备工作
参考文章:
https://blog.csdn.net/weixin_41883384/article/details/80805580
1.全局配置
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
2.git config --list可查看当前用户信息以及其他的一些信息(git remote rm origin进行信息删除)
开始代码
git init
git add . (注意add后面有‘点’)
git commit -m“第一次提交”
git remote add origin https://xx/xxx/gitTest.git(http://xxx/.git是网页端创建项目获得的远程仓库地址)
git pull origin master --allow-unrelated-histories(进行代码的拉取合并)
git pull origin master --allow-unrelated-histories
git push origin master
Git的命令行导入项目:
git clone http://username:password@xxx
注释(XXX是项目网址),如不行,考虑全局配置一下用户名,邮箱:
报错解决方案:
如果输入
$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:致命:远程来源已经存在。
解决办法如下:
1,先输入
$ git remote rm origin
2,再输入
$ git remote add origin git@github.com:djqiang/gitdemo.git
就不会报错了!
3,如果输入$ git remote rm origin还是报错的话,错误:无法删除配置节'remote.origin'。我们需要修改gitconfig文件的内容
git常见报错解决方案:
1.最粗爆的方法是,删除.git,删除readme,重新git init
2.git设置远程仓库的地址不对报错:fatal:remote origin already exists
git remote rm origin
git remote add origin https://xx/xxx/gitTest.git(http://xxx/.git是网页端创建项目获得的远程仓库地址)
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:(不推荐)
git reset --hard
git pull
git强制推送命令(一般不建议使用)
git push -f origin master
git修改远程仓库地址:
方式1:
git remote origin set-url [url]
方式2:
git remote rm origin
git remote add origin [url]
方式3:
直接修改配置文件
下次再写分支管理:
fork分叉(复制克隆项目)-------------对应后续的pull request请求 (开源项目中,fork的人的到原来的仓库创建人的请求后,它就可以算作该开源项目的负责人)
watch:可以实时接收该项目的相关动态
事务卡片(issue)------------>和开源者讨论解决该项目中的bug
git log --pretty=oneline (以漂亮的格式查看日志)
git status (当前git的状态)
HEAD@{2} 移动到上一版本需要多少步:
git reset --hard 8c4b18d 基于索引值的回滚HEAD@{1} 对应现在,HEAD@{2} 对应民国
git diff 文件名 显示文件差异(解决冲突)
git diff HEAD^ 文件名 和上一版本进行比较
git branch -v 查看当前项目的所有分支
git branch new_branch 创建新的分支
git checkout new_branch 切换到分支
git checkout master git merge new_branch 这两条语句:将new_branch分支的修改拿到master上【分支的合并】
打开文件,进行手动的代码合并。============HEAD 当前 ===============other 他人提交的代码 自己选择去拿取那个来合并。 git add 文件名 git commit -m '成功修复冲突' 【标记文件为已解决冲突,commit后面不能加文件名】 解决冲突
ssh免密登录:
ssh-keygen -t rsa -C 324@123.com -t是加参数,参数为 rsa -C【大写】后面加邮箱
进入.ssh目录
cd
rm -r .ssh/
cd .ssh
ll
cat id_rsa.pub
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "xxx"
git config --global user.email "xxx.com"
创建 git 仓库:
mkdir univerlogexplore
cd univerlogexplore
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/goodshred/univerlogexplore.git
git push -u origin master
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/goodshred/univerlogexplore.git
git push -u origin master
git fetch origin master
拉取远程最新的代码到本地仓库的master主分支上
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp //將當前分支和tmp進行對比
git merge tmp //合并tmp分支到当前分支
git是拉取+合并的意思。如果有冲突,就解决冲突
git stash //保存当前工作状态,相当于快照
git stash pop //恢复工作状态,取出照片,进行现场恢复
git stash list //查看所有的状态历史