把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
查看配置
git config user.name
git config user.email
修改
git config --global user.name "新用户名"
git config --global user.email "新邮箱"
git config --global user.password "新密码"
清除密码
git config --system --unset
yum install git 安装的版本比较底,下载代码时有可能报错:
error: while accessing https://github.com/...
fatal: HTTP request failed
需要卸载旧版本,下载最新安装版本
#卸载
yum remove git
#安装依赖
yum install curl-devel expat-devel g
--清空历史记录
git checkout --orphan latest_branch
git add -A
git commit -am "commit message"
git branch -D master
git branch -m master
git push -f origin master
git branch --set-upstream-to=origin/master
g
.gitignore只能忽略未被track的文件,而git本地缓存。如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。使用以下几个命令即可快速解决
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git fetch --all git reset --hard origin/master git pull