1:配置个人信息
git config --global user.name "name"
git config --global user.email "xx@qq.com"
2:配置显示信息
git config --global color.ui auto #输出显示信息更易读
3:创建和添加密钥的方法
1:创建密钥
ssh-keygen -t rsa -b 4096 -C "397916230@qq.com"
然后会要求你输入一个你能记住的密码
产生的三个内容需要注意:
1: key fingerprint
2: .ssh/id_rsa文件 私有密钥
3: .ssh/id_rsa.pub文件 公开密钥
2: add to ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
3:向github中添加公开密钥
在自己的github帐号中添加了公开密钥之后,就可以用私有密钥进行认证了
在浏览器中登录github帐号->setting->SSH and GPG keys->add key
(title随机取名,key的来源是id_rsa.pub文件中的内容,注意该文件的所有内容到复制到github中)
4:在shell中使用私人密钥与github进行通信
ssh -T git@github.com
#这时会弹出一个对话框,让你输入密码,该密码为刚才创建密钥时输入的密码
4:常用小功能
watch: 关注某个项目的开发进展
following:关注某些程序员
follower:有哪些人关注你
5:在命令行中向已经建立好的空repository中添加文件README.md
echo "# firt try to create repository using cmd line" >> README.md
git init
git add README.md #添加文件到仓库中
git commit -m "firt commit" #提交文件时,添加的commit内容
git remote add origin https://github.com/huangtao00/First.git
git push -u origin master #push到上first.git这个仓库中 ,这一步要输入用户名,密码
6:向仓库中添加代码的流程
#还有一个更简单的方法,在浏览器中创建了仓库后,直接到cmd下git clone 之前创建的仓库即可
#注意在浏览器中clone时一定选择使用Clone with SSH,这样只用输入一次密码,查看第3部分)
git clone git@github.com:huangtao00/CoolQrobot.git
git status #查看一下当前本地创建的状态
#编写要添加的程序源码
#下面是添加源码到仓库中
git add hello.py
git commit -m "add hello.py to repository" #后面push到远程repo时,会显示的信息
git log #可以用来查看 你之前 在什么时间 提交过 commit
git push #这样就把刚才add and commit的文件和信息上传到了远程仓库
#下次要加入新的文件,或是旧的文件需要改变后 上传时,还是进行如下操作
git add filename
git commit -m "message"
git push
#如果自己改了很多文件,已经不记得哪些文件自己改过了,可以使用下面命令
#查看修改过,但是还没有被push到远程repo的文件
git status #主要是用来显示本地创建的当前状态
#如果当前目录中存在没有被添加到仓库中的文件时,该文件称为untracked files
#通过 git add命令把文件添加到repo中,此时git status可以看到 new file:
#如果git add之后,发现add的文件添加错了,使用下面的命令从stage中去除掉
git rm --cached filename
#然后再 git status时,可以发现文件又变成了 untracked files
#git commit的信息附到之前add的所有文件上
直接输入git commit时,vim会被打开,让你添加更加详细的提交信息
#当你输入git commit使用vim对之前add的文件添加了 提交信息后,后来又觉得这些commit信息写的有问题,可以用下面的命令回到没到commit的状态
git reset HEAD hello.py
#git log 查看什么人在什么时间进行了commit的操作
git log --pretty=short #对每个commit,只显示提交信息的第一行,方便观察
git log README.md #只显示与该文件有关的commit ,也可加目录
#记住 git log这个命令非常强大,有很多参数,因为开发人员经常要看一下,以前自己或团队对工程里的源码做过哪些修改,需要慢慢掌握这个工具
#如果我们改变了文件 但是没有add,这时文件改变状态 是在工作树中保存的
#如果我们把改变后的文件git add之后,这时,文件改变的状态 就同步到了暂存区
#再使用git diff 就看不到区别了
#这里有一点要注意的,文件在本地时,有两个空间 工作树空间,暂存区空间,
#工作树空间-->add -->暂存区空间--->push -->远程仓库
git diff HEAD,可以查看最近的一次文件做了哪些修改 ,就是在commit前,可以用这个命令来看,文件所做的修改,如果项目很大时,这个命令很有用的!!
#实际上我们操作时,可以把所有文件慢慢的add,commit了之后,
#然后通常 git log来看所有commit,
#最后需要上传到远程repo时,才调用push,不要一个文件发生改变后,马上push,没有必要
#文件改没改变,可以通常git status发现,然后git diff查看具体改变了什么
#删除远程仓库上文件的命令
git rm -f file
git commit -m "delete file"
git push
#删除暂存区空间上的文件
git rm --cached file
7:包含其它子repo的目录添加失败
git rm -r --cached some-directory
git commit -m "Remove the now ignored directory some-directory"
git push -u origin master
8:git免密提交
#不使用密钥,只是将密码cache到memory
# Set git to use the credential memory cache ,默认15分钟后失效
git config --global credential.helper cache
# Set the cache to timeout after 1 hour (setting is in seconds)单位是秒
git config --global credential.helper 'cache --timeout=3600'
9:代码追溯
git checkout <tag>
git log #to get sha number used below
git reset --hard <sha>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。