Git

1.基本操作

1.克隆操作
git clone http://xxx.xxx.xxx.xxx:端口号/路径/xxx.git

2.检查状态
git status

3.通过上面的命令可以modified到离上一次更新做了哪些修改


status.jpeg

4.把文件修改添加到暂存区
git add <文件路径/文件名>
这里的<>里面的就是modified后面的

5.如果无视.DS_Store的话,还可以直接使用
git add .

  1. 提交修改,其中xxx为本次修改的提示语
    git commit -m'xxx'

7.拉取git版本库里面最新的代码
git pull

8.build一下 ,检查是否有冲突。如果没有冲突直接跳到9。
如果有冲突的话,会报error,代码会是这个样子:

<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1

其中HEAD和=======之间的代码是版本库里面的代码,=======和>>>>>>>之间是本地的代码。看情况修改。

9.把本地代码推送到版本库
git push

这样,一次版本控制操作就基本完成了。

2.忽略 .DS_Store

每一次都要忽略.DS_Store而不能直接用git add.简直不能忍,所以,决定使用全局忽略的方法,在本机上无论新建什么工程都能完美忽略.DS_Store

1.先清空缓存,避免被添加到git里面。进入到工程目录下,进行:
git rm -r --cached .DS_Store

2.进入本机根目录并创建.gitignore_global
cd ~
touch .gitignore_global

3.编辑.gitignore_global
vi .gitignore_global

# .gitignore_global
####################################
######## OS generated files ########
####################################
.DS_Store
.DS_Store?
#*.swp
#._*
#.Spotlight-V100
#.Trashes
#Icon?
#ehthumbs.db
#Thumbs.db
####################################
############# packages #############
####################################
#*.7z
#*.dmg
#*.gz
#*.iso
#*.jar
#*.rar
#*.tar
#*.zip

4.在~/.gitconfig中引入.gitignore_global
还是在根目录下,进行:
vi .gitconfig

在[user]下面,加入:

[core]
excludesfile =/Users/本机名/.gitignore_global

好了,现在随便进入一个工程,再随便修改其中一个文件,在终端使用git status,就可以发现,讨厌的 .DS_Store不见了,就可以愉快的使用git add .啦。

3.更换git关联路径

场景:从公司的git工作区export出一个公版,需要新建仓库作为新客户案的时候

git remote remove origin
git remote add origin http://192.168.0.0:xxx.git
git push -u origin master

4.查看git config

git config --list

5.当你不小心在master或者develop分支上写了代码

正常来说,master分支是线上代码不能随意修改的,而develop分支是是共同开发状态的,我们开发一般都是从develop分支上开分支出去进行开发,但是有时候脑子不清醒,直接在本地的master或者develop上写了代码,好的很开心的写了一天,然后下班前准备提交,傻眼了。直接push肯定是被不行的,怎么办?但是写了一天的代码又不能这样放弃了。
假如你是在develop上写了代码,先cd进入工作目录,然后执行:git stash,这时候缓存起你在develop上所有的修改,并且你的develop分支会会恢复到没有被修改过的状态。此时,你再新建一个分支:git branch BRANCHNAME,然后再执行git stash apply,这样你之前在develop上写的代码就会转移到新的分支上了。
详细用法见:Git 工具 - 储藏(Stashing)

6.当git报“Git HEAD detached from XXX”时

最近,我在写代码时,想找回前几次提交的代码,里面有一些被删除了的代码想重新拿回来用,于是就用了git checkout xxx(某一次commit的id),好的我找到了旧代码。然后我又开始写了,这时问题来了,这样会开一个匿名的分支,而且你在这个分支上的push是无效的,终端上也会报“Git HEAD detached from XXX”。
解决方案:我们直接新建一个分支:git branch -b BANCHNAME,这样就保存了匿名分支,这样我们再回到我们正在开发的分支上,并且merge后push,最后再删除临时创建的分支。

7.修改某一次提交信息

git commit --amend

8.删除远程分支

git push origin --delete xxx

9.切换远程分支

git checkout -b 本地分支名x origin/远程分支名x

10. 移除无效远程关联分支

git remote prune origin

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

推荐阅读更多精彩内容