一、git配置全局用户参数
注意:git全局用户属性在.gitconfig文件中;
git config --global user.email '[email protected]'
git config --global user.name "iThing"
cd 命令到home目录,vim打开.gitconfig文件,其中的内容就包含了上面设置的全局变量
内容结果:
二、git创建本地仓库、设置本地仓库用户属性
注:仓库的用户属性在config文件中;
1.切换到需要创建代码的目录,创建本地仓库
设置本地仓库用户属性
三、维护旧仓库
从(如:码云)获取代码;注意:本地只需一个空的文件夹;不需要创建仓库,直接git clone
四、add、commit提交至版本管理库、stauts查看本地与库文件状态
从上面可以看出,git add 文件名 这种方式在少量的文件提交时还可以;但是如何在大量的文件需要提交?就不方便了;
git add .
就提交了所有文件;
五、.gitignore控制版本库文件管理
根据git add .的方式,如果在大量文件中有一部分不需要提交,应该如何是好喃?
即:创建一个.gitignore文件;
示例结果:
六、从版本管理库中删除文件
1.删除版本库及本地的一些文件
git rm liu2.py
2.只删除版本库中的文件,但不删除本地文件
七、从版本管理库中修改资料名称(本地也跟着一并修改)
git mv xxxx.py ssss.py
八、版本提交日志查看……(这里只是举例几个)
git log
git log -p
git log -oneline
git log -p -1 #查看最近1个提交
九、修改最近一次提交的commit的描述
git commit --amend
十、管理暂存区的文件
提交至暂存区的文件想撤回至本地?
git restore --staged file.py
想对已修改的文件内容,回退至上一次本来的内容?
git restore file.py
十一、alias别名设置(也可直接编辑.gitconfig文件)
上面是全局别名;也可设置系统别名(文件不同)
十二:分支branch
1.分支的创建是要在本地仓库有过提交后(commit)才可以创建的;(即:一开始创建的仓库是查看不到分支的)
git branch #查看分支
在有过提交之后,git branch 就可查看到master分支,如图:
git branch test1 #创建test1分支
切换分支:git checkout 分支名
上面两个命令可以合并为一个:创建分支并切换至该新分支:
git checkout -b 新分支名
在一个分支上创建的文件,提交后,在其它分支上是看不到的(原因:并没有合并最新各个分支的更新)
十三、分支的合并与删除、强制删除
合并分支,一定是在切换至matser的操作;
git merge 要合并的分支名
删除分支,即在分支的更新已合并,这个分支没有存在的必要时,进行操作;
git branch -d 要删除的分支名
如果某一个分支没有合并,你使用上面的删除,就会报错;但是,你如果真的想删除没有合并的分支(即代码不要了);
git branch -D 要删除的分支名
十四、正确处理分支冲突
发生冲突的过程讲述:有两个分支分别对同一个文件进行更新了,也提交了,在master分别对两个分支进行合并的时候,第一个合并成功,第二个合并就会发生重复;
解决冲突的方式就是:vim 重复文件,选择需要的保存内容
截图诠释过程:
编辑合并报错内容,内容显示截图:
编辑冲突文件内容后,在master中正常提交至版本库;(git add . )( git commit -m '')
十五、查看已合并的分支、未合并的分支
git branch --merged
git branch --no-merged
十六、stash临时存储区
stash临时存储区的应用:在你在a分支更新代码,但是未更新完,突然b分支有一个立即需要解决的问题(即:你需要切换到b分支进行操作),但是a分支没有更新完,不想提交,此时就用到临时存储区;(备注:这个需要在add或者commit之后使用)
#创建暂存区
git stash
#列表查看暂存区
git stash list
#恢复暂存区,不删除
git stash apply stash@{0}
#删除暂存区
git stash drop stash@{0}
#恢复暂存区,删除
git stash pop stash@{0}
十七、标签
应用:当代码处于一个阶段时,打一个标签tag;
十八、生成zip发布代码包
#git archive 分支名 --prefix='目录/' --forma=zip >压缩包名.zip
git archive master --prefix='mmm/' --forma=zip >mmm.zip
十九、rebase(使用场景:当其它分支在提交代码时,主分支已在之前有了新的提交节点)
git rebase master
……后续就是向远程仓库推代码……