Git~笔记

git笔记

git push -u|--set-upstream origin master

-u, --set-upstream : 见本地分支和远程master分支进行关联,下次提交远程直接git push

git remote show

查看当前分支关联的远程仓库,显示远程仓库的别名。

git1(master): git remote show               
origin  

git remote show <远程仓库别名>

查看远程仓库详细信息。

git1(master): git remote show origin
* remote origin
  Fetch URL: https://github.com/tico-zl/gitpractice.git
  Push  URL: https://github.com/tico-zl/gitpractice.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

git reset HEAD ...

将加入到缓存区的文件移出

git ckeckout -b

创建分支develop并切换到该分支上。此时的develop分支只是存在于本地仓库,如果想将develop分支推送到远程仓库还需要执行git push --set-upstream|-u origin develop命令,表示与远程分支进行关联

git1(develop) ✗: git push      
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin develop

git1(develop) ✗: git push --set-upstream origin develop      
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/tico-zl/gitpractice/pull/new/develop
remote: 
To github.com:tico-zl/gitpractice.git
 * [new branch]      develop -> develop
Branch 'develop' set up to track remote branch 'develop' from 'origin'.
git1(develop) ✗: git push                              
Everything up-to-date

git config --global alias.
[!]branch

为命令配置别名,如上命令执行后,git br 就等同于git branch。命令前面加“!”表示执行一个外部命令。全局的配置会写到~/.gitconfig文件中

git config --global alias.br branch
git config --global alias.ui '!gitk'
# 文件.gitconfig
[alias]
    st = status
    last = log -1
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    ck = checkout
    br = branch
    commitm = commit
    adds = add
    ui = !gitk

git ckeckout -b develop origin/develop | git ckeckout --track origin/develop

这两个命令相同,表示创建本地分支develop并追踪远程分支origin/develop,然后切换到改分支。第一个命令可以创建本地分支名和远程分支不一样的名字,eg:git ckeckout -b develop1 origin/develop表示创建本地分支develop1并追踪远程分支origin/develop

git rm

这个命令完成两个操作:1,将文件从磁盘中删除;2,将文件从暂存区中移除。

git add .git add的区别

“.”会考虑.gitignore文件,“*“会将所有文件都都加入暂存区中

git合并原则:三方合并原则

git push origin :develop | git push origin --delete develop

两个删除远程分支的命令。 第一个命令的完整命令为git push origin srcBranch:destBranch,意思为将本地分支推送到远程分支,如果将冒号前面的分支删除,意味着将本地一个空的分支推送到远程分支develop上,即为将其删除。

git refspec详解

1. push操作的完整命令是:git push origin srcBranchs:destBranch
2. pull操作的完整命令是:git pull oirigin srcBranchs:destBranch
3. HEAD标记:HEAD文件是一个指向你当前所在分支的引用标识符,该文件内部并不包含SHA-1值,而是一个指向另外一个引用的指针
4. 当执行 git commit命令时,git会创建一个commit对象,并且将这个commit对象的parent指针设置为HEAD所指向的引用的SHA-1值
5. 我们对于HEAD修改的任何操作,都会被 git reflog完整记录下来
6. 实际上,我们可以通过git底层命令symbolic-ref来实现对HEAD文件内容的修改

git tag 标签

有两种类型的标签,一种是轻量级,一种是带注释。

轻量级:只有一个对commitId的应用;

带注释:会生成一个对象,包含了一个引用、名字和注释说明。

你可能感兴趣的:(Git~笔记)