目录
git clone
git clone [远程仓库地址] #clone下来保持原文件夹名
git clone [远程仓库地址] [想要重命名的文件夹名称] #clone重命名的文件夹名称
git checkout
git checkout迁出一个分支的特定版本。默认是迁出分支的HEAD版本
一此用法示例:
$ git checkout master #//取出master版本的head。
$ git checkout tag_name #//在当前分支上 取出 tag_name 的版本
$ git checkout master file_name #//放弃当前对文件file_name的修改
$ git checkout commit_id file_name #//取commit_id提交版本的file_name
$ git checkout -b dev/1.5.4 origin/dev/1.5.4
# 从远程dev/1.5.4分支取得到本地分支/dev/1.5.4
$ git checkout -- hello.rb
#这条命令把hello.rb从HEAD中签出.
$ git checkout .
#这条命令把 当前目录所有修改的文件 从HEAD中签出并且把它恢复成未修改时的样子.
#注意:在使用 git checkout 时,如果其对应的文件被修改过,那么该修改会被覆盖掉。
https://www.yiibai.com/git/git_checkout.html
git diff
git diff 忽略文件权限被修改的文件
不同场景的解决方法
让当前git库忽略掉文件权限检查
git config core.fileMode false
1
针对repo库可用如下命令解决
repo forall -c git config core.fileMode false
1
当前user全局设置忽略文件权限检查,可查看文件~/.gitconfig
git config --global core.fileMode false // 所有版本库
$ cat ~/.gitconfig
[user]
name = huping
email = huping@soundai.com
[http]
postBuffer = 524288000
[core]
compression = -1
fileMode = false
[color]
ui = auto
原文链接:https://blog.csdn.net/hp370440182/article/details/89278340
git add
git add -u <==> git add –update
提交所有被删除和修改的文件到数据暂存区
git add .
提交所有修改的和新建的数据暂存区
git add -A <==>git add –all
提交所有被删除、被替换、被修改和新增的文件到数据暂存区
- git add -A 提交所有变化
- git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
- git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git版本不同会有所区别:
链接:https://www.jianshu.com/p/65fb3fa62057
git pull --rebase
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
差距就在git fetch之后的操作:
现在来看看git merge和git rebase的区别。
rebase的好处是避免了菱形的产生,保持提交曲线为直线:
在master执行git merge test,然后会得到如下结果:
D--------E
/ \
A---B---C---F----G--- test, master
在master执行git rebase test,然后得到如下结果:
A---B---D---E---C‘---F‘--- test, master
详细说明:https://blog.csdn.net/bandaoyu/article/details/121507096
git pull
一般更推荐git pull --rebase,详情见git pull --rebase
git pull 将远程主机的最新内容拉下来到本地工作目录后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
git pull 的过程可以理解为:
git fetch origin master //从远程主机的master分支拉取最新内容
git merge FETCH_HEAD //将拉取下来的最新内容合并到当前所在的分支中
即将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为:
$ git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:
$ git pull origin next
//查询当前远程的版本
$ git remote -v
//直接拉取并合并最新代码
$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]
$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]
原文:https://blog.csdn.net/hanchao5272/article/details/79162130
<<<<<<< HEAD
本地代码
=====&