git常用代码管理

账号管理

git config --global user.email

 代码开发常用

git add 

git add .  (注意标点符号)

git  commit  -m "备注日志"

git show logid (HashId)

git  pull  origin 分支名称

git fetch origin 分支名称

git push origin 分支名称

git clone   仓库地址(http://...)

git stash

git stash pop 

git stash save "备注日志提示"

git stash list

git stash apply stash@{0} 

git stash drop stash@{0}//单行删除

git stash clear

git reset <file>

git rm <file>

注:持续enter 换行显示,b上一页翻页显示,空格下一页翻页显示

仓库查看提交记录

git log  或  git log filepath 或 git log --pretty=oneline

git show logid 或 reflog

分支管理常用

git  branch -a

git branch 本地分支名称

git branch -D 本地分支名称

git reflog (本地日志)

git checkout 分支名称

git  merge 分支名称

git log (远程日志)

git status 

git reset  --hard  reflogID

git remote update origin --prune

各级保存区别

1.add对应暂存区> (2.stash对应堆栈) > 3.commit对应本地仓库>4.push对应远程仓库

示例.切出分支 , 并保存修改内容

git stash save "1月份开发内容"

git checkout 分支名称

示例.切回分支 , 并推出、删除保存修改内容

git status  (注意有提交未推送的状态,处理后做)

git checkout 分支名称

git stash list

git stash apply stash@{0}

git stash drop stash@{0}

示例.分支合并

git status (注意有提交未推送的状态,处理后做)

git checkout 根分支(父分支)

git pull origin 根分支 或者 git fetch origin 根分支(注意解决冲突,处理后做)

git merge  被合并的分支(父分支分出来的子分支,该操作会将被合并的分支合并到父分支)

git push origin 根分支

 另外: git cherry-pick 被合并分支的logid  (  用于不同分支提交记录迁移合并,一般是提交记录到错误分支 )

            git add/commit (如果有冲突, 手动解决冲突后再次提交)

            git cherry-pick  --abort  (放弃合并)

            git cherry-pick  --continue  (继续合并)

示例.版本回退

git status 

git reflog  

git reset --hard reflogID(回滚并删除改动代码) 或者git reset --mixed reflogID (回滚不删除已改动的代码)

git push  origin HEAD --force 分支名称 (--force ,因为reset是重置,提交记录会有一定风险,因此要强制才能成功,确认后慎用!!)

示例.新建本地分支远程同步

git checkout -b 本地分支名称(从当前创建本地分支)

git push origin 本地分支名称

git branch --set-upstream-to=origin/dev(远程关联本地)

git pull origin 远程分支

示例.克隆超时导致失败

git config http.postBuffer 524288000

git config --global http.lowSpeedLimit 0

git config --global http.lowSpeedTime 999999

notice1:git clone --depth=1 http://gitlab.xxxxxxx..git

notice2:git remote set-branches origin otherBranchName

notice3:git fetch --depth 1 origin otherBranchName

注意:使用这种方法,notice1执行后默认下载master分支,其它分支没有。需要执行notice2,3,单独下载其它分支。这种解决方案,解决传输量太大引起的超时,通过配置大小,超时时间解决。

{{//上面现在每次都得单独拉取过于麻烦,从其它文献找来下面的这段文献,还没试过

修改.git/config文件中的

fetch = +refs/heads/master:refs/remotes/origin/master

fetch = +refs/heads/*:refs/remotes/origin/*

然后执行

git fetch --all
}}

日常实际问题:

git remote update origin  --prune 会把分支的信息同步到本地,还会把线上版本也同步过来,当前分支相当pull拉取操作

git branch --set-upstream-to=origin/[远程仓库名称] 使用git pull操作时可能出现关联失败提示,可以关联远程仓库到本地当前分支,而使用git pull origin [分支名称 ]  这种指定分支的操作,就不会出现远程与本地分支不匹配的情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容