安装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可以是这三种之一。
跟踪文件的状态: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