使用Git前,需要先建立一个仓库(repository)。您可以使用一个已经存在的目录作为Git仓库或创建一个空目录。
1、使用您当前目录作为Git仓库,我们只需使它初始化。
git init
使用我们指定目录作为Git仓库。
git init newrepo
从现在开始,我们将假设您在Git仓库根目录下,除非另有说明。
2、添加新文件
我们有一个仓库,但什么也没有,可以使用add命令添加文件。
git add filename
可以使用add... 继续添加任务文件。
3、提交版本
现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。
为此,我们将它们提交到仓库。
git commit -m "Adding files"
如果您不使用-m,会出现编辑器来让你写自己的注释信息。
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。
git commit -a -m "Changed some files"
git commit 命令的-a选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。
千万注意,-a不会造成新文件被提交,只能修改。
4、登入分支:
git config --global user.email "test@xx.com"
git config --global user.name "xxx"
5、发布版本
我们先从服务器克隆一个库并上传。
git clone ssh://example.com/~/www/project.git ./
现在我们修改之后可以进行推送到服务器。
拉取分支
git clone -b 分支 git地址
添加远程库地址
git remote add origin url
git push ssh://example.com/~/www/project.git
取回更新
如果您已经按上面的进行push,下面命令表示,当前分支自动与唯一一个追踪分支进行合并。
git push --set-upstream http://xxx.xxx:3000/test/test.git master
6、git pull
从非默认位置更新到指定的url。
git pull http://git.example.com/project.git
7、删除
如果你想从资源库中删除文件,我们使用rm。
git rm file
8、分支与合并
分支在本地完成,速度快。要创建一个新的分支,我们使用branch命令。
git branch test
branch命令不会将我们带入分支,只是创建一个新分支。所以我们使用checkout命令来更改分支。
git checkout test
第一个分支,或主分支,被称为"master"。
git checkout master
对其他分支的更改不会反映在主分支上。如果想将更改提交到主分支,则需切换回master分支,然后使用合并。
git checkout master
git merge test
如果您想删除分支,我们使用-d标识。
git branch -d test
查看所有分支
git branch -a
查看当前属于哪个分支
git branch -vv
查看远程分支
git branch -r
9、查看git的配置信息
git config -l
10、查看git状态
git status
11、显示远程仓库信息
git remote show
12、git配置换行符
在windows下面提交和linux提交的换行符不一样
windows中的换行符为 CRLF
而在linux下的换行符为LF,
在windows下直接回车就会出现这个提示,修改的办法是把 core.autocrlf 设置成false
git config --global core.autocrlf false
13、暂存区撤销 git撤销add
撤销某个文件或文件夹
git reset HEAD .idea/
撤销所有回到上一次
git reset HEAD
14、撤销修改和删除
git checkout -- filename 撤销某一个文件
例如
git checkout -- /var/www/test.py
撤销所有文件
git checkout -- .
15、git commit之后撤销
如果当commit提交后想撤销的话,这就需要revert命令。
git revert 命令是撤销某次操作,而在此次操作之前和之后的提交记录都会保留。
先用git log查询提交的id
git revert xxxxx-comitid
16、git 拉取防止重复输入密码的问题
文件方式:
a、在~/目录下面新增 .gitconfig 文件
填写如下内容,用户名,邮箱,系统保存第一次输入的
密码信息
[user]
email = test@xxx.com
name = xiaoming
[credential]
helper=store
b、第一次登入输入用户名,密码
c、查看~/根目录下,会发现生成了一个 .git-credentials 文件
内容如一下格式的串:
http://username:password@ip:port
d、再一次拉取代码,则不用再输入用户名和密码了
命令行方式:
0. 在你处于一个本地仓库中,马上要提交代码到远程仓库的时候开始执行下列命令;
1. git config --global credential.helper store
2. git config --global user.email "你的邮箱"
3. git config --global user.name "你的github用户名"
4. git push
5. 输入你的用户名、密码,这时候已经系统已经将你的用户名密码全局保存,以后就不必再输入了。
17、查看提交信息
a、查看远程链接信息
git remote -v
b、查看最近几条
git log -1
18、git回滚到指定版本
git log 获取提交的id号
然后执行下面的操作
git reset --hard 06c80f63420f422811c7e6df4a72eacf99d61e63
git status 查看能发现还有一些未更新的记录
git status
# On branch master
# Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
nothing to commit, working directory clean
19、修改git地址
直接修改.git文件夹下config文件
url = http://xxx.xxx.xxx.xxx:xxx/xx/xx.git
20、只拉取最后一个版本,防止由于版本过多,拉取消耗过多时间
--depth=1 只拉取最后一个版本
git clone -b 分支 --depth=1 地址 ./