Git使用经验 (慢慢更新)

码农天地 -
Git使用经验 (慢慢更新)
GIT practical experience

宏观上,开发方式应为:

保持 master 无bug,能够pull直接用。开发的新功能、要测试的内容放在其他分支上,最后再来 emerge

Git别上传的内容:

可以通过在.git所在文件夹下添加.gitignore解决;最好每次注意,添加需要的项目,而不是 add .不要随意上传会经常修改的文本文件,这样会造成 .git 文件夹极大,每次git clonegit pull时候都会把这些历史记录下载下来,浪费资源。不要比如上传.vscode等编辑器配置文件、pycache等cache文件。常用GIT操作1. git clone/pull

git clone 一般用于第一次下载git的内容,像是第一次下载一个app;
git pull一般是clone之后用,更新别处提交的内容,像是更新应用。

git clone <git address>

# -b 选择分支进行clone,之后也能切换到其他分支
git clone -b branch_a <git address>

# --depth=n 只clone最近n次的提交,之前的东西不管(可以减少占用.git的空间)
git clone --depth=1 <git address>
# pull 当前分支
git pull
git pull origin

# 将远程分支的branch_a拉到本地分支branch_b
# 如果branch_b就是当前本地分支,则可以省略
git pull origin branch_a:branch_b
2. git add
git add <filename>
# 常用
git add *.py
# 全部提交,建议使用.gitignore
git add .
.gitiginore文件

作用

在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为。需要注意的是,这种方式指定的忽略文件的根目录是项目根目录。实质是编辑当前项目下的 .git/info/exclude文件,然后将需要忽略提交的文件写入其中。

文件规则 eg

# file .gitignore
# 注释用#
*.log
*.temp
# !代表例外
!.gitignore
!App.class    

提交

gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。3. git commit & git push

commit: 提交到暂存区

git commit -m "message"

# 将所有!已跟踪!文件中的执行修改或删除操作的文件都提交到本地仓库
git commit -m "message"

# 可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中
# 可能犯了一些小错误之类的,没必要多增加一次commit的时候用
git commit --amend

push: 提交到远程端

git push <远程主机名> <本地分支名> <远程分支名>

# 如果远程分支被省略,则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push origin master

# 如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
git push origin

# 如果当前分支只有一个远程分支,那么主机名都可以省略(如果同时上传gitlab github就不能这么用)
git push

# 删除远程分支branch_a
git push origin --delete branch_a
git push origin : branch_a
4. git checkout

切换/创建本地分支,文件和当前branch信息都会改变。

# 查看本地分支
git branch
# 新建分支
git branch new_branch

# 切换分支
git checkout new_branch
# (新建且)切换分支
git checkout -b new_branch

# push并关联新建的分支到远程分支remote_branch(不过通常会同名)
git push origin new_branch : remote_branch
git branch --set-upstream-to=origin/remote_branch
5. git merge

比如你为了解决某个问题,创建了分支iss53,并且已经解决了

# Switched to branch 'master'
git checkout master

# merge, 这一步可能会有冲突,有图形界面的话可以鼠标选择
git merge iss53

# delete iss53
git branch -d iss53

一个很好的 例子 ,讲解两种合并的情况

GIT使用基本逻辑工作流程:克隆 Git 资源作为工作目录。在克隆的资源上添加或修改文件。如果其他人修改了,你可以更新资源。在提交前查看修改。提交修改。在修改完成后,如果发现错误,可以撤回提交并再次修改并提交

参考git 菜鸟教程
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

加个好友,技术交流

1628738909466805.jpg