终于搞清楚了git https://www.git-scm.com/book/zh/v2

安装git,初次运行git的配置分三类从大到小的权限:针对库的( .git/config),针对用户的(~/.gitconfig),全局的(/etc/gitconfig ),可以使用 git config --list 命令来列出所有 Git 当时能找到的配置。

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址这些用户信息。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

Git 会使用操作系统默认的文本编辑器。

git支持多种数据传输协议。 上面的例子使用的是 https:// 协议,不过你也可以使用 git:// 协议或者使用 SSH 传输协议,比如 user@server:path/to/repo.git ,仓库的URL可以是这三种之一。

https://www.git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93

跟踪文件的状态:Untracked files   、Changes to be committed,Changes not staged for commit

状态简览

git status 命令的输出十分详细,但其用语有些繁琐。 Git 有一个选项可以帮你缩短状态命令的输出,这样可以以简洁的方式查看更改。 如果你使用 git status -s 命令或 git status --short 命令,你将得到一种格式更为紧凑的输出。

$ git status -s
 M README
MM Rakefile
A  lib/git.rb
M  lib/simplegit.rb
?? LICENSE.txt

新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 你可能注意到了 M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没被放入暂存区,出现在靠左边的 M 表示该文件被修改了并被放入了暂存区。 例如,上面的状态报告显示: README 文件在工作区被修改了但是还没有将修改后的文件放入暂存区,lib/simplegit.rb 文件被修改了并已将修改后的文件放入了暂存区。 而 Rakefile 在工作区被修改并提交到暂存区后又在工作区中被修改了,所以在暂存区和工作区都有该文件被修改了的记录。

--------------------

git使用方式:

本地仓库,远程仓库,本地仓库有工作区,就是咱们看到的,还有暂存区和版本区,都在.git里面。

本地仓库关联远程仓库

本地仓库关联远程仓库方式1:可以从远程clone出来本地仓库;git clone URL 新名字 或者git clone -b 分支名 URL 新名字

本地仓库关联远程仓库方式2:也可以本地建好仓库,关联到远程仓库:

git remote add origin [email protected]:YANGZHEN1/consoleES3000.git,

git push -u origin master(关联并推送本地master分支);

           从现在起,只要本地作了提交,就可以通过命令git push origin master把本地master分支的最新修改推送到github上了

本地仓库关联远程仓库方式3:还可以重新关联远程仓库;       

               git remote rm origin 

               git remote add origin 远程仓库地址

      git add .
      git commit
      git push -u origin master

本地分支关联远程分支

          git branch dev 创建分支dev

          git checkout dev切换分支dev

分支关联方式一:可以”将远程git仓库里的指定分支拉取到本地(本地不存在的分支)”,

git checkout --track origin/branch_name

分支关联方式2:也可以“推送本地分支到远程仓库”

$  git checkout -b feature-branch    //创建并切换到分支feature-branch  
$  git push origin feature-branch:feature-branch    //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)

或者:

.如果本地新建了一个分支 branch_name,但是在远程没有。

这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。

git push --set-upstream origin branch_name

本地分支如何工作:

在本地仓库工作,切换到一个分支git checkout [分支名]:git add --all   然后git commit -a -m “massage” 然后git push orginal 分支名

删除本地分支

git branch -d branch_name

删除远程分支

git branch -r -d origin/branch-name 

合并分支到master上:

 首先切换到master分支上

git  checkout master
如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master
然后我们把dev分支的代码合并到master上

git  merge dev
然后查看状态

git status
————————————————
版权声明:本文为CSDN博主「小豆角」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013755520/article/details/104630943

git diff三种对比

1. git diff
将工作区中某个文件和暂存区的比较。

2.git diff –cached
将暂存区中的某个文件和分支上的作比较。

3.git diff HEAD –
将工作区中的某个文件与分支上的作比较。

--------------------------------------

Command line instructions

Git global setup

git config --global user.name "YANGZHEN1"
git config --global user.email "[email protected]"

Create a new repository

git clone [email protected]:YANGZHEN1/ES3000.git
cd ES3000
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder or Git repository

cd existing_folder
git init
git remote add origin [email protected]:YANGZHEN1/ES3000.git
git add .
git commit
git push -u origin master
发布了241 篇原创文章 · 获赞 25 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u013755520/article/details/103719509