注:仅以此篇纪念我与Git 相识的一年。
克隆远程仓库的项目:
HTTPS方式 需要登录验证用户名和密码 (使用方法待补充)
SSH方式 需要添加SSH公钥 (使用方法待补充)
基础操作:
//将本地修改推到远程分支
1 git add --all
2.git status
3.git commit -m""
4.git push origin 远程分支名
//新建并切换到feature-new分支
1.git checkout -b feature-new
//新建分支:newBranch
1.git branch newBranch
//切换到分支:newBranch
1.git checkout newBranch
//新建分支并切换到分支:newBranch
1.git checkout -b newBranch
//合并分支:
//1.首先切换到修改过的分支 bugFix
1.git checkout bugFix
2.git add . 或 git add --all
3.git commit -m"修改"
//2.然后切换到要合并到的分支 mergeBranch
4.git checkout mergeBranch
5.git merge bugFix
//3.然后将修改好的代码推到远程仓库
6.git push origin 远程仓库分支名
Idea - Git 使用解决冲突问题
//如果在git merge 自己分支到 master 分支时发生冲突,
//将分支切换到自己分支 ,然后将master merge到自己本地分支 在本地解决冲突
git checkout 自己分支;
git merge master;
Git 删除远程分支
//删除远程分支
git push origin --delete 分支名
//也可以使用带 -d 选项的 git branch 命令来删除分支:
git branch -d dev
Git 在idea中每次push都要填写用户名和密码问题解决:
1. 打开Git终端,或者idea中的插件终端,输入命令:
git config --global credential.helper store
Git 第一次拉取远程分支 提示如下警告:
Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace “git config” with “git config --global” to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
中文大概含义 我的简单理解就是你要设置一下如何执行pull操作。
先上解决办法再理解为什么:
没有特殊需求直接执行下面的语句就ok,也就是设置成提示中的默认的。
git config pull.rebase false
提示的具体中文释义如下:
warning: 不建议在没有为偏离分支指定合并策略时执行pull操作。
您可以在执行下一次pull操作之前执行下面一条命令来抑制本消息:
git config pull.rebase false # 合并(默认缺省策略)
git config pull.rebase true # 变基
git config pull.ff only # 仅快进
您可以将 “git config” 替换为 “git config --global” 以便为所有仓库设置
缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、–no-rebase,
或者 --ff-only 参数覆盖缺省设置。
这里要延伸到rebase 与 merge 区别
使用git pull命令,也就是拉取远端代码,更新我们的仓库时,这里有不同方式实现
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
二者的区别是,在fetch之后的操作不同,merge与rebase的不同。
参考连接git pull --rebase的作用是什么,它与git pull有什么区别?_令狐掌门的博客-CSDN博客_git pull rebase
创建和删除Tag
//create a tag
git tag your-tag-name
git push origin your-tag-name
//delete a tag
git tag -d your-tag-name