1.git-基本用法

git

Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域

配置信息

查看配置

# 查看配置信息
$ git config user.name
$ git config user.email

修改配置

# 配置信息是新安装git后需要配置的

# 配置name
git config --global  user.name '[name]'

# 配置 email
git config --global  user.email '[email address]'


# 这个配置很重要,以后上传github,gitlib时,这个上传的显示 name 和 email, 

# 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。
# 每次commit都会用用户名和邮箱纪录。
# github的contributions统计就是按邮箱来统计的。


本地添加远程仓库

git remote add origin 远程仓库地址

设置忽略文件或目录

新建了一个.gitignore
# 添加需要忽略的文件路径

# 忽略 pycharm 版本信息
.idea/

创建项目

git init [project-name]
初始化

git clone [url]
从github,gitee 上抓取项目

基本操作

文件添加

查看文件状态
git status

提交到暂存储区
git add .

git add file1 file2

添加所有未跟踪文件用
git add -A

git commit -m '[dscriptive message]'

添加所有未跟踪文件并且提交用
git commit -a

上传到服务器
git push

文件删除

git pull origin master
下载到本地

删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2] ...

删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除
git rm -f <file>

分支

列出分支

列出本地分支

git branch

  • main
    master

列出远程分支

git branch -r

remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/master2

列出所有分支

git branch -a

  • main
    master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    remotes/origin/master2

创建和切换分支

创建本地分支

新建分支
git branch branch_name

新建并进入分支
git branch -b branch_name
-b 创建并切换分支

切换分支

git checkout branch_name

创建远程分支

git push origin [name]

远程没有分支> 将本地分支关联到远程origin上

推送本地的branch_name(冒号前面的)分支到远程origin的branch_name(冒号后面的)分支(没有会自动创建)

git push origin branch_name:branch_name

git push origin master_1:master_1

删除分支

删除本地分支

git branch -d [branch-name]

删除远程分支

git push origin --delete <BranchName>

合并分支

合并之前先要到合并后的 分支上
例如 将dedug分支 合并到 master上

git checkout master
git merge debug

合并冲突要手动合并解决

修改设置默认主分支

git branch --set-upstream-to=origin/master—_1 master

日志

# 获得历史修改记录
git log

# 简要日志
git reflog

git log --follow [file]

查看文件的修改内容
git diff 

git show

回滚

git reset [file]
撤销文件

git reset --hard  回滚号


git reflog
git reset --hard 回滚号

主要问题

git中新建分支后push时的"no upstream branch"问题
建立 本地和远程分支的联系

git branch --set-upstream-to=origin/master master
git pull
git config --global push.default current
git push -u

Git中push.default可以指定在没有明确指定远程分支的情况下,默认push的远程分支,其取值可以是:

  • nothing - push操作无效,除非显式指定远程分支
  • current - push当前分支到远程同名分支,如果远程同名分支不存在则自动创建同名分支(central 和 non-central workflows都适用)
  • upstream - push当前分支到它的upstream分支上(通常用于central workflow)
  • simple - simple和upstream是相似的(通常用于central workflow),只有一点不同,simple必须保证本地分支和它的远程 upstream分支同名,否则会拒绝push操作
  • matching - push所有本地和远程两端都存在的同名分支
There is no tracking information for the current branch

方法1

git checkout 指定分支
git pull  origin 指定分支

方法2

git branch --set-upstream-to=origin/newmaster  newmaster
posted @ 2021-11-27 20:10  贝壳里的星海  阅读(50)  评论(0编辑  收藏  举报