[git] summary

目录

分支操作

查询

仓库操作

版本变动

pull request

比对不同分支的区别,并将分支A文件拷贝到分支B

如何保持github上fork的仓库与原仓库同步



分支操作

# 关联远程分支,关联之后可以直接git pull/git push
git branch --set-upstream-to=<仓库名>/<分支名>

# 查看分支关联情况
git branch -vv

# branch重命名
git branch -m oldName  newName

# 查看所有分支
git branch -a
 
# 删除远程分支
git push origin --delete 远程分支

# 拷贝指定仓库的指定分支
git remote add upstream xxx.git
git fetch upstream
git checkout -b test remotes/upstream/specified_branch

查询

# commit的提交记录
git log 

# commit的提交记录+改动细节
git log -p

# commit的提交记录+改动大致内容
git log --stat

# 对比工作目录和缓存区的不同
git diff

仓库操作

# git clone specified tag
git clone -b version link.git


# ------------- 查看配置信息
git config --global -l  # 全局配置
git config --local -l   # 本地仓库配置

# ------------- 修改仓库配置信息
# 方式1
vim ../.git/config

#方式2
git config --local -e

#方式3
git config --local user.name xxx
git config --local user.email 'xxx'

# 参考:https://www.runoob.com/git/git-remote.html
# 查看远程仓库
git remote -v

# 显示某个仓库的信息
git remote show origin

# 添加本地版本库
git remote add  [shortname] [url(.git)]

# 从指定远程仓库拉取代码
git fetch [shortname]

# 将shortname仓库的所有变更合并到本地,如果本地clone的是fork的仓库,后面就可以推送到fork的仓库中了
git merge [shortname]/develop

# 删除远程仓库
git remote rm  [shortname]

# 修改仓库名
git remote rename old_name new_name

版本变动

# 提交之后发现漏掉部分文件没有添加
git commit -m "v1"
git add test.txt
git commit --amend  # 将代替上一次提交的结果

# 版本倒退
git reset --hard 


# 取消暂存的文件,文件的修改仍保留
git add test.txt
git reset HEAD test.txt


# 撤销对文件的修改
git checkout -- test.txt

pull request

# 克隆仓库代码
git clone https://xxx.git
 
# 建立并切换到分支
git checkout -b xxx
 
# 修改代码
 
# 查看修改文件
git stutas
 
 
# 将全部文件添加到暂存区,也可以指定文件
git add .
# 将untrack file清理掉
git clean -nf
git clean -f
 
# git第一次提交的时候,要配置用户名和邮箱
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
 
# 将本地暂存的修改提交到版本库
git commit -m "xxx"
 
# 代码合并
git checkout master
git pull
git checkout xxx
 
git rebase master
 
# 查询文件冲突
git status 
 
# 手动修改冲突
 
# 将修改的文件添加在缓冲区
git add xx
# 添加已修改的(新增或修改)内容至暂存区(不含删除的文件)
git add . 
# 添加本地所有修改的内容至暂存区(包含删除的文件)
git add -A
 
git rebase --continue  # 修改成功,继续
git rebase --abort     # 修改失败,停止修改,重新git rebase develop
 
# 提交到远程仓库
git push origin 本地分支名:远程分支名

比对不同分支的区别,并将分支A文件拷贝到分支B

# compare
git diff branch_A branch_B --stat

# 将branch_A中的文件file移植到 branch_B
git checkout branch_B
git checkout --patch branch_A file_path

如何保持github上fork的仓库与原仓库同步

 如何保持github上fork的项目与原项目同步_冰路梦的博客-CSDN博客_github上fork项目后与原项目保持同步前言Github可谓是开发者的乐园,众多的优秀开源项目,有时候我们想关注某个项目,常用的是star,偶尔会fork一下,到个人项目库中,研习代码,更希望有机会可以贡献代码。作为技术小白,现在会遇到已经fork的代码,原项目可能更新了,而个人账户下的项目并不能同步更新。如此肯定不利于我们的学习。同步项目在网上搜索如何同步fork项目和原项目,很多热心的网友的各种解决方案。删除原有项目,在重新forkhttps://blog.csdn.net/binglumeng/article/details/59534975?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3&utm_relevant_index=1

Git remote: error: this exceeds file size limit of 100.0 MB_落雨飞辰的博客-CSDN博客主要是针对新手会出现的问题,我第一次用GitHub上传代码时,因为个别文件较大所以就报了以上错误,在本地删除之后,仍然会报相同错误,说明已经存到git某缓存区了,可以如下操作来修改:比如我之前删除的大文件为a.txt(文件夹同理),执行如下代码即可将其在git某缓存区删除git filter-branch -f --prune-empty --index-filter 'git rm -...https://blog.csdn.net/bigsungod/article/details/83994199

git对已经提交过的文件添加到.gitignore - 走看看git之前已经提交过的文件,在开发过程中,此文件需要忽略,添加到了.gitignore,但是再次提交的时候,该文件依旧被跟踪。处理办法如下: 为了避免冲突,先pull远程仓库到本地 git pullhttp://t.zoukankan.com/chengfengchi-p-14814728.html

git中submodule子模块的添加、使用和删除_guotianqing的博客-CSDN博客_submodule背景项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率。使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可。本文主要讲解子模块相关的基础命令,详细使用请参考man page。子模块的添加添加子模块非常简单,命令如下:git submodule add &lt;url&gt; &lt;path&gt;其中,url为子模块...https://blog.csdn.net/guotianqing/article/details/82391665?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~default-1-82391665-blog-109540174.pc_relevant_multi_platform_whitelistv1_exp2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~default-1-82391665-blog-109540174.pc_relevant_multi_platform_whitelistv1_exp2&utm_relevant_index=1

你可能感兴趣的:(笔记,git,github)