把A分支的ID=123456的commit合并到B分支 先切换到A分支 git log 命令 或去git界面找 commit的ID号,比如 123456 再切换到目标分支B上(即在要合并到的分支上),执行命令: git cherry-pick 123456
为了避免每个项目里都建一个.gitignore,可以使用全局的.gitignore 建立.gitignore 找到.gitconfig所在的目录, ~,在其中建立文件.gitignore 配置gitconfig 执行命令git config --global core.excludesfile
经常需要从一个分支选择性的合并commit到另一个分支,具体可使用cherry-pick实现: 1.单个commit合并 git cherry-pick commit_id 1 2.多个连续commit合并 commit_id到commit_idn之间,包括两端 git cherry-pick
如果你对外开源的代码中出现了敏感信息(例如你将私钥上传到了仓库中),你可能需要考虑将这个文件从 git 的历史记录中完全删除掉。
第一步:删除本地历史记录
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch key.xml' --prune-empty --tag-name-filter
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
每次执行git push或pull都要求输入密码
git config --global credential.helper store
或者直接在~/.gitconfig全局配置文件或者.git/config当局配置文件中加入这段配置:
[credential]
helper = cache
git push与git pull是一对推送/拉取分支的git命令。
git push 使用本地的对应分支来更新对应的远程分支。
$ git push <远程主机名> <本地分支名>:<远程分支名>
注意: 命令中的本地分支是指将要被推送到远端的分支,而远程分支是指推送的目标分支,即将本地分支合并到远程分支。
如果省略远程分支名,则表示将本地分支推
git branch branchName tagName
git push origin newbranch